Eduardo Zepeda's latests posts
Multi Tenant Architecture in Software: What Is It and Its Databases Patterns
- software architecture
- databases
<p>The <strong>multi tenant architecture</strong> is a software architecture (Don't confuse it with a <a class="markdown-link" href="https://coffeebytes.dev/en/python/design-patterns-in-software/">design pattern</a> or <a class="markdown-link" href=...
Read more
I took advantage of an error in the code of a dating app
- javascript
- software architecture
<p>While using a Tinder-style dating app, one of those in which, after a mutual like, the application puts the people involved in contact, I noticed that, to promote their premium plan, they used obfuscated blurred pictures to introduce you to the people who had pressed the Like ...
Read more
You Could Lose All Your Crypto In a Job Interview
- opinion
<p>The other day I was browsing Elon Musk's political propaganda machine, also known as X, and came across this gem of human shamelessness, an interviewer who nearly hacked one of his applicants.</p><div class="google-ads-container-8672022193"> <in...
Read more
What makes Rust so difficult to learn?
- rust
- opinion
<p>I started learning Rust, and everything I read on the internet about its learning curve is true. Rust is difficult, not impossible, just difficult. But now I also <strong>understand why the obsession with this programming language</strong>. After finishing Rust's book I ...
Read more
Google Notebooklm Will Reshape The Podcast Scenario Forever
- opinion
- artificial intelligence
<p>I just tried Google Notebooklm, and this feeling of novelty and excitement took over my mind. Similar to a child receives what he asked for for Christmas. However, I didn't ask for this tool to exist, but here it is anyway.</p><h2 id="google-notebooklm-lets-you-crea...
Read more
Be careful of Shiny Object Syndrome and FOMO in web development
- opinion
- javascript
<div class="google-ads-container-8672022193"> <ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-4250730649804995" data-ad-slot="86720...
Read more
Don't Use Github To Evaluate Developers It Is Naive
- git
- opinion
<p>If you are one of those who use Github contributions to evaluate your candidates, or clients, I'll explain why it's not necessarily a good idea.</p><p>It is common practice to use Github to assess a developer's capabilities, but to do so blindly, ignorin...
Read more
Fix slow queries in Django when using annotate and subqueries
- django
- databases
<p>Django's ORM is quite useful and versatile, it can perform most of the common SQL operations, such as filtering, partitioning, joins or sorting information, creating aliases, but it also has its limitations, especially when combined with subqueries, today I'll tell...
Read more
How to improve Django Framework?
- django
- opinion
<p>On June 21, 2024 I started a thread on reddit with the following question: “What would you improve about Django framework?”. The response from the community was immediate and the conversation quickly filled up with suggestions on how to improve Django framework, ra...
Read more
After having a couple of matches I noticed that the obfuscated pictures belonged to real accounts, that is, they were not a set of generic images or placeholders.
","datePublished":"Fri, 03 Jan 2025 20:36:36 -0600","dateModified":"Fri, 03 Jan 2025 20:36:36 -0600","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/javascript/i-took-advantage-of-an-error-in-the-code-of-a-dating-app/"}},{"@type":"BlogPosting","headline":"You Could Lose All Your Crypto In a Job Interview","description":"The other day I was browsing Elon Musk’s political propaganda machine, also known as X, and came across this gem of human shamelessness, an interviewer who nearly hacked one of his applicants.
Running malware in job interviews.
The story goes like this: you’re in need of a job, you’re attending the interview remotely, the recruiter asks you to clone a Github library to find bugs in the code, an average interview for a developer position, all looks normal up to this point. Of course you, in need of a good job, decide to go through with the process.
","datePublished":"Sat, 14 Dec 2024 22:24:22 -0600","dateModified":"Sat, 14 Dec 2024 22:24:22 -0600","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/opinion/you-could-lose-all-your-crypto-in-a-job-interview/"}},{"@type":"BlogPosting","headline":"What makes Rust so difficult to learn?","description":"I started learning Rust, and everything I read on the internet about its learning curve is true. Rust is difficult, not impossible, just difficult. But now I also understand why the obsession with this programming language. After finishing Rust’s book I had a glimpse of the programming language that I will try to accurately capture in the following paragraphs.
If you already know what makes Rust so difficult and you’re looking to learn it instead, skip to the final part of this post where I recommend some useful resources to learn Rust.
","datePublished":"Wed, 16 Oct 2024 19:15:56 -0600","dateModified":"Wed, 16 Oct 2024 19:15:56 -0600","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/rust/what-makes-rust-so-difficult-to-learn/"}},{"@type":"BlogPosting","headline":"Google Notebooklm Will Reshape The Podcast Scenario Forever","description":"I just tried Google Notebooklm, and this feeling of novelty and excitement took over my mind. Similar to a child receives what he asked for for Christmas. However, I didn’t ask for this tool to exist, but here it is anyway.
Google Notebooklm lets you create a podcast from your notes
You’ve probably already heard of this tool, and if you haven’t, I’ll explain below.
","datePublished":"Tue, 01 Oct 2024 12:32:42 -0600","dateModified":"Tue, 01 Oct 2024 12:32:42 -0600","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/opinion/google-notebooklm-will-reshape-the-podcast-scenario-forever/"}},{"@type":"BlogPosting","headline":"Be careful of Shiny Object Syndrome and FOMO in web development","description":"With all the rapid changes happening in web development: frameworks, languages, tools, libraries, etc. It is inevitable to suffer a bit of Shiny Object Syndrome and some FOMO. But it is convenient to identify these impulses and their nature to avoid suffering the consequences of ignoring them.
Shiny Object Syndrome in web development
Shiny Object Syndrome (SOS from now on) is the tendency to be distracted by a new idea or trend. In web development this idea or trend could be anything: a new framework, a new language, a new editor, etc. Let me explain it with an example.
","datePublished":"Sun, 08 Sep 2024 00:00:00 +0000","dateModified":"Sun, 08 Sep 2024 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/opinion/be-careful-of-shiny-object-syndrome-and-fomo-in-web-development/"}},{"@type":"BlogPosting","headline":"Don't Use Github To Evaluate Developers It Is Naive","description":"If you are one of those who use Github contributions to evaluate your candidates, or clients, I’ll explain why it’s not necessarily a good idea.
It is common practice to use Github to assess a developer’s capabilities, but to do so blindly, ignoring the following set of factors, would make your ignorance cost you access to candidates with greater potential and experience in the workings of the software world.
An empty github does not mean someone is incompetent.
“Absence of evidence is not evidence of absence” or, put in other words, just because a person doesn’t have excellent quality code on Github, doesn’t mean they can’t write it.
","datePublished":"Tue, 06 Aug 2024 10:13:25 -0600","dateModified":"Tue, 06 Aug 2024 10:13:25 -0600","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/git/dont-use-github-to-evaluate-developers-it-is-naive/"}},{"@type":"BlogPosting","headline":"Fix slow queries in Django when using annotate and subqueries","description":"Django’s ORM is quite useful and versatile, it can perform most of the common SQL operations, such as filtering, partitioning, joins or sorting information, creating aliases, but it also has its limitations, especially when combined with subqueries, today I’ll tell you about one of its limitations and how to solve it.
Despite its few weaknesses, its ORM is one of the reasons why you should use Django .
Django annotate and subqueries, a performance problem
The Django annotate function, which I already told you about in a post where I explain the differences between annotate and aggregate in Django, is used to add information to a SQL query, this information can be some data’s average, a sum or anything else you want, the thing is that, once you start using subqueries in annotate, things can get really messy.
","datePublished":"Fri, 12 Jul 2024 23:51:01 -0600","dateModified":"Fri, 12 Jul 2024 23:51:01 -0600","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/django/fix-slow-queries-in-django-when-using-annotate-and-subqueries/"}},{"@type":"BlogPosting","headline":"How to improve Django Framework?","description":"On June 21, 2024 I started a thread on reddit with the following question: “What would you improve about Django framework?”. The response from the community was immediate and the conversation quickly filled up with suggestions on how to improve Django framework, ranging from modest to quite radical. I summarize the results below.

HTMX meme
Would type hints improve Django Framework?
This was the comment that received the most support from the community. Although Python already has optional Type Hints since version 3.5, it seems that implementing them for the purpose of modernizing Django Framework does not seem to be a priority.
","datePublished":"Sun, 23 Jun 2024 00:00:00 +0000","dateModified":"Sun, 23 Jun 2024 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/django/how-to-improve-django-framework/"}},{"@type":"BlogPosting","headline":"Go Programming Language Tutorial","description":"I wrote a series of entries trying to serve as a guide an introduction to learn the Go programming language. This tutorial requires you to know at least the basis of programming, so it’s probably a good idea to read this only if you’re learning Go as your second or third programming language. This content goes from Go’s basic syntax to advances uses as signal catching or containerization.
Go language introduction and Basic Syntax
Introduction to the Go programming language, native data types, variables, the controversy around this language, the good, the bad, the ugly and even a glimpse to its popular, and sometimes hated, mascot.
","datePublished":"Sat, 08 Jun 2024 14:10:45 -0600","dateModified":"Sat, 08 Jun 2024 14:10:45 -0600","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/pages/go-programming-language-tutorial/"}}]}