Siete de enero 2015

Me encuentro a eso de las diez de la mañana, en una situaciòn medianamente extraña. Por un lado estoy esperando que personal de uno de los clientes de mi empresa capturen lo que les llegò de mercancìa de otra de las plantas de la empresa, y por otro, pienso que el dìa de ayer fue muy simple y al mismo tiempo trascendental.

Ayer el centro de distribuciòn principal facturò unas 200 facturas en mi sistema que sustituye al legacy, sin problemas de ninguna clase menos la mugre red inestable; la parte mas dificil de esta primera fase està hecha.

En segundo plao, los datosa de producciòn estan cargandose en un sistema diferente para mostrar a gerencia el dashboard. En total son unas 12 mil lìneas de codigo que corren en este momento, solo en este lugar.

Gist of 05 / ene / 2015

Eliminado en 2018

Eran rutinas para salvar un código qr en formato gif. EL problema a resolver era que se convertían png generados de librerías QR , a gif que era el formato que manejaban las librerías de creación de PDF que estaban en uso. Versiones actuales en pruebas del vendor /código libre ya permiten uso de gif, y seguramente cuando leas esto las librerías de PDF podrán leer el stream de memoria.

 

Leyendo un libro que compré el mes pasado

Acabo de leer un libro que compré a mediados de diciembre; escrito a finales de los 80, es un escritor reconocido que ha ganado varios premios y van a hacer pronto película de su personaje mas conocido, que es justamente de este libro.

Sin embargo, es extraño ver esos niveles de locura en algo que en es terror, y solo rodean los bordes de la historia real original. Es algo mucho mas profundo que las vaciladas de Carlos Castaneda, pero en el mundo de Castaneda los peligros son imaginarios; he leído algo que es justamente de esa materia de pesadillas que puedo observar y decir, este sueño es una pendejada monumental… y despertarme. Lo peor del caso, es que probablemente así es la vida para cientos de miles de personas cuando estan despiertos

11:43 am

Debo ponerme a revisar las listas de precios de uno de los clientes. Al mismo tiempo veo que me espera en este año. Es una situación extraña, y la situación extraña no es del cliente o del mundo. Mientras escribo nuevamente esta en los altavoces el segundo concierto para piano de rachmanninov, extraña elección para cambiar una lista de precios pero a la vez es lo mas normal.

Hora de poner calles de fuego. Programar, sacar los queries, respaldar, modificar, afectar la vida de cientos de personas con el producto de mis manos.

GIST del 4 / ene / 2015

Eliminado en 2018.

Desde hace varios años (2002 ?) monitoreo servidores propios en linux. Hice hace unos años este script que me da información que no debe estar expuesta, pero con un vistazo rápido puedo ver desde cualquier navegador cual es el status del server. Sugiero tenerlo con un nombre diferente en cada servidor monitoreado.

EL objetivo era mostrar ps y avg 0,5,15 así como uso de disco duro, si el servidor lo permite. Por lo general lo manejaba con contraseña adicional, pero lo he incorporado en código propio, y con el paso a la nube la mayoría de la gente ya no tiene control sobre sus propios servidores por lo cual ya no se necesita aquí.

Este tipo de scripts siguen siendo útiles en entornos on-premise o híbridos, pero deben mantenerse privados y adaptados a cada infraestructura. La visibilidad rápida no debe comprometer la seguridad.

Y la nube no existe. Son los servidores de alguien más.

GIST del 03 / ene / 2015

Haciendo limpieza de uno de los servidores de Ojos Alerta, encontré este snippet que usé para limpiar errores de conversión de foros en español Por unicode.

Notas de 2024, eliminado en 2020

Lo eliminé por diversas razones en 2020. Las soluciones vbulletin e Invision están muertas. La que se ve funcional y viva es mybb. Y si puedes escribir scripts de conversión desde wordpress hacia mybb o entre los diferentes sistemas de foros, este texto sale sobrando.

Aviso que de en 2020 Google penalizaba foros, tratando de forzar uso de AMP y soluciones que google te diera la información (haciendo caché y mandando al demonio tus visitas, estadísticas y controles), por lo que de tres foros grandes en su momento pasé dos a wordpress y el tercero a otra solución. Pero en algún momento de 2021 google recapacitó en su SEO, y regresé una de las tres soluciones a mybb que se ve lo único fiable y con un importador muy decente.

GIST del 02 / ene / 2015

Actualizado al 2024

  • Este gist publicado en 2015 sigue disponible porque resuelve un problema técnico vigente en migraciones entre MSSQL y MySQL. Aunque otros gists han sido eliminados por obsolescencia, este se mantiene por su utilidad práctica y claridad. El código está bajo LGPL 2.0 y puede adaptarse fácilmente a entornos modernos.
  • Los renglones comentados en el código se dejaron intencionalmente porque, en muchos casos, no se tiene certeza del collation exacto que usa el servidor MSSQL o el destino en MySQL/MariaDB. Esto puede afectar cómo se interpretan los nombres de los meses en cadenas de fecha, especialmente en entornos multilenguaje o migraciones entre sistemas con configuraciones regionales distintas. El código fue pensado como ejemplo funcional y flexible, y sigue cumpliendo su propósito en 2024: ofrecer una forma sencilla de normalizar fechas smalldatetime sin depender del collation específico del origen o destino.

Hoy me encontré con un problema serio de traslación de una base de datos de 4 gb de mssql server a mysql, ya que el administrador de la base de datos, usó campos small date time, que tienen el problema de hacer complicadas las búsquedas y que segun el navegador puede regresar una cadena de texto diferente de una fecha al querer hacer una conversión.

Este pequeño código lo arregla :

https://gist.github.com/OjosAlertaAC/681bc71ec3dbdc5bd755

Repositorios y cambios en GIST

Por increíble que parezca, encontré un programador decente, que no puede, literalmente usar subversion por mas que le haya instalado Turtoise y otros clientes. Esto me lleva a una serie de problemas porque estoy acostumbrado a usar Snippets de pequeños subrepositorios, pero ese programador de plano no puede consultarlos. Asi que he tomado una decisión radical.

A partir de hoy estaré subiendo Snippets de código , principalmente php (los de ruby y de python si saben ver el subversion), para facilitar el trabajo de algunos de los programadores que tengo en mis razones sociales.

Por cuestiones de derechos y de uso comercial para aplicaciones propietarias, siempre he recomendado el uso de la licencia LGPL 2.0, ya que otras licencias tienen  problemas para los fines que me importan. Como no voy a permitir que alguien se beneficie del producto de mi mente, salvo casos muy contados, solo publicaré snippets o cosas que no pueden usarse para fines comerciales. En días proximos, empezaré a anotar un indice de Snippets en Gist.

En la sección código hay una explicación de porqué no publico código. En pocas palabras, cuando trabajas en entornos sin conexión, no puedes depender de internet y composer. Y si manejas información de secretarías de estado, factura electrónica y cosas de estudiantes o pacientes de hospital, sería irresponsable.

Nota editorial (2023): Esta entrada refleja una etapa intermedia donde era GIST o problemas peores. Aunque en su momento consideré funcional compartir snippets en Gist, la evolución de mis entornos técnicos, la sensibilidad de los datos que manejo, y la necesidad de proteger procesos críticos me llevaron a eliminar casi todos los gists públicos, principalmente por revisiones de 2018 y la salida de ese programador de mi propia empresa en 2022. La explicación completa está en la sección “Código”.

 

Evaluación de fin de año

Preparando los detalles previos al cierre de año, veo que mi empresa principal vendió servicios por 10% mas que el año pasado. Sin embargo, el año pasado el mes de diciembre fue excepcionalmente bueno asi que quizá el incremento es de un 20% o más.

Veo que al mismo tiempo ese 10% corresponde a cuentas por cobrar que no son incobrables. Así que la mejora tentativa fue de 10% pero neta pudo ser inferior. La línea de negocios temporal que tomé a principios de año, que no me gustaba, hizo la diferencia aunque es justamente la mayor parte de las facturas pendientes de pago. Creo que si logro llegar a marzo del 2015 haciendo que el que era cliente principal pague a tiempo lo anterior, será un año excelente el 2015. Si sigo con elvolumen de venta actual de los tres servicios principales, está garantizado mas o menos un 80% de la venta de este año, y probablemente mas por el nuevo servidor del sistema legacy / intermedio es el mismo 100% pero sin la linea de negocios temporal.

Lo que puede hacerse cuando se sacude a los parásitos.

 

Una navidad más

19:10

 

Acabamos de mandar con itacate a su casa a varios de los programadores que nos ayudaron en el proyecto de las gasolineras; no quise hacer una reunión mas formal, porque el contrato de tres meses de algunos de los integrantes de ese proyecto, vence la primera semana de enero. Sin embargo, esta siendo un fin de año terso y sin problemas.

En el horno nos queda mas o menos como un kilo y medio de pastel de carne, ravioles y algo de lomo.  De postre pay helado de limón de vips. Con el cliente principal sigue el mismo problema que los últimos dos meses , exceso de burocracia. Los pagos siguen medianamente detenidos, calculo a ojo de buen cubero que solo va a salir un pago de unos veinte mil pesos de lo que deben, y lo demás será el año que entra.

Parece que estos días que faltan para que termine el año voy a tener tiempo libre.