Cómo sustituir automáticamente /etc/hosts en función de la conexión de red utilizada

Cuando estoy conectado mediante RJ45, o conectado a una wifi en concreto necesito una configuración de /etc/hosts. Cuando estoy conectado a cualquier otra wifi necesito una configuración de /etc/hosts diferente.

Para conseguir este comportamiento hay que crear dos ficheros de hosts en /etc/ con el contenido deseado. Yo los he denominado /etc/hosts.home y /etc/hosts.outside:

Después, crear el fichero /etc/NetworkManager/dispatcher.d/change_etc_hosts com permisos de ejecución:

En este fichero incluir el siguiente contenido:

 

Origen del Manifiesto Ágil: sobre la reunión del 2001

Para mi Trabajo de Fin de Grado mi tutor me ha dicho que la referencia a la historia del origen del Manifiesto Ágil, que se puede encontrar en http://agilemanifesto.org/history.html escrito por Jim Highsmith en 2001, no le interesa a nadie, y que él mismo dejó de leer después de los dos primeros párrafos. Es una pena. Me molesté incluso en traducir un extracto muy esclarecedor que probablemente describe el núcleo de la motivación de las metodologías ágiles. Finalmente lo he eliminado pero lo dejo aquí para no sentir que no ha servido de nada.

Me he encontrado con gente que se ha leído el Manifiesto Ágil, gente que además se ha leído los 12 Principios del Manifiesto Ágil, pero nunca leí nada ni nadie hizo referencia a la historia de qué pasó en aquella reunión, cuando ésta contiene detalles clave para comprender la verdadera idea subyacente a todo el Manifiesto Ágil.

Dejo aquí un extracto traducido de la historia corta, que podréis encontrar completa en su versión original en el primer enlace de este artículo:

Del 11 al 13 de febrero de 2001 se reunieron personas representativas de Extreme Programming, Scrum, DSDM, Adaptative Software Development, Crystal Clear, Feature-Driven Development, Pragmatic Programming y otros simpatizantes de la necesidad de una alternativa a los procesos pesados de desarrollo de software guiados por documentación. […]
Al final de la reunión de dos días, Bob Martin bromeó diciendo que estaba a punto de hacer una declaración ‘sentimentaloide’. Pero, aunque teñido de humor, pocos estaban en desacuerdo con los sentimientos de Bob: que todos nos sentíamos privilegiados de trabajar con un grupo de personas que tenían un conjunto de valores compatibles, un conjunto de valores basados en la confianza y el respeto mutuo y la promoción de modelos organizacionales basados en personas, colaboración y construcción de los tipos de comunidades organizacionales en las que desearíamos trabajar. En esencia, creo que los Metodólogos Ágiles realmente se basan en cosas ‘sentimentales’: sobre ofrecer buenos productos a los clientes a través de operar en un entorno que no sólo habla de ‘las personas como nuestro recurso más importante’, sino que en realidad ‘actúan’ como si las personas fuesen lo más importante, y eliminando la palabra ‘recurso’. Así, en el análisis final, el aumento meteórico de interés en, y a veces como tremenda crítica, las Metodologías Ágiles se relaciona con las cosas sentimentaloides de los valores y la cultura. […]
Por ejemplo, creo que, en última instancia, la Programación Extrema ha proliferado en uso e interés, no debido a la programación en pares o la refactorización, sino porque, tomadas en conjunto, las prácticas definen una comunidad de desarrolladores liberada del bagaje de las corporaciones Dilbertescas1. Kent Beck cuenta la historia de un trabajo inicial en el que estimó un esfuerzo de programación de seis semanas para dos personas. Después de que su gerente reasignase al otro programador al comienzo del proyecto, completó el proyecto en doce semanas, ¡y se sintió terriblemente mal consigo mismo! El jefe, por supuesto, arengó a Kent sobre lo lento que fue durante las segundas seis semanas. Kent, algo abatido porque era un ‘fracaso’ como programador, finalmente se dio cuenta de que su estimación original de 6 semanas fue extremadamente precisa (para 2 personas) y que su ‘fracaso’ fue realmente el fracaso del gerente, de hecho, el fracaso de la mentalidad estándar de proceso ‘inamovible’ que tan frecuentemente plaga nuestra industria.
Este tipo de situación ocurre todos los días. El marketing, o la gestión, o los clientes externos, o los clientes internos y, sí, incluso los desarrolladores, no quieren tomar difíciles decisiones de compromiso, por lo que imponen exigencias irracionales mediante la imposición de estructuras de poder corporativo. Esto no es solo un problema de desarrollo de software, sino que se lleva a cabo en todas las organizaciones Dilbertescas.
Para tener éxito en la nueva economía, avanzar de manera agresiva a la era del negocio electrónico, el comercio electrónico y la web, las empresas deben desha-cerse de sus manifestaciones de Dilbert de trabajo de relleno2y políticas arcanas. Esta liberación de las estupideces de la vida corporativa atrae a los defensores de las Metodologías Ágiles, y hace que se begeebers de miedo (no se puede usar la palabra ‘caguen’ en un artículo profesional)3 los conservadores. Francamente, los enfoques Ágiles asustan a los burócratas corporativos, al menos a aquellos que están contentos empujando el proceso por el bien de los procesos versus tratando de hacer lo mejor para el ‘cliente’ y entregar algo tangible y en tiempo y ‘como prometieron’, porque se les acaban los lugares donde esconderse.
El movimiento Ágil no es antimetodología, de hecho, muchos de nosotros queremos recuperar la credibilidad de la palabra ‘metodología’. Queremos restablecer un equilibrio. Adoptamos el modelado, pero no para archivar un diagrama en un repositorio polvoriento corporativo. Abrazamos la documentación, pero no cientos de páginas de tomos nunca actualizados y raramente usados. Planeamos, pero reconocemos los límites de la planificación en un entorno turbulento.”

 

  1. El término “Dilbertesco” proviene de las viñetas de Scott Adams “Dilbert”, de humor de oficina satírico sobre una oficia con empleados que están siendo microgestionados, término con connotación negativa, y que es representativo en empresas de desarrollo de software, entre otras. Las viñetas se pueden leer en http://dilbert.com/ N. del T.
  2. volver

  3. El término original en inglés es “make-work”, que aunque no posee traducción directa en español, no significa que no sea real. El término significa trabajo inventado para ocupar el tiempo de ocio de los empleados, puesto que cobran salario por ello. Mantener a los trabajadores ocupados sin ningún fin productivo, o realizando trabajo inútil, con el único objetivo de exprimir hasta el último de sus minutos laborales. No hay que decir que también existen los efectos contrarrestantes como “calentar la silla” y “aparentar”. En las viñetas de Dilbert es un motivo de humor recurrente por el entorno de microgestión. N. del T.
  4. volver

  5. La frase original en inglés es “scares the begeebers out”, donde “begeebers” es una sustitución de “shit”. De este modo, “scares the shit out” debería ser traducido por “cagarse de miedo”, pero se ha tratado de adaptar la intención irónica del autor en la traducción. N. del T.
  6. volver

Cómo configurar HTTPS en Tomcat 7

Lo primero es comprar un dominio y hacer que apunte al servidor (no indicados los pasos aquí).

Crear el certificado con Certbot.

Copiamos el .pfx generado a la carpeta de Tomcat y le damos permisos para que Tomcat lo pueda leer:

Configuramos Tomcat para que use el certificado SSL, en /etc/tomcat7/server.xml

Configuramos el sistema para que las peticiones a los puertos 80 y 443 los sirva el servidor escuchando en los puertos 8080 y8443. Yo lo pongo en /etc/init.d/tomcat7 en los comandos ‘start’ y ‘stop’:

Configurar Tomcat para que sólo acepte conexiones HTTPS en /etc/tomcat7/web.xml . Añadir dentro del contenido del tag <web-app> :

Configurar el conector HTTP en  /etc/tomcat7/server.xml  para que redireccione al puerto 443 (no al 8443), de manera que todas las peticiones HTTP serán redireccionadas a HTTPS:

Configurar la renovación automática del certificado

Añadimos la siguiente línea a /etc/crontab  para que se ejecute cada 2 meses (dado que el certificado dura 3):

Aunque otra opción es crear un script en bash que ejecutaremos a mano como root  cuando nos llegue el correo recordatorio de que el certificado va a expirar: