Joel Perca
Menu

Blog · 6 entries

Writing from the lab

Notes from research and engineering: urban video understanding, vision-language and retrieval systems, visual analytics, and the tooling that ships them.

Explore

All posts

Tags
AI16m

EmbeddingGemma 2: one sub-1B model for text, code, images, video and audio

Google's open embedding model puts text, code, images, video and audio in one 768-d space at 740M params. Where it beats SOTA, where it doesn't, how to run it.

embeddingsmultimodalragllm
AI8m

AI agent harnesses: the system around the model

What an AI agent harness actually does: the model–tool loop, context, state, permissions, and feedback that turn a capable model into a dependable agent.

llmagentsai-engineeringtooling
AI11m

PydanticAI vs. LangChain vs. LlamaIndex: picking an agent framework in 2026

PydanticAI vs. LangChain/LangGraph vs. LlamaIndex for production LLM agents: type safety, tool calling, retrieval, observability, and where each one breaks.

pythonllmagentspydantic-ai
Tooling8m

Copier vs. Cookiecutter: why your project templates should be living, not frozen

Copier vs. Cookiecutter for project scaffolding: why Copier's update story makes it the default for long-lived templates, with examples and migration notes.

pythoncopiercookiecuttertemplates
Tooling7m

Dagster vs. Airflow and Prefect: why asset-based orchestration wins

Dagster vs. Airflow, Prefect and Flyte for data and ML pipelines: why asset-based orchestration beats task DAGs, with code, a cost model and migration notes.

data-engineeringdagsterairflowprefect
Tooling7m

uv vs. conda and virtualenv: why the Rust-based Python installer wins

uv vs. conda vs. virtualenv/pip: why the Rust-based uv is becoming the default Python toolchain for engineers and ML teams, with benchmarks and migration tips.

pythonuvpackagingdevtools