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.

Precierre de fin de año

Son las 17:55 en una sucursal del cliente principal, que ya no lo es. Hoy estoy aqui esperando por si sale una incidencia con el nuevo sistema de gestiòn que instalé que sustituye al Legacy, las capturistas no tienen problemas menos con dos articulos que tienen mal los precios porque no me los han definido la gerencia de ventas, y son varias toneladas. Asi que las hacen esas facturas en el sistema antiguo.

Hoy recibì dos pequeños pagos, suficientes para pagar la quincena y el aguinaldo de los trabajadores de mi grupo de empresas. Mal no me esta yendo, pero podrìa ser mejor si nos hubieran hecho todos los pagos. Estoy viendo una serie de situaciones a futuro con los servidores de internet, y el estado actual de Mexico, mi pais, no se ve nada bien. Por mientras yo estoy aqui sentado, esperando que sean las 19:30 horas o que acaben de capturar todas las ventas de lkas unidades de ruta, para poder irme. Mañana estare de guardia en mi casa pero creo que no habrà nada que hacer.

Hay unos detalles por programar. Revisar que esta pasando con las fracciones cuando regresan empaque, y revisar que la carga solo muestre lo que tiene cantidades diferentes a cero, que se vio afectado por las mecancìas de promociòn o el sistema operativo. Por un lado me enoja que esten haciendo las pruebas hasta hoy cuando pudieron hacerse hace mas de un mes.

Por otro.. me veo obligado a hacer comparaciones con otros momentos de mi vida, en otros momentos de desatar / liberar un sistema. Aqui es solo el preludio, de mas trabajo para corregir la operaciòn y tratar de rescatar los problemas que puedan ser detectados por sistemas. Este sistema usa solo unos 8 archivos de codigo mas 12 de recursos graficos, a diferencia del anterior que eran mas de 800.

Espero poder usar las primeras semanas del año en reconstruir cobranza desde el punto de vista de la sucursal, y espero, tambien, poder tomar una semana de vacaciones antes del cambio de mssql server a mysql. Aunque adoro un mssql bien configurado, el programador original que se fue en febrero no tenia idea de las colisiones ni de manejo de indices como dios manda, y el problema ahora es la conexion de red. Tener 300 a 1200 de latencia en un ping es insufrible.

Quiero hacer muchas cosas este año pero se ve dificil por la mala calidad de la red y el retraso en pagos. Se que es muy probable que el siguiente año de de alta una Sociedad Civil en la ciudad de la casa que me dejó mi señora madre, por razones técnicas. Depende sobre todo que dos empresas clientes paguen lo que se debe. Considerando que el año pasado cerre con una cartera igual a cero, es insufrible que este año por los problemas provocados con el obierno, tengan los problemas que tienen varios de mis clientes.

Este sistema de gestiòn podrìa ser vendible a futuro, pero prefiero esperar y ver.

Quizà escriba mas en estos dias, espero informaciòn adicional de varios lugares.

 

 

Sabiduría Popular, metro

Este martes me encontrè con mi esposa a dos viejitos ne el metro que ya hemos visto antes. Son cariñosos entre sí, pero nos han hecho pasar ratos divertidos a lo largo de los meses, viendoles imparcialmente.

(Metro, con musica ambiental , van medio dormidos los dos )

– Eres un amor (ella)

-No soy enojón (el)

– Eres un amor (ella)

– Estoy sordo y que (el)

 

 

Mediados de diciembre

Las cosas estan bien y mal a la vez, el cliente principal sigue con problemas de pagos, muchas cosas estan resueltas. Debo pensar un poco mas, y escribir mas, pero supongo que es poco probable que tenga tiempo esta semana.

 

Probablemente el lunes…

25 de noviembre pum pum pum

Son las 05:46 de la mañana de un martes. El día 24 de noviembre cada año me suele pasar algo nuevo. A veces es que creo razones sociales, pero en esta ocasión fue que un pariente que vino al Distrito Federal, nos trajo un regalo a mi esposa y a mi. Un cachorrito schanuzer macho de dos meses y medio, que está precioso y que ayer presentamos a su futura novia, la schnauzer reciente. Al momento de escribir esto me puse a pensar en muchas cosas relacionadas con los schnauzer con problemas que ayudamos mi esposa y yo a través del veterinario de la razón social.  Sin embargo, veo a este perrito con una actitud interesante y su prueba de caracter demuestra que es cariñoso.Ayer aprovechamos para presentarlo con las dos perritas ratoneras de los vecinos que siempre vemos al pasear a los otros, y creo que le latió mas la perrita cruza ratonera chihuahua  que su futura novia.

En cuanto al trabajo, el cliente principal me hizo realizar una serie de reuniones y  llegamos al acuerdo que mi personal va de regreso. Es probable que el año que entra sea un año interesante a pesar de todas las tarugadas que está haciendo el gobierno en turno.

Cosas del puente

05:52

Pasé una parte del puente – descanso de viernes sábado y domingo haciendo cosas útiles, pero no descansé mucho, incluso creo que estuvo medio tenso y algo desperdiciado.

Resulta que un vecino me pidió ayuda por un perro macho french puddle perdido, que está curioso y es cariñoso, en la prueba de carácter lo que hizo fue lamerme pero se ve que tiene miedo. Quizá lo pueda canalizar a través de la razón social relacionada con veterinario, pero eso implica, también, esterilizarlo por los procedimientos estándar de la ciudad. 

Luego mi peluquero de costumbre no abrió ninguno de los tres días y tuve que buscar uno nuevo. Tuve que ir a unos quince años de una persona, y resulta que el papá es un «cliente» que por internet trató de estafarme y que también insultó a mi familia por internet y que corrí por sus propias tarugadas y falta de pago, así que dejé mi regalo de 100 USD y me fui. El tipo camina mal, como con broncas internas y es de mi edad, su esposa se ve medio dormida / estado zombie y la iglesia en cuestión estaba llena de plañideros. Por una vez llegar una hora antes resultó contraproducente.

Es extraño. A lo largo de los años me encontrado con muchos sujetos en situación desesperada que se ponen agresivos, y eso que no me refiero a los de la secta templo de la serpiente emplumada. En persona suelen ser mas tranquilos aunque hacen amenazas como «por las malas soy muy malo» o similares. En cuestiones de trabajo recuerdo a una persona que era el contacto con Clariant y que descubrí mintiendo en el 2002 poco después que vendiera yo una de la empresas de entonces; y ese problema pegaba a algo serio, una certificación y su «amenaza»  fue en «privado» en un área con paredes de cristal donde podían vernos pero no oirnos. Recuerdo que saliendo hablé con la responsable por Clariant y le expliqué el problema de las licencias de Sql Server y me retiré.

Ayer recibí un correo raro del responsable de la falta de pago de  mi cliente principal , así que debo ver.

Y tengo que apurarme para regresar temprano porque de las tiendas de ropa pidieron entrevistar a alguien con conocimiento de wordpress , lo bueno es que la persona puede venir a entrevista a las 18:30.

 

En la mañana de un viernes

Escribo esto en mi IPAD, en el centro de la ciudad, en las oficinas de una secretaría del Gobierno del Distrito Federal, esperando que me reciba una persona para firmar un documento pendiente de visto bueno. Ayer pasé casi toda la tarde con dos clientes primero y después con las personas que contraté para el nuevo proyecto en una dependencia federal, que normalmente yo podría hacer solo, pero en este caso es documentar una serie de problemas de Oracle schemes , sinónimos y cosas raras que suceden. Es un respiro, por una vez, que el trabajo a entregar / entregables sean reportes de fallas y soluciones, en lugar de tener que estar correteando a los usuarios finales para que firmen de recibido.

Con el cliente principal siguen sin recibirse pagos de mi personal, por lo que es probable que hoy deba retirarlo por pura cuestión de negocios; inclusive si no tuvieran las incidencias de operación que tienen. Al mismo tiempo por segundo mes consecutivo mi «iguala» que se suele dar en los primeros días del mes no se ha recibido, lo que implica un laaaaaargo fin de semana donde quieren que haga guardia (  estar disponible las 24 horas por el problema de precios que detecté hace varios meses), y que podría ser peor si no me hubieran pagado del interior del país y mejor si la situación estuviera de momento bien determinada.

Lo primero que noto es la necesidad de hacer en un momento del año que entra una Sociedad Civil, porque hay herramientas de control y propósitos a largo plazo se pueden servir mejor usando dos sociedades civiles y una Sociedad Anónima, en lugar de dos SA y una SC.

Lo segundo es que algo hemos estado haciendo bien con el cliente principal para que los usuarios finales esten entusiasmados con el proyecto que va a medias por falta de datos de la  gerencia IT. y es muy positivo que los otros proyectos han hecho que el «cliente principal» sea ya un cliente secundario desde hace dos meses. Creo que hay algo profundamente mal en la falta de seguimiento a los problemas de la planta que detecté con uno de mis sistemas, y algo peor por el descontrol de precios, pero en este caso creo que es una absoluta desidia e indiferencia por varias personas. El DIrector General, como yo supuse, sacó esta semana de su puesto a una contralora que para fines prácticos era Subdirectora, y supe de otro cambio en uno de los negocios secundarios, por lo cual, creo que por lo menos el director general, al que conozco  desde hace años, sabe que debe arreglar algo. Tengo una lista de asuntos desde marzo, y otra de septiembre de puntos que pueden mejorar lo actual, pero resulta difícil implementar las soluciones que yo puedo hacer cuando la red tiene problemas  de 500 a 1500 ms de latencia con una conexión BESTEL de 20 mil al mes, por estar mal configuradas las oficinas centrales.

Tengo al mismo tiempo la impresión que deben hacerse otras cosas; con la salida de mi personal de ese cliente a partir del próximo martes deberé estar en esas oficinas, pero no sé si sea posible compaginar lo rentable ( es decir que paguen a tiempo ) con el desorden que se carga una persona. Tampoco pueden esperar que yo realice las funciones propias, las de mi personal, y las del programador principal que se les fue en febrero y menos si tenemos varios pagos demorados y algunos por mas de tres meses.

Por el momento pasé la tarde  de ayer hablando con el cliente de las gasolineras y un poco con el de las tiendas de ropa del centro, que como son primos los veo juntos casi siempre. Pero recibí unas horas antes la transferencia del pago del final de ese proyecto, y acordamos lo que quieren para 2015.

Son las 10:27 y hace mucho calor. Quizá me conviene ir a la casa a bañarme una vez me firmen el documento, para llegar fresco a recibir la entrega del personal que tengo con el cliente principal. Sin embargo, es desagradable al mismo tiempo porque se estaba haciendo un buen trabajo y estamos parados por la desidia de una persona, y no es rentable aunque hace ocho días el director general se mostró preocupado porque no se le ha pagado a mi gente, y trató de organizar una reunión para agendar el pago, por la desidia y desinterés de una persona todo el proyecto que esta a medias, y mucha de su operación se pueden ir al carajo en tres meses porque no quieren aceptar el problema, no consideran las soluciones sin costo que he propuesto, esta persona no ha pasado los reportes que le he hecho, que afortunadamente tengo con su firma de recibido en varios. En todo caso es obligación como empresa hacer el reporte de lo que está pasando a los canales conducentes.

10:31.

Me llaman, publicaré esto al regresar de con mi cliente principal