# Noe Nieto > Mi sitio personal | Personal site ## Posts - [From Jekyll to Seite: Fourteen Years, Three Static Site Generators](https://noenieto.com/blog/from-jekyll-to-seite.md): How I migrated my personal site from Jekyll to Seite, an AI-first SSG. Stack, skills, bugs, workarounds, and why I left BulmaCSS for a hand-rolled atomic design system. - [Práctica: Trabajando con Ramas en Git (Parte 2)](https://noenieto.com/blog/practica-github-ramas-pt-2.md): Segunda parte del tutorial de ramas en Git: simula un flujo de trabajo en equipo con múltiples ramas, lee git log --graph y fusiona cambios sin perder datos. - [Práctica: Trabajando con Ramas en Git (Parte 1)](https://noenieto.com/blog/practica-github-ramas-pt-1.md): Tutorial de Git en español para principiantes: crea ramas para experimentar, cambia entre versiones y fusiónalas sin miedo a romper tu trabajo. - [Cómo Usar la Librería Tenacity en Python](https://noenieto.com/blog/como-usar-la-libreria-tenacity-en-python.md): Facilmente reintenta una funcion en Python en caso de que algo falle - [Convierte texto seleccionado a enlaces en Google Docs](https://noenieto.com/blog/convierte-texto-seleccionado-enlaces-en-google-docs.md): Tutorial completo para crear un script de Google Apps Script que convierte texto seleccionado en enlaces automáticamente en Google Docs, ideal para procesar logs de Jenkins. - [Nube de palabras en Inkscape](https://noenieto.com/blog/nube-de-palabras-en-inkscape.md) - [Instalacion de servidor sshd en Fedora Silverblue](https://noenieto.com/blog/fedora-silverblue-sshd-server.md) - [Ditch Google Analytics(GA) for Counter.def](https://noenieto.com/blog/ditch-Google-Analytics-for-counter.md): How I replaced Google Analytics with Counter.dev for simpler web analytics on my Jekyll blog hosted on GitHub Pages. - [The simplest GitHub workflow for deploying static sites](https://noenieto.com/blog/simplest-gh-workflow-for-static-pages.md) - [Migrating blog from GH Pages to GH Actions](https://noenieto.com/blog/gh-pages-migration-to-actions.md) - [A Basic CRUD with Rocket](https://noenieto.com/blog/basic-crud-wuth-rocket.md) - [Learning to use jq, the Command-line JSON processor](https://noenieto.com/blog/jq-Command-line-JSON-processor.md) - [Último compilado de lecturas del 2018](https://noenieto.com/blog/lecturas-semana-50-51.md): Último compilado de lecturas del 2018, cubriendo las semanas 50 a 51: política, sociedad y tecnología. - [Sublimetext flatpack shortcut](https://noenieto.com/blog/Sublimetext-flatpack-shortcut.md) - [Lecturas de las semana 49 de 2018](https://noenieto.com/blog/lecturas-semana-49.md) - [Lecturas de las semana 48 de 2018](https://noenieto.com/blog/lecturas semana 48.md) - [Semana 47 (2018)](https://noenieto.com/blog/semana-47.md): Lecturas de la semana 47 del 2018: caravana migrante, Roma de Alfonso Cuarón, avión sin partes móviles propulsado por viento iónico. - [2018-11-12-lecturas-semana-47.md](https://noenieto.com/blog/lecturas-semana-47.md) - [2018-11-04-lecturas-semana-42-45.md](https://noenieto.com/blog/lecturas-semana-42-45.md) - [2018-10-31-gulp-dist-ssh.md](https://noenieto.com/blog/gulp-dist-ssh.md) - [2018-10-02-exercising_the_transfer_matrix_method.md](https://noenieto.com/blog/exercising_the_transfer_matrix_method.md) - [A hiring project](https://noenieto.com/blog/a-hiring-project.md): Documentación de un proyecto de contratación: stack tecnológico, configuración de entorno y opciones de modelado de datos para una aplicación web. - [2018-09-04-lecturas-semana-36-a-41.md](https://noenieto.com/blog/lecturas-semana-36-a-41.md) - [Lecturas semana 35 (2018)](https://noenieto.com/blog/lecturas-semana-35.md): Lecturas de la semana 35 del 2018: cumpleaños de Linux (27 años), frameworks web, historia de Linux y código abierto. - [2018-08-27-lecturas-semana-34.md](https://noenieto.com/blog/lecturas-semana-34.md) - [Lecturas de la semana 31 a 33 del 2018](https://noenieto.com/blog/lecturas-semana-31-a-33.md) - [Mi bitacora de actividades](https://noenieto.com/blog/semana-30.md) - [2018-07-17-guia-rapida-postgresql10-fedora.md](https://noenieto.com/blog/guia-rapida-postgresql10-fedora.md) - [2018-07-17-semana-29.md](https://noenieto.com/blog/semana-29.md) - [Sitio HTTPS + Webfaction + Let's Encrypt](https://noenieto.com/blog/letsencrypt_webfaction_version_0.3.md) - [2018-07-02-Lecturas-semana-27-a-28.md](https://noenieto.com/blog/Lecturas-semana-27-a-28.md) - [2018-06-01-lecturas-semana-18-a-26.md](https://noenieto.com/blog/lecturas-semana-18-a-26.md) - [2018-05-14-gsoc-week-1.md](https://noenieto.com/blog/gsoc-week-1.md) - [Lecturas semana 17 (2018)](https://noenieto.com/blog/lecturas-semana-17.md): Lecturas de la semana 17 del 2018: ciencia, tecnología y psicología holokinética. - [Lecturas semana 16 (2018)](https://noenieto.com/blog/lecturas-semana-16.md): Lecturas de la semana 16 del 2018: Fedora, GNOME, tecnología espacial y ciencia. - [2018-04-10-lecturas-semana-15.md](https://noenieto.com/blog/lecturas-semana-15.md) - [2018-04-02-lecturas-semana-14-2018.md](https://noenieto.com/blog/lecturas-semana-14-2018.md) - [Alfredo Jalife Rhame: Bajo La Lupa](https://noenieto.com/blog/jalife-bajo-la-lupa.md): Recolección de artículos de la columna 'Bajo La Lupa' de Alfredo Jalife Rhame, ordenados cronológicamente. - [2018-03-26-lecturas-semana-13-2018.md](https://noenieto.com/blog/lecturas-semana-13-2018.md) - [2018-03-26-lecturas-semana-12-2018.md](https://noenieto.com/blog/lecturas-semana-12-2018.md) - [Django Oscar con PayPal](https://noenieto.com/blog/django-oscar-paypal.md): Guía paso a paso para configurar Django Oscar con PayPal Express Checkout para pagos en línea. - [Django Oscar con PayU](https://noenieto.com/blog/django-oscar-payu.md): Guía paso a paso para configurar Django Oscar con el plugin de pagos PayU para tiendas en línea. - [2018-03-12-lecturas-semana-11-2018.md](https://noenieto.com/blog/lecturas-semana-11-2018.md) - [2018-03-05-lecturas-semana-9.md](https://noenieto.com/blog/lecturas-semana-9.md) - [Lecturas semana 10 (2018)](https://noenieto.com/blog/lecturas-semana-10.md): Lecturas de la semana 10 del 2018: tardígrados, marihuana, Linux, Raspberry Pi, manuscritos medievales, nanocristales solares y más. - [2018-03-01-prestashop-conekta.md](https://noenieto.com/blog/prestashop-conekta.md) - [Lecturas semana 8 (2018)](https://noenieto.com/blog/lecturas-semana-8.md): Lecturas de la semana 8 del 2018: tecnología, ciencia, programación, política y curiosidades diversas. - [2018-02-13-intro-esp32-python.md](https://noenieto.com/blog/intro-esp32-python.md) - [Lecturas semana 7 (2018)](https://noenieto.com/blog/lecturas-semana-7.md): Lecturas de la séptima semana de 2018: fotógrafos documentales (Kirguistán, Turquía, Harlem), Boston Dynamics, política estadounidense, CoreOS y captura de un átomo en cámara estándar. - [Configuración de un sitio HTTPS en WebFaction con Let's Encrypt](https://noenieto.com/blog/webfaction-https-y-letsencript.md): Tutorial paso a paso para emitir y renovar certificados Let's Encrypt en WebFaction usando letsencrypt_webfaction: registro A/AAAA, .htaccess para redirección http→https, cron y notificaciones. - [Lecturas semana 6 (2018)](https://noenieto.com/blog/lecturas-semana-6.md): Lecturas de la sexta semana de 2018: IBM presenta chip de grafeno, política mexicana (Anaya, Videgaray, AMLO, CJNG), Falcon Heavy de SpaceX, criptomonedas en caída y ciencia curiosa. - [Lecturas semana 5 (2018)](https://noenieto.com/blog/lecturas-semana-5-2018.md): Lecturas de la quinta semana de 2018: interfaces gráficas para MySQL, herramientas para Docker, proyecto GSoC Devsim de simulación de semiconductores, celdas solares y temáticas políticas. - [PrestaShop en Fedora 27](https://noenieto.com/blog/prestashop-fedora.md): Configuración de PrestaShop 1.7 sobre Fedora 27: instalación de paquetes LAMP, configuración de virtualhost Apache, permisos, SELinux y parámetros de la base de datos. - [Lecturas semana 4 (2018)](https://noenieto.com/blog/lecturas-semana-4-2018.md): Lecturas de la cuarta semana de 2018: Alfredo Jalife sobre la Hydra financiera, programación en red, biología celular, etimología mexicana, política en Brasil y divagaciones varias. - [Lecturas semana 3 (2018)](https://noenieto.com/blog/lecturas-semana-3-2018.md): Lecturas de la tercera semana de 2018: GNOME remueve íconos de escritorio, Nikola Tesla, reciclaje de ropa, Alfredo Jalife sobre soberanía mexicana, ciencia de materiales, robots y animales mutantes. - [Lecturas semana 2 (2018)](https://noenieto.com/blog/lecturas-semana-2.md): Lecturas de la segunda semana de 2018: Alfredo Jalife sobre lavado de dinero, mundo automotriz, JavaScript trends, física de materiales, Star Wars y más. - [Lecturas semana 1 (2018)](https://noenieto.com/blog/lecturas-semana-1-2018.md): Primera entrega del experimento de listar las lecturas interesantes de cada semana. Temas: botellas y herramientas DIY, motores brushless impresos en 3D, energía solar, iniciación a Rust, y filosofía antinatalista de David Benatar. - [Probando MathJax](https://noenieto.com/blog/mathjax.md): Post de prueba para validar que MathJax renderiza ecuaciones LaTeX display e inline en el sitio estático. - [Celda solar sencilla con Silvaco TCAD](https://noenieto.com/blog/celda-solar-sencilla-silvaco.md): Tutorial introductorio para modelar y simular una celda solar de silicio simple con Silvaco TCAD Atlas: malla, regiones, dopados, contactos, iluminación AM1.5 y curva I-V. - [Añadir un nuevo disco a Fedora con LVM](https://noenieto.com/blog/anadir-nuevo-disco-fedora-lvm.md): Tutorial paso a paso para añadir un nuevo disco a un servidor Fedora con LVM: pvcreate, vgextend, lvextend y resize2fs para extender el filesystem online sin desmontar. - [Cómo montar unidades con formato NTFS en RHEL 7.3](https://noenieto.com/blog/ntfs-rhel7.md): Tutorial paso a paso para montar unidades con formato NTFS en RHEL 7.3 (Red Hat Enterprise Linux) instalando ntfs-3g y ntfsprogs desde el repositorio EPEL, ya que el soporte NTFS no viene en los repos oficiales de RHEL. - [La CIA controla las películas de Hollywood](https://noenieto.com/blog/cia-controla-peliculas-hollywood.md): Reflexión basada en la columna «Bajo la Lupa» de Alfredo Jalife-Rhame (La Jornada, 23-jul-2017) sobre cómo la CIA y el Pentágono dictan, vetan y dan visto bueno a las películas de Hollywood. Incluye contexto histórico de Hiroshima/Nagasaki y el orden mundial bipolar→unipolar→tripolar. - [Impresión bajo demanda o POD (Print on demand)](https://noenieto.com/blog/impresion-bajo-demanda.md): Levantamiento de servicios de impresión bajo demanda (POD) evaluados para integrar con Holokinesis Libros: Lulu, Blurb, CreateSpace, Peecho y por qué se descartaron otros (Gooten, Mimeo, Moo, etc.). - [Sencillo gancho pre-commit de SVN (pre-commit hook)](https://noenieto.com/blog/sencillo-gancho-pre-svn.md): Implementación mínima de un hook pre-commit de SVN en bash: rechaza el commit si el autor no está listado en trusted_people.txt. Incluye el script completo. - [Jenkins para compilar e instalar una extensión de PHP con PHP-CPP](https://noenieto.com/blog/jenkins-compila-extension-php-cpp.md): Tutorial paso a paso para configurar Jenkins en Ubuntu 14.04 con un hook post-commit de SVN que dispara la recompilación de una extensión PHP en C++ y el deploy a Apache. - [Programa, compila e instala tu propia extensión de PHP con PHP-CPP](https://noenieto.com/blog/php-extension-php-phpcpp.md): Tutorial paso a paso para compilar e instalar una extensión nativa de PHP escrita en C++ con la librería PHP-CPP en Ubuntu 14.04, incluyendo Makefile y activation con php5enmod. - [Cómo sacar la diferencia entre dos filas con PostgreSQL](https://noenieto.com/blog/diferencia-entre-dos-filas-con-PostgreSQL.md): Aprende a calcular la diferencia entre valores de filas consecutivas en PostgreSQL usando self-joins, ideal para tablas con datos de medición. - [¿Cómo agrandar el disco de una máquina virtual en VirtualBox?](https://noenieto.com/blog/agrandar-disco-de-una-maquina-virtual-en-VirtualBox.md): Tutorial paso a paso para agrandar el disco de una máquina virtual VirtualBox usando vboxmanage modifyhd --resize y la herramienta Disk Management de Windows para extender la partición. - [Hola mundo de Flask en IIS 8.5 (Windows 10)](https://noenieto.com/blog/flask-IIS.md): Guía completa para desplegar aplicaciones Flask en IIS 8.5 (Windows 10) usando FastCGI, wfastcgi y Visual Studio con PTVS. - [Instalar IIS 8.5 en Windows 10 Technical Preview](https://noenieto.com/blog/instalar-iis-windows-10.md): Tutorial paso a paso para instalar y habilitar IIS 8.5 en Windows 10 Technical Preview vía Windows Features, con capturas de pantalla del proceso completo. - [Drupal 8 Beta en OpenShift](https://noenieto.com/blog/drupal-8-beta-openshift.md): Instalación del core de Drupal 8 Beta en OpenShift Online v2 para crear un blog gratuito, paso a paso: cuenta, aplicación, CNAME y credenciales. - [Imágenes responsivas con Drupal 8](https://noenieto.com/blog/imagenes-responsivas-drupal-8.md): Instrucciones básicas para activar y configurar el módulo de imágenes responsivas en Drupal 8. - [Éxito en Venezuela con Plone](https://noenieto.com/blog/exito-en-venezuela-con-plone.md): Proyecto exitoso de optimización de intranet de documentos con Plone 3.3.5 y Cyn.In para Plumrose, presentado en el World Plone Day 2014 Venezuela. - [Cómo instalar paquetes extra en Fedora sin abrir la terminal](https://noenieto.com/blog/instalar-paquetes-fedora-sin-terminal.md): Cómo instalar software adicional en Fedora sin usar la terminal, para usuarios normales que prefieren interfaces gráficas. - [Detectar el Sistema Operativo en Mono/C#](https://noenieto.com/blog/detectar-so-en-mono.md): Tutorial para detectar el sistema operativo desde una aplicación C# compilada con Mono, usando Environment.OSVersion.Platform y ejecutando tanto en Linux como en Windows. - [Mi resumen de C#](https://noenieto.com/blog/mi-resumen-de-c-sharp.md): Resumen personal del lenguaje C# y su sintaxis, aprendido mientras se trabaja con Mono y .NET en Linux y Windows. - [Mesa-debate: Crisis del sistema mundo capitalista, Hegemonía y Estado. 1ra ronda](https://noenieto.com/blog/crisis-mundo-capitalista-1a-ronda.md): Resumen del video de Alfredo Jalife-Rhame sobre la crisis multidimensional del sistema mundo capitalista, incluyendo perspectivas de Alfredo Jalife y Erick Pernett. - [Cómo correr GTG git en Fedora 20](https://noenieto.com/blog/compilar-gtg-en-fedora-20.md): Pasos para compilar y ejecutar GTG desde el repositorio Git en Fedora 20 usando virtualenv con acceso a los site-packages globales. - [Jugando con IIS, Powershell y WebAdministration](https://noenieto.com/blog/IIS-Powershell-WebAdministration.md): Cómo controlar y configurar IIS mediante PowerShell usando el módulo WebAdministration para automatización y DevOps. - [Servidor SFTP enjaulado con chroot](https://noenieto.com/blog/servidor-sftp-enjaulado-chroot.md): Tutorial para configurar un servidor SFTP enjaulado con chroot en OpenSSH: crear usuario con /bin/nologin, configurar Match User + ForceCommand internal-sftp y los permisos correctos del directorio chroot. - [Aprendiendo Maven en unos minutos](https://noenieto.com/blog/aprendiendo-maven-minutos.md): Notas introductorias sobre Apache Maven: qué es, cómo invocarlo con mvn, en qué se parece a zc.buildout y Autotools, y qué cosas NO es Maven. - [Windows Server: ¿Cómo saber qué proceso está usando un puerto TCP?](https://noenieto.com/blog/windows-server-tcp-puerto.md): Cómo identificar el proceso que mantiene ocupado un puerto TCP en Windows Server usando netstat -noa para obtener el PID y matarlo desde el Administrador de Tareas. - [Hola Mundo con Selenium - Una guía básica sin programación](https://noenieto.com/blog/selenium-hola-mundo-sin-programar.md): Guía paso a paso para crear tu primera prueba automatizada con Selenium IDE en Firefox sin escribir una sola línea de código, desde el HTML de prueba hasta la ejecución vía Selenium Server. - [Preparar Ubuntu 14.04 para correr Django](https://noenieto.com/blog/prepara-ubuntu-1404-django.md): Guía paso a paso para instalar Django en Ubuntu 14.04 usando python-pip, build-essential, python-virtualenv y virtualenvwrapper; crea el primer proyecto con django-admin.py startproject. - [Reduciendo el tamaño de una BD en SQL Server](https://noenieto.com/blog/reduciendo-tamano-bd-sql-server.md): Guía paso a paso para reducir el tamaño de una base de datos de SQL Server cambiando el modelo de recuperación a SIMPLE y usando DBCC SHRINKFILE y SHRINKDATABASE. - [Drupal 7 a mi estilo con Fedora](https://noenieto.com/blog/drupal7-a-mi-estilo-con-fedora.md): Tutorial para instalar Drupal 7 en Fedora sin Apache ni MySQL, usando el servidor web integrado de PHP, SQLite, composer y Drush; incluye el comando site-install. - [SEO para HolokinesisLibros.com](https://noenieto.com/blog/seo-hkl.md): Recopilación de recursos y apuntes de DrupalCon 2014 sobre SEO, ROI y marketing automation para un sitio Drupal, con lluvia de ideas final. - [Python 3 para renombrar screenshots](https://noenieto.com/blog/python3-renombrar-screenshots.md): Script en Python 3 para renombrar automáticamente los archivos de captura de pantalla de GNOME Screenshot, sustituyendo espacios y signos por guiones bajos vía regex y fileinput. - [¿Cómo actualizar un SQL Server?](https://noenieto.com/blog/como-actualizar-sql-server.md): Guía paso a paso para identificar la versión actual de SQL Server y aplicar el Cumulative Update correspondiente. - [Máquinas virtuales en Fedora](https://noenieto.com/blog/maquinas-virtuales-en-fedora.md): Notas breves para activar KVM en Fedora 20 con libvirtd, siguiendo la guía oficial de Fedora en español. - [Módulos y paquetes en Python](https://noenieto.com/blog/modulos-y-paquetes-en-python.md): Explicación de módulos y paquetes en Python: cómo funcionan, dónde se encuentran y cómo manipular el Python Path. - [Sublime 3 en Fedora 20](https://noenieto.com/blog/sublime-3-en-fedora-20.md): Cómo instalar Sublime 3 en Fedora 20 sin usar la terminal, integrándolo en el catálogo de aplicaciones de GNOME 3. - [Configurar SSH para que no pida login](https://noenieto.com/blog/configurar-ssh-para-que-no-pida-login.md): Guía paso a paso para configurar autenticación basada en llaves SSH, generando llaves RSA, configurando el archivo ~/.ssh/config y registrando llaves públicas en el servidor. - [GTG: Enabling missing plugins for Fedora 20](https://noenieto.com/blog/gtg-enabling-missing-plugins-for-fedora-20.md): How to install the missing dependencies for Getting Things GNOME (GTG) plugins like Remember the Milk and Mantis on Fedora 20. - [Moving a Plone site from AWS to webfaction](https://noenieto.com/blog/moving-a-plone-site-from-aws-to-webfaction.md): Step-by-step migration of a Plone 4 site from AWS to WebFaction: buildout setup, HTTPS patch, data.fs and blob transfer via rsync, and VHM configuration. - [Tips para ir al PyCon 2013](https://noenieto.com/blog/tips-para-ir-al-pycon-2013.md): Guía de trámites para mexicanos asistentes al PyCon 2013: pasaporte, visa, boletos de avión y llegada a Santa Clara, California, con consejos prácticos. - [Cuatro atajos del teclado de Gnome3](https://noenieto.com/blog/cuatro-atajos-del-teclado-de-gnome3.md): Cuatro combinaciones de teclas útiles en GNOME 3 usando la tecla Meta/Windows: maximizar, desmaximizar y alinear ventanas al 50% de la pantalla a izquierda o derecha. - [Tutorial de Git con windoze](https://noenieto.com/blog/tutorial-git-windoze.md): Tutorial conceptual de git pensando en quien usa Windows: historia, VCS centralizado vs local, MS-DOS básico y flujo init/clone/pull/commit/push. - [My first issue with Meteor solved quickly](https://noenieto.com/blog/my-first-issue-with-meteor-solved.md): Cómo resolver el error 'watch ENOSPC' en Meteor ajustando los parámetros de inotify en Linux para monitoreo de archivos. - [Script para arreglar texto](https://noenieto.com/blog/script-para-arreglar-texto.md): Script en Python usando expresiones regulares para reformatear texto escrito en mayúsculas o minúsculas, convirtiéndolo a formato de oraciones capitalizadas. - [Using Amazon SES with your Python applications](https://noenieto.com/blog/using-amazon-ses-with-your-python-applications.md): How to send email via Amazon SES SMTP interface from Python: smtplib, zope.sendmail for Grok/Zope, and Django EMAIL_HOST settings. - [Primer post con blog estático](https://noenieto.com/blog/primer-post-blog-estatico.md): Anuncio de la migración del sitio personal de Plone a un blog estático generado con Jekyll y hosteado en GitHub Pages. - [Haz tus propios libros](https://noenieto.com/blog/haz-tus-propios-libros.md): Cómo hacer tus propios libros impresos con técnicas de encuadernación artesanal: book binding, perfect binding, coptic binding y recursos. - [Writing widgets for zope.formlib](https://noenieto.com/blog/writing-widgets-for-zopeformlib.md): Incomplete notes on how zope.formlib selects widgets through the Zope Component Architecture (ZCA) and how to customize them in Grok. - [Notas de instalación de Plone en Amazon (Dic 2011)](https://noenieto.com/blog/notas-de-instalacion-de-plone-en-amazon-dic-2011.md): Notas para instalar Plone en una instancia EC2 Ubuntu 11.04: paquetes Debian, bootstrap.py, buildout con production.cfg y Data.fs en EBS aparte. - [Getting help with performance problems with Plone](https://noenieto.com/blog/getting-help-with-performance-problems-with-plone.md): Summary of a plone-users mailing list thread on performance problems: memory leaks in Plone 3, CPU-bound views, IO bottlenecks and ZODB tuning. - [11 de diciembre: Día del Idioma Internacional Esperanto](https://noenieto.com/blog/11-de-diciembre-dia-del-idioma-internacional-esperanto.md): El himno del esperanto 'La Espero' en tres idiomas, en conmemoración del Día de Zamenhof y la celebración del 11 de diciembre como Día del Idioma Internacional Esperanto - [Announcing iservices.rssdocument](https://noenieto.com/blog/announcing-iservicesrssdocument.md): Anuncio de iservices.rssdocument y collective.collage.rssdocument, productos para integrar feeds RSS en Plone sin almacenar entradas en ZODB. - [Goodbye, world](https://noenieto.com/blog/goodbye-world.md): Eulogy to Dennis Ritchie, co-creator of C and Unix, written the week of his passing in October 2011. - [Mi propia guía de instalación de Fedora 16](https://noenieto.com/blog/mi-propia-guia-de-instalacion-de-fedora-16.md): Guía personal de post-instalación de Fedora 16 para desarrollo web con Python: compiladores, virtualenv, VCS, MySQL, VirtualBox y editores. - [Scribes, a beautiful and simple text editor](https://noenieto.com/blog/scribes-a-beautiful-and-simple-text-editor-written-in-python.md): Review of Scribes, a Python-based minimalist code editor for GNOME with a focus on keyboard shortcuts and extensibility. - [Serving files in a directory with nginx](https://noenieto.com/blog/serving-files-in-a-directory-with-nginx.md): Cómo configurar nginx para servir archivos desde un directorio específico con listado automático de archivos. - [Porting your xdv theme to plone.app.theming](https://noenieto.com/blog/porting-your-xdv-theme-to-ploneapptheming.md): Tasks to port an xdv theme to plone.app.theming on Plone 4.1: GS profile, theme.xml, Diazo namespaces, ZCML, manifest.cfg. - [Cómo instalar la HP LaserJet 1020 en Fedora 16](https://noenieto.com/blog/como-instalar-la-hp-laserjet-1020-en-fedora-16.md): Guía para instalar la impresora HP LaserJet 1020 en Fedora 16 usando hplip-gui, solucionando problemas con el paquete foo2zjs. - [Cómo instalar la HP LaserJet 1020 en Fedora 15](https://noenieto.com/blog/como-instalar-la-hp-laserjet-1020-en-fedora-15.md): Pasos para compilar foo2zjs desde la fuente y configurar la HP LaserJet 1020 en Fedora 15 con system-config-printer. - [Registrar un viewlet en Plone con 11 líneas de código](https://noenieto.com/blog/registrar-un-viewlet-en-plone-con-11-lineas-de-codigo.md): Cómo registrar un viewlet en Plone usando five.grok con solo 11 líneas de código, simplificando el desarrollo. - [Instalando Plone en una instancia de Amazon EC2](https://noenieto.com/blog/instalando-plone-en-una-instancia-de-amazon-ec2.md): Notas para arrancar una instancia de Plone en Amazon EC2 con una AMI de 32 bits, security group para SSH/HTTP/8000-8010 y Elastic IP. - [Una gema escondida en Plone 4](https://noenieto.com/blog/una-gema-escondida-en-plone-4.md): Descubrimiento de la funcionalidad de overlay de imágenes en Plone 4 usando plone.app.jquerytools para mostrar imágenes en popbox al hacer clic. - [Instalando GNOME Shell en Natty](https://noenieto.com/blog/instalando-gnome-shell-en-natty.md): Pasos para instalar GNOME Shell en Ubuntu Natty usando PPAs, alternativa a Unity para equipos con poca RAM. - [Create your own private egg repository on Amazon EC2](https://noenieto.com/blog/create-your-own-private-egg-repository-on-amazon-ec2.md): Guía completa para crear un repositorio privado de eggs de Python en Amazon EC2 con autenticación básica, usando nginx como servidor web y jarn.mkrelease para subir paquetes. - [Acerca de las diferencias entre Git y Mercurial](https://noenieto.com/blog/acerca-de-las-diferencias-entre-git-y-mercurial.md): Notas sobre las diferencias clave entre Git y Mercurial desde la perspectiva de un usuario de Git que aprende Mercurial: instalación, configuración, conversión de repos y la extensión record frente al staging area de Git. - [Setup Debian server for Python deployment](https://noenieto.com/blog/setup-debian-server-for-python-deployment.md): Procedimiento para montar un servidor Debian 5.05 Lenny listo para deploy de apps Python: Python 2.4 y 2.6 compilados desde fuente, git desde backports, pip y virtualenv para cada versión, y ZopeSkel para buildouts de Plone. - [A buildout nano-framework for building Plone 4 sites](https://noenieto.com/blog/a-buildout-nano-framework-for-building-plone-4-sites.md): Framework minimalista basado en buildout para construir sitios Plone 4 con estrategias de backup y despliegue estandarizadas. - [Infraestructura pythonesca en iServices](https://noenieto.com/blog/infraestructura-pythonesca-en-iservices.md): Resumen de la infraestructura Python (Debian, Python 2.4/2.6, virtualenv, pip, buildout, ZODB) que usábamos en iServices para mantener nuestros sitios web. - [Accessing ext4 volumes on Mac OS X](https://noenieto.com/blog/accessing-ext4-volumes-on-macos-x.md): Guía para habilitar soporte de volúmenes ext2/ext3/ext4 en Mac OS X usando MacFuse y fuse-ext2. - [Plone and Apache 2.2](https://noenieto.com/blog/plone-and-apache-22.md): Notas sobre un problema con mod_proxy y Apache 2.2 al migrar un sitio Plone 3.3.5 detrás de Varnish. - [Our first Plone 4 site available to the public](https://noenieto.com/blog/our-first-plone4-site-available-to-the-public.md): Cómo se construyó el primer sitio Plone 4 público, integrando Products.Collage, Products.Carousel y webcoturier.dropdownmenu con temas personalizados. - [Hola mundo con Twitter y Python](https://noenieto.com/blog/hola-mundo-con-twitter-y-python.md): Ejemplo mínimo del uso de la API de Twitter con Python en Ubuntu 10.04 usando virtualenv y la librería python-twitter, desde el curso de Campus Party México. - [Announcing public alpha for eduIntelligent LCMS](https://noenieto.com/blog/anouncing-public-alpha-for-eduintelligent-lcms.md): Anuncio de la alpha pública de eduIntelligent LCMS, un sistema de gestión de contenido educativo basado en Plone 3 con soporte SCORM. - [Plone and security](https://noenieto.com/blog/plone-and-security.md): Notas sobre una semana de downtime en un sitio Plone 4 hosted: causas posibles y dudas sobre DOS vs límites de ancho de banda. - [Theming Plone 4 - Part 2](https://noenieto.com/blog/theming-plone-4-part-2.md): Second part of the Plone 4 theming walkthrough: choosing a CSS template, understanding Deco.gs grid framework, Plone's viewlet layout and step-by-step styling notes. - [Theming Plone 4 - Part 1](https://noenieto.com/blog/theming-plone-4-part-1.md): Step-by-step guide to prepare a Plone 4 theming environment on Ubuntu Lucid: install zopeskel, create the buildout, scaffold a plone3_theme product and fine-tune it before running buildout. - [A buildout for Plone 3.3.5 + fss + relstorage](https://noenieto.com/blog/a-buildout-for-plone-335fssrelstorage.md): Buildout recipe para Plone 3.3.5 usando FileSystemStorage y RelStorage en lugar de ZODB tradicional. - [Migrating data from Plone 3.2.1 to Plone 4.0b2](https://noenieto.com/blog/migrating-data-from-plone-321-to-plone-40b2.md): Step-by-step notes on migrating Plone 3.2.1 content to a Plone 4.0b2 buildout using .zexp exports and dual buildouts. - [Mis mañas para debuggear Zope/Plone](https://noenieto.com/blog/mis-manas-para-debuggear-zopeplone.md): Notas rápidas sobre cómo usar ./bin/zopepy y ./bin/instance para depurar aplicaciones Zope y Plone 4. - [Varios efectos de JQuery que se ven bien](https://noenieto.com/blog/varios-efectos-de-jquery-que-se-ven-bien.md): Colección de efectos jQuery útiles para sitios web: MegaMenu, validación de formularios en vivo y menús deslizantes. - [Lecciones aprendidas: internacionalización en Plone](https://noenieto.com/blog/lecciones-aprendidas-internacionalizacion-plone.md): Resumen técnico sobre el proceso de internacionalización en productos de Plone 3: i18ndude, Placeless Translation Service, casos típicos y solución a actions.xml. - [Unicode y UTF-8 en Plone](https://noenieto.com/blog/unicode-y-utf-8-en-plone.md): Notas sobre problemas con caracteres Unicode en Plone y soluciones mediante configuración de UTF-8 y archivos sitecustomize.py. - [Django y Buildout (Parte 1)](https://noenieto.com/blog/django-y-buildout-parte-1.md): Primera parte de notas sobre cómo usar Django con Buildout para crear entornos de desarrollo replicables e independientes del sistema. - [Tutoriales interesantes en el Pycon 2010](https://noenieto.com/blog/tutoriales-interesantes-en-el-pycon-2010.md): Lista de tutoriales interesantes del Pycon 2010: optimización de Python, BFG, desarrollo web TDD, almacenamiento de datos, Pinax, SQLAlchemy, Django, Open Stack y Selenium. - [Convertir un Ubuntu desktop a Ubuntu server](https://noenieto.com/blog/convertir-un-ubuntu-desktop-a-ubuntu-server.md): Proceso completo para convertir una instalación de Ubuntu Desktop en un servidor: respaldo, instalación de openssh-server, desactivación de entorno gráfico e instalación de Apache, MySQL y PHP5. - [Mi primera experiencia con Django y zc.buildout en Ubuntu 9.10](https://noenieto.com/blog/mi-primera-experiencia-con-django-y-zcbuildout-en-ubuntu-910.md): Notas de un recién llegado a Django desde Plone: por qué elegí zc.buildout para montar el entorno y cómo quedó el buildout.cfg funcionando con Django 1.1. - [Script para automatizar la creación de archivos .metadata](https://noenieto.com/blog/script-para-automatizar-la-creacion-de-archivos-metadata.md): Script simple en Python para automatizar la creación de archivos .metadata en directorios de skins de temas de Plone. - [Resaltado de sintaxis en plone](https://noenieto.com/blog/resaltado-de-sintaxis-en-plone.md) - [Deshacer los cambios de un solo archivo en un repo GIT](https://noenieto.com/blog/deshacer-cambios-un-archivo-git.md): Guía para revertir cambios en un solo archivo de un repositorio Git usando el comando git checkout, explicando la diferencia entre git reset y git checkout. - [Probando collective.disqus en este sitio](https://noenieto.com/blog/probando-collectivedisqus-en-este-sitio.md): Prueba del plugin collective.disqus para mejoras al sistema de comentarios en Plone, ventajas y desventajas observadas. - [Probando deliverance](https://noenieto.com/blog/probando-deliverance.md) - [Links about server performance](https://noenieto.com/blog/links-about-server-performance.md) ## Pages - [About Holokinetic Psychology](https://noenieto.com/as-aiph-instructor.md): My role as associate instructor at the AIPH, and an introduction to Unitary Perception and Holokinetic Psychology. - [As a teacher](https://noenieto.com/as-a-teacher.md): Course repositories and exercises for the classes Noe teaches at the Instituto Tecnológico de Mexicali - [Demos & Tools](https://noenieto.com/demos.md): Open-source demos, tools, and archived projects by Noe Nieto — interactive web apps, Django and React experiments, LFS plugins, and syntax packs. - [Engineering résumé](https://noenieto.com/as-a-professional.md): Senior software engineer, 25 years across the stack — long enough to have learnt the value of boring, stable software doing its job correctly for 15 years or more. In the agentic-AI era, my value is engineering rigor: validating and shaping software that serves users without harming them. I consult and teach on the side. 100% remote. - [Me as a human being](https://noenieto.com/as-a-human.md): The non-coding side of Noe: husband, dog parent, and associate instructor at the AIPH - [Reaching out](https://noenieto.com/contact.md): Looking to get in touch? Here are all the places where you can find, follow, or message me.