jueves, mayo 01, 2025

“Se suspende, se suspende”: el día que una explosión interrumpió el juego y nos recordó lo que verdaderamente importa

 El día de ayer 30 de abril, mi hijo José Armando tenía un partido programado con su equipo Bari, en los Campos Limitas de la liga Cordica.


Llegamos al lugar aproximadamente a las 16:00 horas, cuando nos estacionamos, mi esposa me dijo mira hay un incendio, se veía una columna de humo negro al noroeste de donde estábamos aproximadamente a unos 800 o 1,000 metros. En ese momento le preguntamos al señor encargado de los campos, si sabia que se estaba quemando, y dijo -no sé, pero ahorita voy a ver- se nos hizo gracioso que lanzando las llaves de su moto al aire nos decía "ahorita vengo y les cuento"; nos fuimos tranquilos a acomodar las sillas al costado izquierdo de la portería, ahí daba la sombra de un árbol y veíamos como esa columna grande de humo negro poco a poco se fue terminando, de hecho para las 16:45 ya no se veía nada, y comentamos "ya controlaron el incendio".

Pocos minutos después, 16:54 aproximadamente comenzó otro incendio, la columna de humo era mucho más cercana pero ahora hacia el este de nuestra ubicación, era tan grande que le tomamos una foto para ver si se veía algún rostro, la foto fue tomada exactamente a las 16:57:19



En la foto, debajo de ese humo, se observa una pared de lámina de la empresa que abarca todo al costado oriente del campo, justo al lado derecho de la portería que defendería mi hijo.

El partido inició puntual 17:00 comentamos que se jugaría porque el aire llevaba el humo en sentido contrario a donde estábamos. Así que comenzó, nuestro equipo (que por cierto juegan muy bien) estaban buscando por donde atacar, como siempre dando pases de un lado a otro, intentando llegar de la mejor manera hacia el arco rival y cuando se cierran los espacios regresan el balón a veces hasta con el portero, de hecho Jonathan (Güero) le dió un pase a JA desde el centro izquierdo, lo recibió y distribuyó hacia el lado derecho, con Cuevas; después de unos cuantos minutos, no recuerdo exactamente cuantos, tal vez unos 5, se escuchó una tremenda explosión, ésta provocó que la pared de la empresa del costado se botó y regresó a su sitio, nosotros sentimos como la onda expansiva nos empujó hacia la izquierda (estábamos viendo hacia el norte) y segundos después comenzaron a caer proyectiles (piedras y metales) a escasos 3 metros de donde estábamos sentados, de inmediato le dije a mi esposa vente, vamos al tejaban (que está en el tiro de esquina más alejado de la pared metálica) para cubrirnos. el árbitro continuaba las acciones del encuentro normalmente pero en ese momento el profe Edwin gritaba "se suspende, se suspende" "venganse niños", ya que estos proyectiles también estaban cayendo en la cancha.

Los niños estaban dentro del campo, con sus caritas llenas de miedo, pero demostrando gran madurez y tranquilidad, nos dividía una malla ciclónica, nosotros debajo del tejabán y de inmediato los niños comenzaron a brincar la malla, mi esposa colgada de un lado de la malla para doblarla y que los niños pasaran más rápido y sin lastimarse, la verdad no recuerdo exactamente quienes estábamos ahí sosteniendo la malla y sacando a los niños del campo, pero ahí estábamos pasándolos de uno a uno hacia debajo del tejabán, cuando un niño pasaba sus papás lo tomaban y evacuaban el lugar. Cuando pasó todo el equipo, le dije a mi esposa, llévate a José Armando, vayan al carro ahorita los alcanzo, yo pensaba que al menos podrían cubrirse de otros proyectiles de mejor manera ahí, ya que estaba estacionado en una zona arbolada.


Mientras tanto, terminamos de pasar a los niños de los dos equipos, y me fui hacia la zona de bancas a ayudar al profe a recoger sus cosas y traerme las nuestras (nos tocó llevar la hidratación y el refrigerio). Cuando llegué al carro, mi esposa y mi hijo ya tenían las puertas abiertas, para subir las cosas en la parte de atrás y yo en el frente, en ese momento mi esposa me dice "se me cayó el celular", yo quería regresar por el, siempre lo carga en la bolsa trasera del pantalón y supuse que estaría ahí por la malla  donde ella estaba colgada, pero no me dejó ir por el, me decía ya vámonos ahí déjalo; a la salida estaba el señor de los campos diciéndonos a todos los que pasábamos por ahí que tranquilos, con cuidado, le encargamos el celular y evacuamos el lugar.

Salimos de ahí y mi hijo le marcó al celular de mi esposa, cuando me estacioné justo en el cruce de las vías porque sorprendentemente nos contestaron la llamada, era un papá de un niño del equipo contrario que amablemente nos regresó el celular ya en la gasolinera que está más adelante.



Salimos del lugar, todo en orden, salvo que notamos alguien nos chocó el frente del carro, quedaron rayones de color azul y se enchueco un poco la fascia, pero de ahi en fuera gracias a Dios todo bien, seguramente por la urgencia de salir rápido pasó eso, pero es lo de menos.

Después ya que llegamos a nuestro destino, comenzamos a investigar en redes sociales que había pasado, o mejor dicho que estaba pasando.



Fué entonces nos enteramos que a menos de 400 metros del campo se estaba incendiando una empresa de aerosoles. Las imágenes y videos de redes sociales son impresionantes, la verdad yo no lo vi, estaba más preocupado por que salieramos todos bien de esa zona y no vi nada de frente. 










El incendio en la fábrica de aerosoles en los límites de Guadalajara y Tlaquepaque, dejó lamentablemente al menos dos personas fallecidas y 18 heridas, según informaron autoridades estatales. Además, se activó una emergencia atmosférica debido a la densa columna de humo que afectó a las colonias La Nogalera, El Álamo Industrial, Miravalle y zonas aledañas.

Después de 27 horas, alrededor de las 20:00 horas, autoridades confirmaron que los incendios ocurridos en la zona de El Álamo Industrial, en los límites de Guadalajara y Tlaquepaque, fueron controlados.

Fue un dia que me hace reflexionar en muchas situaciones, a Dios gracias, estamos bien.




miércoles, agosto 28, 2024

Conectar aplicaciones WinDev a MySQL 8.4.0 o superior

Para conectar aplicaciones desarrolladas en WinDev a MySQL 8.4.0 o versiones superiores, es fundamental seguir algunos pasos clave debido a los requisitos de compatibilidad con la arquitectura de 64 bits. A continuación, se describen los pasos necesarios para garantizar una conexión exitosa.

Generación de la aplicación a 64 bits

MySQL 8.4.0 o superior solo funciona en entornos de 64 bits. Por lo tanto, asegúrate de que la aplicación se genere en ese formato.

Uso de las librerías necesarias

Debes utilizar la librería libmysql.dll, que se encuentra en la instalación de MySQL. Puedes encontrarla en la siguiente ruta:

C:\Program Files\MySQL\MySQL Server 8.4\lib

Además, es necesario contar con las librerías libcrypto-3-x64.dll y libssl-3-x64.dll, que puedes obtener de la siguiente ubicación:

C:\Program Files\MySQL\MySQL Server 8.4\bin

Coloca las tres DLLs (libmysql.dll, libcrypto-3-x64.dll, y libssl-3-x64.dll) junto al archivo ejecutable (EXE) generado de tu aplicación WinDev.

Consideraciones adicionales

Estas DLLs fueron compiladas utilizando Visual C++, por lo que es posible que debas instalar el runtime correspondiente. Puedes descargarlo desde el siguiente enlace:

Descargar Visual C++ Redistributable

Verificación de dependencias

Si es necesario investigar las dependencias adicionales que puedan requerir las librerías, puedes utilizar la herramienta Dependency Walker, disponible en el siguiente enlace:

Dependency Walker

Siguiendo estos pasos, podrás asegurar que tus aplicaciones desarrolladas en WinDev se conecten correctamente a bases de datos MySQL 8.4.0 o superiores.


lunes, agosto 12, 2024

Conocer versión de MySQL con una query

 Para obtener la versión del MySQL o MariaDB al que estamos conectados, solo ejecuta esta query:


SELECT @@version_comment,version();




jueves, septiembre 15, 2022

Función para hacer ping en foxpro

 FUNCTION Ping(tcIp)
IF EMPTY(tcIp)
RETURN .F.
ENDIF 
loShell = CreateObject("WScript.Shell")
IF VARTYPE(loShell)<>'O'
RETURN .F.
ENDIF 
loScriptExec = loShell.Exec("ping -n 1 -w 2 -4 "+tcIp)
lcResp = loScriptExec.StdOut.ReadAll()
llRet = [TTL=]$lcResp
loScriptExec = null
loShell = null 
RETURN llRet
ENDFUNC 


Ejemplo de uso:

ip = "172.16.10.210"
? IP + " - " + TRANSFORM(ping(ip))

miércoles, diciembre 18, 2019

Clase Windev para Sellar, Timbrar y Cancelar CFDI


A considerar:

  • Te igualo el costo de timbre que vienen manejando.
  • Los timbres con nosotros NO caducan.
  • Las cancelaciones NO cuestan timbre, siempre y cuando el CFDI que quieras cancelar los timbraste con nosotros, si lo timbraste con otro proveedor, te cuesta 1 timbre.
  • No hay minino de compra, se les da acceso a mi.disxii.com para la administración de sus emisores; puedes ver parte del funcionamiento del panel en: https://www.youtube.com/watch?v=ydAZUguqqGU


Código para sellar:
sXML is ANSI string = "C:\Ruta\archivo.xml"
sCer is ANSI string = "C:\Ruta\CSD_Sucursal_1_EKU9003173C9_20230517_223850.cer"
sKey is ANSI string = "C:\Ruta\CSD_Sucursal_1_EKU9003173C9_20230517_223850.key"
sPassKey is ANSI string = "12345678a"
oTimbrar.Sellar(sXML, sCer, sKey, sPassKey)
IF oTimbrar.nEstatus <> 0 THEN
    Error(oTimbrar.sError)
ELSE
    Info("Sellado")
END



Código para Timbrar:
oTimbrar.Timbrar(sXML)
IF oTimbrar.nEstatus <> 0 THEN
    Error(oTimbrar.sError)
ELSE
    Info("Timbrado", oTimbrar.oTimbre.nStatus, oTimbrar.oTimbre.nStatusPAC,oTimbrar.oTimbre.sMensaje,oTimbrar.oTimbre.sUUID)
END
Código para cancelar:

sAcuse is ANSI string = "C:\Ruta\acuseCancelacion.xml"
sMotivoCancelacion is ANSI string = "02"
sFolioSustitucion is ANSI string = ""
oTimbrar.Cancelar(sXML , sCer, sKey, sPassKey ,sAcuse,sMotivoCancelacion,sFolioSustitucion)
IF oTimbrar.nEstatus <> 0 THEN
    Error(oTimbrar.sError)
ELSE
     Info("Cancelado",oTimbrar.oTimbre.nStatus,oTimbrar.oTimbre.sMensaje)
END


La clase la pueden descarar desde: https://www.dis12.com/Clases/WinDev/

Nota. Es necesaria la carpeta SSL a un lado del exe.

La clase es 100% funcional para testing (adelante con tus pruebas), para productivo hay que dar de alta al emisor en el panel para obtener el usr/pass de timbrado de cada emisor.

lunes, septiembre 02, 2019

Mientras tú creías que yo no estaba mirando

Mientras tú creías que yo no estaba mirando, yo vi que:

Pegaste con un imán mi dibujo al refrigerador, por eso de inmediato quise hacer otro.

Le diste de comer a un gatito sin hogar, entonces entendí que a los animales hay que tratarlos con amor y respeto.

Preparaste mi pastel favorito especialmente para mi, así me dí cuenta que los pequeños detalles ocultan mucho sentido.

Fuiste a visitar a tu amigo enfermo, y entonces entendí que las personas deben cuidarse mutuamente.

No niegas la ayuda a los necesitados, y comprendí que si tienes tiempo y dinero, hay que ayudar a aquellos que no lo tienen.

Tratas con mucho cuidado nuestra casa y a todos los que vivimos aquí, y entendí que cada persona debe cuidar lo que tiene y lo que quiere.

Incluso cuando te sientes mal, continúas cumpliendo con tus obligaciones, y me di cuenta de lo que significa la responsabilidad.

A veces no pudiste contener las lágrimas, y entendí que en la vida hay tristeza y dolor, y llorar es normal.
Nunca dejas de cuidar de mí, y yo quise cumplir todas tus expectativas y hacer todo lo posible para que te sientas orgulloso de mí.

Mientras tú creías que yo no estaba mirando, aprendía de ti la vida. Tomé tu ejemplo y traté de ser como tú.

En lo más profundo de mi alma estaba un pequeño adulto que se decía a sí mismo:

Queridos padres gracias por todo lo que he visto mientras creían que yo no estaba mirando.

Autor Desconocido