Blogging about things while I try to understand them.

All of my long-form thoughts on programming (Python, Rust, Go), the Web, CLI/TUI Tools, and more.

Live Location tracking with Telegram

We recently launched a new feature in HelpYouFind.Me, it's built on top of Telegram Bot Platform, and uses Python Telegram Bot as a wrapper, I'm happy to introduce Footsteps. The Implementation The first thing you need to know is that Python-Telegram-Bot has something called "filters", and well filters are …

Multiple SSH Keys on Git Accounts

Hi, In this post we'll explore how to use different SSH keys and pair them with an specific git account. The first thing that we'll do is create two different SSH keys: $ ssh-keygen -t rsa -C 'your_email@youremail.com' We'll execute that command the number of times that we want …

pyproject.toml en esteroides con Hatch

Si alguna vez te has visto en la necesidad de compartir tu código con el resto del internet, es muy probable que te haya tocado interactuar con un archivo llamado setup.py. Pues bien, de un tiempo acá esta era la forma que se usaba para empaquetar y distribuir paquetes …

Django Query Expressions

Hola. Esta es la primera entrada de una serie de post en donde hablaremos sobre las query expression en Django, o mejor dicho, cómo hacer querysets mas avanzadas o complejas que se asemejan en su mayoría a SQL. En Django puedes realizar consultas a la base de datos de tres …

Custom .vimrc configuration folder

To achieve this we need special attention to the autoload folder and to the various plugins folders. I wanted to move all vim configurations to the more (now) standard directory .config that is supposed to be used by all applications (even than some of them do not use it) and …

JavaScript Templates with Django Pipelines

In a modern world where building apps based on components with a lot of JavaScript in the middle, sometimes we end shipping a more code that the end Users will ever use. Do you remember, back in the 00's when we use AJAX to bring "real time" to the website …

Extending django-oauth-toolkit | Part 2

NOTE: You can read here the first part of this blog post. In the past blog post we learned how to extend the ApplicationModel from Django-oauth-toolkit now we need to do a few extra things to get this done. If you have extended the model properly you'll see that the …

Extending django-oauth-toolkit

NOTE: You can read here the next part of this blog post. I am building a REST API with Django, recently I had to do some work with Django-rest-framework and Django-oauth-toolkit, this works consist on using authentication tokens to fetch different schemes from the database; but this is not that …

FullText Search en Django con Postgres

NOTE: If you want to read the english version of this post, please go to the Netlandish Blog. «Search». La empresa más exitosa en la historia de Internet se hizo famosa resolviendo eso, la búsqueda... Aunque es un concepto simple, la búsqueda es algo en lo que muchos de nosotros …

Async CSS with Django Pipelines

The simplest way to load a CSS file in an HTML document is to use a link element with rel="stylesheet": <link rel="stylesheet" href="mycssfile.css"> Referencing CSS this way works great, but it comes with a downside: it’s synchronous. In other words, with a typical …

Distributing PyPI Packages using API Tokens in TravisCI

NOTE: If you want to read the english version of this post, you can find it on my Dev.To profile. El codigo de ejemplo está disponible en GitHub. PyPI es una de las herramientas que hace que Python sea tan poderoso, con solo un simple comando, obtienes acceso a …

PyPI API Tokens

Sí, el titulo no miente, PyPI ahora ofrece tokens para cargar nuestras librerías al registro, y si alguna vez intentaste automatizar este proceso usando algún servicio de CI/CD como Travis es muy probable que no te sientas tan cómodo compartiendo tus contraseñas y que esta sea la mejor noticia …

Turbolinks and Django

Last revision Oct. 19, 2020 Spanish version click here What is Turbolinks? Turbolinks is a gem included in Ruby on Rails that avoids having to reload the CSS and JavaScript files each time you click on a link in your application, making this feel faster and more agile in the …

Turbolinks y Django

Ultima revision Oct. 19, 2020 Version en ingles click aquí ¿Que es Turbolinks? Turbolinks es una gema incluida en Ruby on Rails que evita tener que recargar los archivos CSS y JavaScript cada vez que oprimes un link en tu aplicación, haciendo que la navegación se sienta más rápida y …

Netlandish Year One

Has been 365 days since I started working for Netlandish Inc. I can’t imagine how much in time it is, well, actually I know, but let’s talk about my journey and all the things that I’ve learned so far, because its the fun part, trust me. So …

Predicción de resultados de fútbol | Parte 3

Antes que nada, agradecerte por haber llegado hasta aquí y por completar las entradas anteriores. Esta entrada es la ultima de una serie de tres, sobre como usar la Distribución de Poisson para predecir resultados o marcadores en X partido de futbol. Como descubrimos en las entradas anteriores, un modelo …

Predicción de resultados de fútbol | Parte 2

En el post anterior hablamos sobre como determinar los goles marcados por "X" equipo en un partido de futbol, en este nuevo post veremos como automatizar este proceso. Primero necesitamos encontrar una fuente de datos, que contenga los resultados a utilizar para calcular los marcadores; el sitio de deportes Marca …

Predicción de resultados de fútbol | Parte 1

Es 06 de Noviembre del 2018 y estoy regresando a casa después de haber participado en el DevFest CR 2018 organizado por la comunidad GDG Pura Vida en este evento estuve participando en nombre de la comunidad GDG Managua con una charla + taller sobre inteligencia artificial, en la cual expliqué …

Django Places V3

This is the most important release of Django Places, the project was inactive for almost one year and surprisingly the GeoComplete lib was archived and not maintained anymore in favor of the "new" React GeoSuggest. This was a huge problem because the app started to have some bugs with maps …

Python F Strings

Since Python3.6 a new way for format strings was introduced, more readable, concise, and less prone to erros, and yes! FASTER. The f-string aka Literal String Interpolation was introduced in the PEP 498 by Eric V. Smith, for provide a way to embed expressions inside string literals, using a …

Django-Places v2

Following with the development of my small app, today I released the version 2. This version add supports for Django 1.11 new widgets API and the new included and required API KEY for Google Maps, also includes the following fixes: Update field max length. Python2 unicode/decode error. Use …

VirtualenvWrapper auto cd

Virtualenv is a tool to create isolated Python environments for manage dependencies and versions, and indirectly permissions in your Python apps. In comparison to Virtualenv, Virtualenvwrapper is a set of extensions for creating and deleting virtual environments and otherwise managing your development workflow Sometimes, manage your environments with Virtualenvwrapper could …

Django Test Tags

The Oxford Dictionary describes the word tag as: a label attached to someone or something for the purpose of identification or to give other information. In the world of computers and the internet is defined like: A word, phrase, or name used to identify digital content such as blog and …

Git Dir

With git 2.13 you get a feature called conditional includes This means that I can have git automatically apply the correct name and email address to my commits and I can keep my current source directory layout on my machine. Let's imagine that you have a folder structure like …

React Pure Component

There's a lot of ways for creating React components, one of these methods is using a "Pure" component. This new component was released on June 29, 2016 in v15.3 which replaces it's predecessor pure-render-mixin. PureComponent is one of the most significant ways to optimize React applications because is easy …

Django Choices mejores practicas

Un modelo es la única y definitiva fuente de datos sobre los datos. Contiene los campos esenciales y comportamientos de la información que este almacena. Una gran cantidad de casos de uso común implica un campo en modelo que necesita aceptar los valores de un conjunto limitado de opciones; por …

Pyenv y Virtualenv

Python 3 ha estado ahí desde hace algún tiempo, pero la principal excusa por no usarlo siempre ha sido la falta de apoyo de los proyectos de 3ro en parte. En 2014-2015 esto cambió drásticamente y parece que es un buen momento para empezar a hacer algo serio con Python …

Django-Places v1

Releasing the first stable version of Django Places, CodeName: Gingery Apple Sundaes. It's a simple app for store places with autocomplete support and a related map. Why? The main purpose of this app was, bring to the admin a simple way to store a Point with: Name, Latitude, and Longitude …

Intro a Web Components

Hace un par de semanas atras hablaba con un amigo desarrollador y fundador de Kakao Media (Hola Erick!) sobre el estado de la web y los futuros proyectos; curiosamente tocamos el tema de Web Components y antes de comenzar a hablar algunas cosas que debatiamos y exteriorizar mis reflexiones... ¿Que …

Bootstraped Virtualenvs

Las aplicaciones en Python usualmente hacen uso de paquetes y módulos que no forman parte de la librería estándar y a su vez estas hacen uso de versiones muy especificas de cada librería. Una instalación común de python, quizás no de abasto para que pueda cumplir con los requerimientos de …