Skip to content

Articles tagged “mlops”

← All articles

No Queue Until It Is Needed: A YOLO Vision Platform That Grew by Evidence

By Marco A. Parra on Oct. 27, 2026 · 4 min read

An internal platform for YOLO training and inference started with an uncomfortable decision: the web layer waited with the connection open while the GPU worked, with no task queue. This post explains why, how every limit was written down together with the signal that would make it unacceptable, and what was built, and what was not, when those signals arrived.

architecturecomputer-visiondjangofastapimlopsyolo

Read More →

Show Code


views.py Code

def tag_index(request, tag):
    # Las etiquetas antiguas van en mayúscula ("Python") y las nuevas en minúscula: se
    # comparan sin distinguir, y se muestra el valor canónico en minúscula.
    queryset = published_posts().filter(tags__value__iexact=tag).distinct()
    return _listing(request, queryset, tag_index, tag=tag.lower())


def published_posts():
    return Post.objects.filter(published_at__lte=timezone.now())


def _listing(request, queryset, view, tag=None):
    """Listado paginado: una entrada por artículo en el idioma activo.

    `view` es la vista que llama (index o tag_index): su "Show Code" enseña esa
    vista, la consulta de publicados y este listado, que es donde está el trabajo.
    """
    posts = pick_language(
        queryset.select_related("author").prefetch_related("tags"), translation.get_language()
    )
    page_obj = Paginator(posts, POSTS_PER_PAGE).get_page(request.GET.get("page"))
    logger.debug("Got %d posts (page %s)", len(posts), page_obj.number)
    return render(request, "blog/index.html", {
        "posts": page_obj.object_list, "page_obj": page_obj, "tag": tag,
        **show_code([view, published_posts, _listing], "blog/index.html"),
    })

Template

{% extends "base.html" %}
{% load blog_extras i18n static %}
{% block title %}{% trans "Blog" %} | Marco A. Parra F.{% endblock %}
{% block meta_description %}{% trans "Engineering notes on computer vision, backend architecture and industrial operations, each tied to a real project." %}{% endblock %}
{% block og_title %}{% trans "Blog" %} — Marco A. Parra F.{% endblock %}
{% block og_description %}{% trans "Engineering notes on computer vision, backend architecture and industrial operations, each tied to a real project." %}{% endblock %}
{% block extrahead %}
    {% get_current_language as FEED_LANGUAGE %}
    <link rel="alternate" type="application/atom+xml" href="{% url 'blog_feed' FEED_LANGUAGE %}" title="Atom">
{% endblock %}
{% block content %}
{% get_current_language as CURRENT_LANGUAGE %}
<div class="container blog-list py-4">
    {% if tag %}
        <h1 class="text-center mb-2">{% blocktrans %}Articles tagged “{{ tag }}”{% endblocktrans %}</h1>
        <p class="text-center text-muted mb-4"><a href="{% url 'blog_index' %}">← {% trans "All articles" %}</a></p>
    {% else %}
        <h1 class="text-center mb-4">{% trans "Blog Posts" %}</h1>
    {% endif %}
    {% for post in posts %}
        <article class="blog-entry py-4 border-bottom">
            <div class="d-flex gap-3 align-items-start">
                {% if post.hero_image %}
                    <a href="{% url 'blog-post-detail' post.slug %}" class="flex-shrink-0 d-none d-sm-block" tabindex="-1" aria-hidden="true">
                        <img src="{{ post.hero_image.thumbnail.100x100.url }}" alt="" class="rounded blog-thumb">
                    </a>
                {% elif post.hero_static %}
                    <a href="{% url 'blog-post-detail' post.slug %}" class="flex-shrink-0 d-none d-sm-block" tabindex="-1" aria-hidden="true">
                        <img src="{% static post.hero_static %}" alt="" class="rounded blog-thumb">
                    </a>
                {% endif %}
                <div class="flex-grow-1">
                    <h2 class="h3 mb-1">
                        <a href="{% url 'blog-post-detail' post.slug %}" class="text-reset text-decoration-none">{{ post.title }}</a>
                        {% if post.language != CURRENT_LANGUAGE %}
                            <span class="badge bg-secondary align-middle fs-6"
                                  title="{% trans "This article is only available in this language" %}">{{ post.language|upper }}</span>
                        {% endif %}
                    </h2>
                    <p class="blog-meta text-muted small mb-2">
                        {% include "blog/post-byline.html" %}
                        · {% blocktrans count n=post.content|reading_time %}{{ n }} min read{% plural %}{{ n }} min read{% endblocktrans %}
                    </p>
                    <p class="blog-summary mb-2">{{ post.summary }}</p>
                    {% include "blog/post-tags.html" %}
                    <a href="{% url 'blog-post-detail' post.slug %}" class="btn btn-sm btn-outline-dark">{% trans "Read More" %} →</a>
                </div>
            </div>
        </article>
    {% empty %}
        <p class="text-muted">{% trans "No articles yet." %}</p>
    {% endfor %}
    {% if page_obj.paginator.num_pages > 1 %}
    <nav class="d-flex justify-content-between align-items-center pt-4" aria-label="{% trans "Pagination" %}">
        {% if page_obj.has_previous %}
            <a class="btn btn-sm btn-outline-dark" href="?page={{ page_obj.previous_page_number }}">← {% trans "Newer" %}</a>
        {% else %}<span aria-hidden="true">&nbsp;</span>{% endif %}
        <span class="text-muted small">{% blocktrans with n=page_obj.number m=page_obj.paginator.num_pages %}Page {{ n }} of {{ m }}{% endblocktrans %}</span>
        {% if page_obj.has_next %}
            <a class="btn btn-sm btn-outline-dark" href="?page={{ page_obj.next_page_number }}">{% trans "Older" %} →</a>
        {% else %}<span aria-hidden="true">&nbsp;</span>{% endif %}
    </nav>
    {% endif %}
</div>

{% include 'partials/_show_code.html' %}
{% endblock %}