Pandas Styler: Mejora la presentación de tus DataFrames

Posted on Thu 25 December 2025 in Programación • Tagged with pandas, python, data-science, visualizacion, estilo

Descubre cómo el objeto Styler de Pandas te permite aplicar formato condicional y estilos CSS a tus DataFrames para una mejor visualización y presentación de datos.


Continue reading

Reduce el Ruido en tus Logs de Python: Un enfoque inteligente

Posted on Thu 25 December 2025 in Programación • Tagged with python, logging, logs, depuracion, desarrollo

Aprende a configurar el módulo logging de Python para evitar la sobrecarga de mensajes de librerías de terceros, manteniendo tus logs limpios y útiles.


Continue reading

Poe the Poet: Automatizando tareas en proyectos Python con uv

Posted on Thu 25 December 2025 in Programación • Tagged with python, uv, poethepoet, automatizacion, pyproject.toml

Descubre cómo Poe the Poet te permite definir y ejecutar comandos personalizados directamente desde tu pyproject.toml, optimizando tu flujo de trabajo en entornos uv.


Continue reading

Cómo uso git worktrees para trabajo concurrente

Posted on Wed 23 July 2025 in Programación • Tagged with git, worktrees, flujo-trabajo, productividad

Un enfoque práctico para usar git worktrees y maximizar la productividad con múltiples contextos de trabajo simultáneos


Continue reading

Búsqueda híbrida con SQLite: vector + texto completo

Posted on Sun 06 October 2024 in Programación • Tagged with sqlite, búsqueda, vectores, fts, sql

Combinando búsqueda vectorial y texto completo en SQLite usando Reciprocal Rank Fusion para obtener mejores resultados


Continue reading

Conflación de datos geoespaciales con DuckDB y embeddings

Posted on Tue 01 October 2024 in Programación • Tagged with duckdb, geoespacial, embeddings, ollama, h3

Técnicas avanzadas para integrar fuentes de datos geoespaciales usando DuckDB, H3, Ollama y modelos de embeddings


Continue reading

HTTPX: Cliente HTTP moderno para Python

Posted on Mon 23 September 2024 in Programación • Tagged with python, http, httpx, async, requests

HTTPX emerge como el sucesor natural de requests, ofreciendo soporte async, HTTP/2 y una API moderna para aplicaciones Python contemporáneas


Continue reading

Server-Sent Events: Comunicación en tiempo real simplificada

Posted on Mon 23 September 2024 in Programación • Tagged with javascript, sse, tiempo-real, web-apis

Server-Sent Events ofrece una alternativa simple y eficiente a WebSockets para comunicación unidireccional servidor-cliente en aplicaciones web


Continue reading

Repitiendo una función con hilos

Posted on Sun 03 May 2015 in Programación • Tagged with python

Vamos a utilizar hilos en python para ejecutar periodicamente una función


Continue reading

Cierra Google Code

Posted on Fri 13 March 2015 in Programación • Tagged with python

Lo dicho, Google anunció el cierre de Google Code.

Hoy mismo recibí el correo avisandome (tenía un proyecto de prueba alojado allí) de que podía mover mis proyectos de forma simple a github, el repositorio de facto hoy en día del software libre (lo siento por bitbucket y sobre todo …


Continue reading

pgcli el descubrimiento de hoy

Posted on Mon 02 March 2015 in Programación • Tagged with postgresql

postresql command line


Continue reading

Decorador vista ajax

Posted on Fri 21 November 2014 in Programación • Tagged with python, django

Para obligar que una vista django sea llamada sólo mediante llamamas AJAX.

def ajax_required(f):
    """
    AJAX request required decorator
    use it in your views:

    @ajax_required
    def my_view(request):
        ....

    """
    def wrap(request, *args, **kwargs):
        if not request.is_ajax():
            return HttpResponseBadRequest()
        return f(request, *args, **kwargs)
    wrap.__doc__ = f.__doc__
    wrap.__name__ …

Continue reading

Función genérica para usar como upload_to

Posted on Sat 11 October 2014 in Programación • Tagged with django, python

Los FileField en django necesitan ana función upload_to que determine donde se subirá el fichero. Yo suelo tener en utils.py una función genérica que los deja en una subcarpeta con el nombre del modelo.

import os

def generic_upload_to(instance, filename):
    """
    Generic `upload_to` function for models.FileField and models.ImageField …

Continue reading

Django: enlaces en listado de objectos

Posted on Wed 21 May 2014 in Programación • Tagged with django, python

En mis proyectos suelo usar enlaces a elementos relacionados en el change_list del admin.

Ficheros

utils.py

Tengo esto en utils.py

from django.contrib import admin
from django.contrib.contenttypes.models import ContentType
from django.core import urlresolvers
from django.utils.datastructures import SortedDict
from …

Continue reading

Settings vars processor

Posted on Wed 08 January 2014 in Programación • Tagged with python, django

Lo suelo usar durante el principio de los proyectos.

from django.conf import settings as django_settings
from django.core.exceptions import ImproperlyConfigured


def settings(request):
    """
    Adds the settings specified in settings.TEMPLATE_VISIBLE_SETTINGS to
    the request context.
    """
    new_settings = {}
    for attr in django_settings.TEMPLATE_VISIBLE_SETTINGS:
        try:
            new_settings[attr] = getattr(django_settings, attr)
        except AttributeError …

Continue reading

Depurando Tomcat

Posted on Wed 24 October 2012 in Programación • Tagged with java

Se usa Java Platform Debuging Architecture JPDA https://confluence.sakaiproject.org/display/BOOT/Setting+Up+Tomcat+For+Remote+Debugging

Autorelad en plone

Posted on Fri 27 July 2012 in Programación • Tagged with zope

Otro recordatorio. Para recargar mientras desarrollo una browserview en plone:
$ when-changed.py *.py -c wget -q -O /dev/null  \
http://admin:admin@localhost:8080/@@reload?action=code
Basta pues con usar when-changed y plone.reload Se que existen extensiones  para el navegador  que recargan una  pestaña cuando cambia un fichero …

Continue reading

scp con compresión

Posted on Fri 04 March 2011 in Programación • Tagged with linux, zope

La mejor forma de descargar una zodb:
scp -C -o CompressionLevel=9 user@yoursite.com:~/plonefolder/zinstance/var/filestorage/Data.fs .
Leído en: http://blog.mfabrik.com/2011/03/02/scp-file-copy-with-on-line-compression/

Zen Coding y komodo edit

Posted on Fri 15 October 2010 in Programación • Tagged with zope

Mi editor favorito Komodo Edit tiene un plugin de Zen Coding y este funciona muy bien también con plantillas zpt. Por ejemplo: Así una expresión como la siguente
dl>tal:rep[tal:repeat]>dt+dd
Se convierte en el siguiente trozo de html con los nesesarios tabstops:
Muy pero que …

Continue reading

Progreso en un reindexado de zope

Posted on Sat 18 September 2010 in Programación • Tagged with zope

Visto en el producto contentleadimage:
from Products.ZCatalog.ProgressHandler import ZLogHandler
ctool.reindexIndex(['hasContentLeadImage'], portal.REQUEST, pghandler=ZLogHandler())
Esto muestra un progreso en la consola si estás ejecutando en primer plano.

Zope y noatime

Posted on Sun 25 July 2010 in Programación • Tagged with zope

Una fácil mejora para el rendimiento de un zope con problemas de acceso a disco es no actualizar la fecha de último acceso al fichero de la base de datos Data.fs:
chattr -R +A Data.fs
Simple y efectivo.

Subversion: Añadiendo contenido a un directorio sin descargarlo

Posted on Fri 16 July 2010 in Programación

Caso práctico. Tengo un directorio dev dentro del subversión con un montón de código con sus correspondientes ramas de trunk, branches, tags, etc. Quiero añadir un nuevo producto pero no descargar todo ese enorme directorio dev:
svn co --depth empty https://repositorio/dev dev
cp loquesea nuevo_producto
svn add loquesea …

Continue reading

Restaurando objectos plone borrados

Posted on Wed 14 July 2010 in Programación • Tagged with zope

Para esas situaciones donde no funciona el undo, la salvación se llama dm.historical Un claro ejemplo en esta entrada del Blog de Andreas Jung

Completar mientras se depura en zope

Posted on Wed 28 April 2010 in Programación • Tagged with web

Siempre tengo que buscar esto en google, para esto tengo el blog:
$ bin/instance debug
>>> import readline, rlcompleter
>>> readline.parse_and_bind('tab: complete')
>>> app.
Display all 760 possibilities? (y or n)
>>> 

Kbabel es Lokalize en kde4

Posted on Thu 25 March 2010 in Programación

Ya era la segunda vez que no encontraba el maravilloso kbabel y es que en kde4 su sucesor se llama lokalize

Colores desde web developer tools

Posted on Tue 10 November 2009 in Programación • Tagged with web

Últimamente uso tanto firebug que ni me acuerdo de las Web Developer Tools. Escribo esto para recordar que sigue siendo muy útil esta extensión. Por ejemplo, puedo ver los colores (css) usados en una página web a través del menú Información, seleccionando Ver información del color.

CSS: Estilos de selección de texto

Posted on Thu 09 July 2009 in Programación • Tagged with web

Una de esas declaraciones de CSS3 que ya aceptan muchos navegadores actuales es ::selection. Se puede utilizar así:
p::selection {
	background: #ccaacc; /* Safari */
	}
p::-moz-selection {
	background: #ccaacc; /* Firefox */
}

Contenedor de Floats: How to IE & FF

Posted on Thu 21 May 2009 in Programación • Tagged with web

Espero no olvidar esto más así que dejo la notita. Si tienes un elemento (por ejemplo un div#padre), que contiene sólo flotantes (otros divs por ejemplo), no será capaz IE de calcular bien su tamaño (se ve muy claro con un background). Para que funcione con explorer y firefox …

Continue reading

Siempre el último Dragonfly en Opera

Posted on Fri 30 January 2009 in Programación

Para tener la versión de desarrollo de dragon fly en el opera basta con seguir la ruta: about:config -> Developer Tools -> Developer Tools url Luego, introducir la url siguiente http://dragonfly.opera.com/app/cutting-edge/

¿Cómo hacer un "svn export" con git?

Posted on Fri 14 November 2008 in Programación

Si tienes que descargarte un árbol git pero sin los metadatos, porque por ejemplo sólo quieres el código para congerlarlo versionado en el subversion de tu proyecto, lo más fácil es: git clone {clone-url} rm -rf .gitignore .git

svn:ignore

Posted on Thu 13 November 2008 in Programación

Esta entrada  es para recordar los dos comandos: svn propedit svn:ignore ./some_path svn -R propset svn:ignore -F ../.svnignore . donde .svnignore contiene un patron por línea como *.pyc

Error con setuptools y subversion 1.5

Posted on Sun 14 September 2008 in Programación • Tagged with python

La actual versión de setuptools no se lleva bien el subversion 1.5 (también el actual en mi ubuntu). Normalmente acostumbro a usar virtualenv y me he encontrado con el error:
NameError: global name 'log' is not defined
Ya está arreglado en el desarrollo de setuptools. Una posible solución es …

Continue reading

Buscando una fuente para escribir código

Posted on Tue 22 July 2008 in Programación

Varios enlaces interesantes sobre este tema. Personalmente, la Bitstream Vera Sans Mono, me parece una fuente bastante aceptable. Me gusta mucho …

Continue reading

Ejecutar comandos en python

Posted on Tue 04 March 2008 in Programación • Tagged with python

Hago a menudo pequeños scripts en python. Y muchas de las veces necesito ejecutar algún comando del sistema. Habitualmente importaba el módulo os y llamaba a alguna de sus funciones (las popen). Pero en general no hace falta importar os. Existe un módulo llamado commands (sólo para unix) que permite …

Continue reading