Miércoles 11 de enero de 2017

Max Valdez

Max Valdez
GaRaGeD Style

Mi queja con los discos recientes de MetallicA

Hace mucho tiempo que extraño escuchar buenas canciones nuevas de MetallicA, es algo que he tenido en mi cabeza posiblemente más de una década ya (que rápido pasa el tiempo cuando uno está cuarentón). Para cualquier fan de MetallicA es bien conocido que han tenido altibajos importantes, a mucho ni el disco negro les gustó, a mi si me gusta mucho, y el load ya no me gustó mucho, el reload estuvo un poco mejor, pero solo un poco, y luego sacaron el Garage Inc. (desde entonces tengo mi alias de GaRaGeD :D) y el magnífico S&M que por muchos años oí incesantemente.

El asunto es que después del S&M poco me ha gustado de lo que han sacado, de hecho no oigo normalmente ninguno de los discos de entonces a la fecha, y recientemente le he estado dando oportunidad al último, que honestamente no me cayó muy bien en la primera escuchada, y no parece que mejore con el tiempo.

Ayer camino a casa iba escuchando precisamente el “Hardwired… to self-destruct” y finalmente entendí por completo lo que realmente me molesta de los 3 discos más recientes, es algo que desde hace mucho sabía, pero nunca lo había entendido como ayer, lo describo ampliamente en los siguientes párrafos 😀 (un poco de drama, no se a quién le importe, pero eso haré).

Desde el “St. Anger” me quejaba mucho de que el disco parecía estar mal mezclado, y de hecho sigo sosteniéndolo, y la batería de Lars sonaba desafinada, o en el mejor de los casos suena a la batería clásica de un novato, de esas que llenan de parches, y todos los sonidos están distorcionados de la intención inicial de cada uno de los tambores y discos.

El “Death Magnetic” me pareció muy similar, sonido feo en general, y otra vez (no lo mencioné en el anterior) canciones con muy poca inspiración, me da risa que siempre anuncia James los discos como “van a oir un disco con canciones muy rápidas y muy largas”, esa era una característica positiva de MetallicA, pero al menos en mi opinión dejó de serlo hace como 15 años :D.

El punto es que llegó el “Hardwired” y lo he estado escuchando de vez en cuando, y finalmente ayer caí en cuenta de lo que comento arriba, no solo es un problema de cómo se mezclan las canciones, de hecho este me parece que suena mejor, y a pesar de que está un poco más inspirado, al menos eso me parece, la batería suena terriblemente novata, se parece mucho al tipo de sonido que hace un niño pequeño que por primera vez se pone a darle de palazos a una batería, si lo han escuchado ? es un sonido retumbante, que puede ser de alguna forma rítmico, pero que ataca al oído.

Lo definiría otra vez como el tipo de batería que tocaría un novato que ya controla bien el instrumento, pero que solo sabe repetir patrones clásicos del Thrash. Es alto totalmente sin inspiración lo que oigo en esa batería, y por tanto afecta lo mas rescatable que tiene este último disco, que son las guitarras.

Y luego podemos pasar a la voz, que en si no es mala, lo que me aburre terriblemente es que todas las canciones las canta James como si fuera novato también, están llenas de los clásicos “efectos” de voz para hacer más “armoniosa” una letra que a todas luces no tiene chiste. A cada rato hace el típico sonido que podría describir aquí como un “Eeee-iiiii-Eeee” o un “Yei-yaaaa”, etc, etc, espero darme a entender, son ese tipo de trucos que se usan cuando el ritmo de una canción es muy plano, muy similar a los trucos que se usan para escribir poesía o canciones, cuando alguien abusa de los verbos en infitinivo, la clásica rima esa que usa “caminar” y “tocar” por ejemplo, una forma muy barata de lograr una rima, o una armonía entre las frases de un verso, pero que cualquiera puede notar que está muy falta de inspiración.

El punto es que, finalmente entendí que lo que me molesta de MetallicA en sus últimos discos es que suenan a novatos, en vez de hacer ritmos rebuscados, como lo hacían siempre en sus tiempos buenos, ahora están abusando de la batería dándole palazos, y las letras no lucen porque la forma de expresarlas también suena muy novata, y eso lo atribuyo a lo primero, sin un ritmo decente que enmarque una canción, es complicado llevar una voz que luzca, de tal manera que lo que tiene que hacer James es simplemente recurrir a herramientas vocales muy simplonas que terminan arruinando lo que pudo ser bueno de una canción metalera.

Es muy relevante para mi al respecto de la calidad del nuevo disco de MetallicA que cuando voy manejando, y pienso qué se me antoja oír, muy frecuentemente termino oyendo a “Twenty One Pilots” (tengo que escribir algo positivo, siempre me quejo, haré un “review” de sus discos) y no a MetallicA, como solía suceder hace algunos años.

Y sigo disfrutando sus discos viejos, son la neta para mi, pero es triste que pasaron 15 años, y 3 discos, y sigo sin encontrarle el gusto a lo que hacen mis más grandes ídolos musicales.

Martes 10 de enero de 2017

Max Valdez

Max Valdez
GaRaGeD Style

What a ride !

Que cosas han pasado en los últimos 2 meses !!

De entrada yo estaba convencido de que no podía ganar Trump las elecciones de USA, y tómala, ya es “president-elect” y está a muy pocos días de tomar posesión. Y además está cumpliendo con las expectativas ! sus amenazas han hecho que se retiren 2 (y vamos por la tercera) compañías constructoras de coches que planeaban crear plantas nuevas en México, y sigue amenazando con que se hará “el gran muro” que además de algún modo pagaremos nosotros.

Pero eso no es le peor que nos ha pasado a los mexicanos, se aprobó y ejecutó un aumento importante a los combustibles, además de que se va a “liberar” su precio, con lo que tenemos desde el 1o de enero un montón de protestas que además han derivado en unos muy sospechosos saqueos a centros comerciales, principalmente en el Estado de México, que por lo que se ha podido comprobar por medio de algunos videos de personas muy atrevidas y valientes, al menos en parte están siendo alimentados por gente contratada por el propio gobierno de Eruviel; súmale a eso que en redes sociales ha habido toda una campaña para sembrar pánico con noticias falsas, y algunas redes de “bots” que incitan incluso a la violencia, o difunden eventos de violencia falsos, pues tenemos un ambiente digno de risa.

Bien sabemos que tenemos un gobierno terriblemente inepto, solo necesitamos ver cada declaración que se atreve a dar nuestro presidente, y las cosas se han puesto tan mal como cualquiera hubiera podido prevenir. De alguna forma los políticos están convencidos de que el pueblo se va a creer el cuento de que hay un subsidio estratosférico a los combustibles, y que PEMEX sigue perdiendo año con año, y que es normal que si sube el precio del petroleo suba la gasolina de México, y si baja el precio del petroleo también suba el precio de la gasolina, el cuento de siempre.

Hay todo un manejo de datos por detrás que podrían hacer caer a una persona ingenua, pero la verdad es que México estuvo percibiendo por casi 10 años excedentes por la venta del petroleo cuando estuvo muy por arriba de los 100 dólares el barril, y resulta que ahora que bajó, entiéndase que ya no hay tanto excedente, pero la ganancia sigue, resulta que en cuanto sube el precio del petroleo tenemos que resignarnos a que también la gasolina sube de 10-20%, porque ya no hay excedentes !! los que se percibieron por 10 años se acabaron en meses, o en el peor de los casos en un par de años, alguien vio en qué se fueron?

Y luego quieren que les creamos que el transporte también es complicado, resulta que es fácil sacar el petroleo del país, pero no es fácil poner gasolina en los tanques de los coches nacionales !! si tuviéramos una gasolina barata podríamos creer que se economiza al máximo, pero resulta que nos sale carísima, principalmente porque la mayor parte la importamos !! un país de los principales extractores de petroleo no tiene para hacer sus refinerías, así de deprimente como se lee. Pero claro, cuando PEMEX todos los años tiene pérdidas (¿cómo le hace una empresa petrolera para tener pérdidas ? que alguien explique eso) pues menos podríamos mantener la compleja infraestructura de refinerías que se requiere para proveer de la gasolina necesaria del país, es mucho más sensato comprarla a USA y subirle 20% del gasto a los mexicanos.

La realidad es que los recursos del país cada vez están más saqueados, esa es la razón por la que los políticos cada vez necesitan más, y nos los muestran a través de nuevos impuestos.

Las marchas continúan, la gente está muy cansada, pero afortunadamente las cosas siguen con suficiente paz, incluso los pocos eventos violentos que se han dado en estas dos semanas han sido pocos, y de alguna manera a todos nos queda claro que una parte son gente descarada que quiere aprovechar el momento para delinquir y la otra parte son personas infiltradas por el gobierno, no es nada fácil probar, pero hay suficiente evidencia entre lo que la gente ha podido detectar y exponer en fotos y videos.

Vamos a ver cómo sigue este año, que por lo pronto empezó con gasolinazo, devaluación del peso, ataques verbales de Trump a México, y toda una serie de cosas no muy positivas, nos toca ponernos las pilas para revertir los efectos de los ataques 😀

Sábado 22 de octubre de 2016

Max Valdez

Max Valdez
GaRaGeD Style

Pensando en la actualidad social y política (de USA?)

Lateral a todo el show mediatico que los candidatos a la presidencia de USA, y los todavía no candidatos para la correspondiente elección mexicana del 2018 (eso si, muy bien destapados) podemos observar mucho más que el interés por el cargo, o por el mism país que los candidatos quieren gobernar.

De entrada, en un mundo en el que se está enfatizando a niveles casi obsesivos sobre la tolerancia, vemos un discurso terriblemente intolerante por parte de Trump, no tiene mucho de raro que la derecha se comporte conservadora, lo que si es muy notable es que ese racismo que desde hace años venía presagiando la venida de un Hitler gringo (no literalmente, o quizá a alguien se le había ocurrido) ahora no parece nada descabellado. No solo ha demostrado que la gente gringa (con montones de mexicanos entre ellos) tiene un muy buen porcentaje de racistas, sino que ha puesto de manifiesto que no se ha avanzado gran cosa en cuestión de igualdad de género, Trump ha demostrado ser machista y misógino, y a pesar de que entre las mujeres votantes tiene poco apoyo, sus desplantes deberían haber provocado el desprecio mucho más general, y no es para nada así.

Por otro lado, Hillary Clinton sufrió un poco al inicio de la campaña, hasta que Trump le empezó a hacer su chamba al grado que en los debates terminó por atacarlo muy suavemente, porque él se atacaba mejor por su cuenta, de tal manera que ahora, con todo y que su país conoce muy bien las movidas de ella y su expresidente marido, el hecho es que indudablemente va a ser la próxima presidenta de USA, lo cual para los mexicanos puede ser un gran alivio, ya que podremos escudarnos en que no somos el único país que vota por el menos pior, de hecho esto podría ser muy bueno para el peje, cuidado PRI-PAN-PRD!

Pero la parte más deprimente para mi es darme cuenta del nivel de descaro que tienen los políticos, de Hillary se saben detalles turbios de sus arreglos, podemos decir que lo peor lo ha hecho su esposo, pero da lo mismo, ella sigue casada, si no estuviera de acuerdo con él se hubiera divorciado, y si sigue con él por imagen, pues tantito peor; y aquí es donde viene lo que más me preocupa, resulta que como buenos imitadores de los gringos, de nuestro lado ya está la esposa de uno de los peores presidentes que hemos tenido lista para ser candidata oficial del PAN, una mujer sin trayectoria política, totalmente gris durante el mandato de su esposo, y que no tiene ningún argumento creible que pueda hacer a alguien creer que está buscando el puesto porque puede, no por interés en el país.

No tiene nada de raro que personas corruptas e interesadas en explotar a su beneficio el poder político estén buscando el puesto más alto al que se puede aspirar, lo extraño es que tengan tantos seguidores, aún con pruebas claras de apoyar varias de las actitudes intolerantes que en estos días se critican tanto en todos lados. Me preocupa este país en serio, porque si ganara Trump sería un desastre, pero con Hillary difícilmente nos va a ir mejor que como ya estamos, y cuando llegue el tiempo de las elecciones mexicanas, nuestras opciones serán igualmente pobres: el peje como menos pior, Margarita como la peor expresión de descaro político, y quien sea que saque el PRI que nos queda claro que estará muy bien involucrado con el Narco.

Me encantaría que la sociedad fuera congruente y demostrara tolerancia pareja, pero en estos momento eso no parece posible, esperemos que en unos pocos años la cosa cambie para bien.

Jueves 20 de octubre de 2016

Mario Oyorzábal

Mario Oyorzábal
TuXsOuL

GNU/Linux Debian en HP Proliant DL320e Gen8 v2

Desde hace poco estoy trabajando en un servidor “HP Proliant DL320e Gen8 v2”, la idea es hacer mejoras en los servicios y ahorrar si es posible, dado que actualmente se utilizan para trabajo diario en una pyme tres servidores diferentes, dentro de los cuales se encuentra el servidor que acabo de mencionar.

La historia del porque se utilizan tres servidores diferentes, es interesante y no deja de llamar la atención dado que más de una pyme o tú propia pyme puede sufrir de está misma problemática.

Todo comienza cuando se ve la necesidad de un sistema administrativo, que cubra y automatice las necesidades de la pyme, algo muy normal, lo que si podemos enfatizar, es que “ningún software se adaptará a una pyme, dado que una pyme cambia más rápido que su propio software”.

Una vez que se encontró a un desarrollador de software, se creo el software que se necesitaba, este fue instalado por primera vez en una máquina o en el primer servidor, con el tiempo, él desarrollador de software libera una nueva versión, la cual ofrece a la pyme, pero por alguna razón desconocida que suele pasar mucho más de lo que se cree, no se realiza una migración a la nueva versión y por consiguiente es necesario tener una instancia diferente de esta nueva versión, entonces, se realiza la compra de otro servidor y la instalación de la nueva versión del software.

En este momento la pyme, ya cuenta con dos servidores y dos versiones diferentes del mismo software, los cuales utiliza de manera conjunta.

Conforme avanza el tiempo, el hecho se repite nuevamente, él desarrollador de software tiene una nueva versión, por alguna extraña razón de nuevo, no se realiza una migración y la pyme compra otro servidor con las especificaciones del desarrollador de software, para la instalación de la nueva instancia del software.

Ya en este momento la pyme, cuenta con los tres servidores y tres versiones diferentes del mismo software, como cuento de los tres cochinitos y el lobo feroz, las dos versiones anteriores se utilizan con una poca frecuencia pero es necesario que estén en linea para consulta, la versión más nueva es la que se utiliza con más frecuencia.

No es la primera vez que veo algo así y existen muchas razones de que esto suceda, en ocasiones las licencias de software no incluyen a las nuevas versiones y es cuando la migración tiene un costo extra, este hecho hace que algunas pyme’s puedan creer que una nueva instancia es mejor (más económica, a corto plazo que a largo plazo) que realizar una migración a la nueva versión, en otros casos, la migración es complicada e imposible a la nueva versión por un mal diseño en el software o por utilizar una versión muy antigua, es notable como he podido ver software empresarial, en donde su base de datos esta tan mal diseñada que es fácil que se pierda la integridad y de posibilidad a registros perdidos.

El primer ahorro en el que se piensa son las licencias, dado que regularmente se utiliza mucho software propietario que requiere de una licencia, es por ello que se planeo el uso de software libre además de la estabilidad y alto rendimiento que tiene, en este caso como elección personal y por que estoy más familiarizado con el uso, seleccione GNU/Linux Debian de 64 bits como sistema operativo en su rama estable (jessie), la versión de 64 bits es principalmente para utilizar Xen y poder realizar virtualización.

Antes de realizar el cambio de sistema operativo tenía mis dudas, leyendo en la web encontré varios post’s que hablaban sobre el uso de Ubuntu y la necesidad de instalar controladores propietarios, algo que era bueno y malo, ya que no me gusta ensuciar un sistema por lo que en caso de requerir de controladores propietarios, en lo particular crearía paquetes “.deb” para la instalación y así tener un sistema lo más limpio posible.

Primero realicé un respaldo de la información contenida en el servidor principal o en este caso el servidor que se utilizaría como anfitrión, después instale GNU/Linux Debian, seguí el asistente, es de recalcar que no hice ninguna configuración en particular, me agrado mucho el resultado, todo el hardware incluyendo la tarjeta y el arreglo RAID fue reconocido a excepción de los sensores de temperatura, los cuales tendré que verificar, para ver si es necesario que prepare algún paquete para instalar controladores propietarios.

Terminado lo anterior, instalé Xen y se convirtieron las tres instancias físicas a virtuales (P2V), en este punto si se realizo algo de configuración (en un post más adelante hablaré sobre la configuración básica de Xen). Lo que si llama la atención, es el funcionamiento de las instancias virtuales, que dan la sensación de trabajar más rápido y con menos memoria, que si se hubieran dejado como maquinas físicas independientes.

Más adelante encontré un detalle con “iLO”, que es la administración remota que tiene este servidor HP Proliant, al principio intente deshabilitar esta característica, pero al final la deje funcionando de manera normal, ya que puede dar problemas con el servicio de ssh, esto lo noté ya que de repente no me permitía conectarme mediante ssh, solo se quedaba como colgado sin reacción alguna al intentar una conexión y del lado del servidor no se detecta nada ni siquiera el intento de la conexión, de ahí en fuera todo esta normal, inclusive las máquinas virtuales funcionan de manera normal.

Como resultado, se han eliminado o removido dos servidores y esto se reflejará en el recibo de la luz, todas las instancias están en perfectas condiciones y en un ambiente virtual, además se han creado nuevos servicios útiles para la pyme, por ejemplo, se ha creado una instancia de owncloud para el respaldo de la información de todos los equipos de computo, una instancia para un posible nuevo sistema, una instancia para nagios con el cual se realizará el monitoreo de la infraestructura con la que se cuente, etc., eso si cuidando que en las nuevas instancias se utilice principalmente software libre cuando sea posible.

Es recomendable antes de utilizar un sistema, hacer todas las preguntas posibles y plantearse esquemas a futuro, para evitar gastos innecesarios, por ejemplo, si vas a utilizar un software con licencia, pregunta los alcances de la licencia y a que “si”, además de a que “no” tienes derecho, soporte técnico, migraciones, etc., cuida mucho ademas la elección del motor de la base de datos, en lo personal, prefiero usar motores de software libre como lo son PostgreSQL o MariaDB, cuando hablamos de software libre, debemos fijarnos por ejemplo, en que tan activo es un proyecto y hacer un plan en caso de que el proyecto deje de ser mantenido por la comunidad, esto podría plantearse en tal vez de pasar de una versión libre a una versión con licencia, y si es posible tener un desarrollador de software, plantearse el mantener uno mismo el software que necesitemos.

 

Puedes ver esté y más contenidos del mismo autor en TuXsOuL.

Viernes 23 de septiembre de 2016

Mario Oyorzábal

Mario Oyorzábal
TuXsOuL

mate segfault por incompatibilidad de gtk en stretch

Una de las cosas por las que me gusta trabajar con GNU/Linux Debian, es las diferentes ramas que tiene y el uso especifico que se les da, por ejemplo, para sistemas en producción, que están expuestos a internet usamos la rama “stable” (estable), obviamente por razones de seguridad y estabilidad, para algunos sistemas que no están expuestos a internet, por ejemplo una intranet o de uso personal, me gusta usar la rama “testing” (prueba), ya que permite tener software más actualizado, pero que podemos tener alguno que otro programa roto en funcionamiento o que puede una aplicación romper a otra.

Usando la rama “testing” actualmente conocida como “stretch” y después de cambiar el ambiente gráfico de “gnome” a “mate“; para mi gusto “mate” es lo que principalmente me agradaba de “gnome” antes; aproximadamente en una actualización a finales de agosto, comienzo a notar una serie de “segfault’s” como se puede ver en la siguiente salida filtrada de log:

Aug 30 13:31:34 localhost kernel: [ 1477.591409] mate-panel[3190]: segfault at ffffffff ip b720517f sp bf8eb920 error 5 in libgtk-3.so.0.2000.9[b6e6f000+7d3000]
Sep  6 11:44:47 localhost kernel: [  649.424976] mate-terminal[6525]: segfault at bf23ad18 ip b628badb sp bf23ad00 error 6 in libc-2.23.so[b6257000+1ad000]
Sep  6 11:44:57 localhost kernel: [  659.608839] mate-terminal[6562]: segfault at bf535d38 ip b630badb sp bf535d20 error 6 in libc-2.23.so[b62d7000+1ad000]
Sep  6 11:45:11 localhost kernel: [  672.915031] mate-terminal[6576]: segfault at bf78ade8 ip b62e8adb sp bf78add0 error 6 in libc-2.23.so[b62b4000+1ad000]
Sep  6 11:48:54 localhost kernel: [  896.160228] caja[6254]: segfault at bf11efe8 ip b6065adb sp bf11efd0 error 6 in libc-2.23.so[b6031000+1ad000]
Sep  6 11:49:09 localhost kernel: [  910.938601] caja[6625]: segfault at bf615e48 ip b60b2adb sp bf615e30 error 6 in libc-2.23.so[b607e000+1ad000]
Sep  6 11:50:02 localhost kernel: [  964.724594] caja[6641]: segfault at bf39eff0 ip b6057b1a sp bf39eff4 error 6 in libc-2.23.so[b6023000+1ad000]
Sep  6 11:50:06 localhost kernel: [  968.442151] caja[6717]: segfault at bf721f28 ip b611fadb sp bf721f10 error 6 in libc-2.23.so[b60eb000+1ad000]
Sep 19 18:07:11 localhost kernel: [  134.419892] caja[2549]: segfault at bf3e1f58 ip b60b7adb sp bf3e1f40 error 6 in libc-2.23.so[b6083000+1ad000]
Sep 19 18:31:35 localhost kernel: [ 1598.396412] caja[2864]: segfault at bf2e5ffc ip b6128796 sp bf2e5ff0 error 6 in libc-2.23.so[b60f4000+1ad000]
Sep 19 18:37:11 localhost kernel: [ 1934.770757] caja[3949]: segfault at bf45beb8 ip b60b4adb sp bf45bea0 error 6 in libc-2.23.so[b6080000+1ad000]

El problema se manifestaba de la siguiente manera, el ambiente gráfico de “mate” si cargaba sin problema alguno, pero al entrar la letra que tenia era un poco diferente a lo usual, al tratar de abrir “caja” el administrador de archivos no se abría, en el caso de la terminal o consola se abría la ventana pero el contenido estaba siempre en blanco o vacío por lo que no se veía nada aunque se ejecutará un comando, dado los “segfault’s” anteriores, aplicaciones como “chromium” o “libreOffice” funcionaban sin ningún problema aparente.

Al principio no le di importancia, la mayor parte de mi trabajo lo hago en una consola o terminal via conexiones ssh, lo que hacía era usar las terminales virtuales que se tienen F1, F2, etc, por otro lado suele ser en cierto punto normal en la rama de “testing” tener detalles así, que después gracias a maintainers en debian y a la comunidad, se reportan y solucionan.

Haciendo una búsqueda para ver que pasaba, ya que era necesario ejecutar algunas aplicaciones propias de “mate”, encontré un reporte en github el #627, en el que se daba a conocer el problema.

“Mate” esta siendo afectado por una actualización a las siguientes librerías: gir1.2-gtk-3.0, libgail-3-0, libgtk-3-0 y libgtk-3-bin, las cuales se actualizaron de la versión 3.20.7-1 a la 3.21.5-3, lo que rompió de cierta forma a “mate” ya que no es compatible con esas versiones.

Para arreglar el problema tenemos dos opciones, esperar a que se actualice “mate” a la versión 1.15 o en su caso y más rápido, des-actualizar las librerías mencionadas a una versión anterior, para esto se puede utilizar el siguiente repositorio en el “source.list” y recomiendo el uso de aptitude, que para mi es mejor:

# version anterior de librerias para mate
deb http://snapshot.debian.org/archive/debian/20160818T221621Z/ testing main contrib non-free

Con lo anterior y una vez des-actualizadas las librerías deberíamos tener algo como lo siguiente:

stretch_mate_gtk_packages_627

Como aún no se cuenta con “mate” 1.15 en debian, es posible que este detalle se tenga por un algún rato, en lo que se lleva a cabo la inclusión de los nuevos paquetes, ya que no creo que se incluyan correcciones a la versión 1.14 que esta de salida, dado que en la página del proyecto de “mate” se ve que va por la versión 1.16.

Ha este momento mi escritorio funciona bien y no he tenido que ejecutar ningún otro comando.

Puedes ver esté y más contenidos del mismo autor en TuXsOuL.

Sábado 17 de septiembre de 2016

Mario Oyorzábal

Mario Oyorzábal
TuXsOuL

sat-cfdi

Hace tiempo algunos compañeros y conocidos, me habían sugerido la creación de algún software o librería, para la creación de facturas digitales o CFDI que utilizamos en México, el cual es principalmente una estructura XML con elementos de control y validación, además de los ya conocidos elementos que conformaban lo que era una factura en papel.

En ese entonces, comenzaron a salir varias herramientas para la creación y emisión de facturas, por ejemplo en mi caso, como freelance utilizo los servicios de Factura Gorila, una aplicación que a mi parecer es excelente; así como también el SAT, promovió para quienes creaban sus facturas con medios propios los PAC, que son entidades autorizadas por el SAT utilizadas para la certificación de los archivos XML.

Viendo lo anterior y al no tener o ver una necesidad que faltará cubrir, dejé el tema y solo me mantuve informado de las modificaciones y noticias del SAT sobre la facturación.

En estos últimos días, se me ha presentado la necesidad de crear y emitir facturas por medios propios, bueno, por software propio o de creación propia.

Lo primero que hice fue buscar el famoso “Anexo 20” del SAT, en ese archivo esta contenida la estructura que debe de tener el archivo XML. También busque si existían librerías que permitieran la creación de archivos XML validos, lamentablemente, ninguno cubría mis necesidades, por lo cual opte por crear una librería propia.

La idea de crear una propia librería, es que pueda crear una estructura limpia y válida, así como también incluya información para interactuar con la API de PAC’s autorizados por el SAT, para conseguir el timbrado y la certificación del XML, es decir, me permita crear, timbrar y me regrese además la información necesaria para crear el archivo PDF para la presentación del XML, sin olvidar que se pueda adaptar a las nuevas modificaciones que el SAT vaya solicitando.

El proyecto tiene el nombre de “sat-cfdi“, tal vez cambie en el futuro, dado que no soy bueno para los nombres.

Al ser un proyecto nuevo, muchas cosas faltan aún, como por ejemplo: validación de los diferentes datos entre ellos los rfc’s, consulta de la lista LCO, creación del código QR, la creación de addendas y en un futuro algo muy ambicioso es el que se pueda utilizar esta librería en cualquier proyecto sin importar el lenguaje de programación que se este utilizando.

Como siempre pasa, al ser una necesidad de un proyecto que estoy desarrollando, me estoy dando cuenta de cosas que hacen falta y que poco a poco iré implementando para cubrir dichas necesidades.

Si te es útil el proyecto no olvides hacerlo saber, así como también enviar tus ideas y sugerencias.

Puedes ver esté y más contenidos del mismo autor en TuXsOuL.

Martes 06 de septiembre de 2016

Héctor Daniel Cortés

Héctor Daniel Cortés
'Aztec Eagle' Turbo

PostreSQL-azos!


UPDATE formatos_etiquetas_mineros SET descr=v.description FROM
(SELECT formatos_etiquetas_mineros.id, etiquetas.descr || ' [' || etiquetas.etiqueta || '] ' || mineros.tipo AS description
FROM formatos_etiquetas_mineros
JOIN formatos ON formatos_etiquetas_mineros.formato = formatos.id
JOIN etiquetas ON formatos_etiquetas_mineros.etiqueta = etiquetas.id
JOIN mineros ON formatos_etiquetas_mineros.minero = mineros.id
WHERE mineros.tipo
'None') AS v
WHERE formatos_etiquetas_mineros.id=v.id

Jueves 30 de junio de 2016

Héctor Daniel Cortés

Héctor Daniel Cortés
'Aztec Eagle' Turbo

Fedora 24 en FitPC 1

¡Al fin!
Fedora 24 corriendo (en realidad, caminando) en la FitPC. Nada mal para un equipo de más de diez años.

Lunes 07 de marzo de 2016

Héctor Daniel Cortés

Héctor Daniel Cortés
'Aztec Eagle' Turbo

Informe PAPIME

Dice el dicho «No hay plazo que no se cumpla» y ha llegado la hora de presentar el Informe Final del Proyecto PAPIME.

Estaré ocupado.

Sábado 13 de junio de 2015

Iván Alemán

Iván Alemán
Iván Alemán

Dynamically change the font size under rxvt-unicode (urxvt)

Terminal-icon

Like many, I have had my fair share of terminal emulators, from the good ol’ days of Konsole, xterm, gnome-terminal, Terminator and Eterm to name a few until I finally settle down with rxvt more specifically with rxvt-unicode.

There are many things that urxvt does well, but dynamically handling the size of a font is not one of them, it was not conceived in that way or oriented towards a desktop environment (DE) in particular. But it’s meant to run almost everywhere.

But, there is always hope!

And in this case you can add support for dynamically changing the font following some easy steps.

Go grab the required perl extension1.

https://github.com/majutsushi/urxvt-font-size

Install the extension (or create a link) in the directory:

$HOME/.urxvt/ext

Add the script instruction to the file you use to keep your urxvt configuration either .Xresources or .Xdefaults so it will be loaded on the next session.

URxvt.perl-ext-common:  ...,font-size

And after loading the script add the following lines to control the
behavior, this keybindings work under urxvt version 9.14 and onwards:

URxvt.keysym.C-Up:     perl:font-size:increase
URxvt.keysym.C-Down:   perl:font-size:decrease
URxvt.keysym.C-S-Up:   perl:font-size:incglobal
URxvt.keysym.C-S-Down: perl:font-size:decglobal

The keybindings basically work like this, pressing the control key plus the up or down key will increase/decrease the font size for the actual terminal, pressing the same keys plus shift key will increase/decrease the font size of all the terminals open (once all the urxvt sessions have loaded the new configuration) and this is it!

Now, urxvt is a little bit more wise and useful.


  1. Thank you majutsushi for this perl extension. 

Miércoles 04 de marzo de 2015

Iván Alemán

Iván Alemán
Iván Alemán

Compiling Synergy for OS X Yosemite

First, a brief history of why do this…

Terminal-icon
I have two computers in my desk and having two sets of keyboards and mice takes too much space on top of that, sometimes I found myself typing in the wrong keyboard which could be problematic. Thus having one set of peripherals and a way to use them in both computers is something I find useful. Enter Synergy.

Why Synergy and not a (hardware) KVM?

For starters, Synergy used to be a completely free project and very easy to install under GNU/Linux most of the time, the configuration was/is a proper UNIX™ like using text files and in general was easy to find, setup and use. Nowadays Synergy is not easy to get since (still a FLOSS project) its developers have decided to charge one time US$5 fee, paying this fee (supposedly) makes very easy to obtain it and allows its development to keep going but if you don’t want/like to pay for it1 developers encourage you to either compile it or grab a nightly build2 and basically as with many FLOSS projects you read or investigate until you make it work on your environment.

With a (hardware) KVM one must start by picking the right model, if available buy it, then we need to accommodate space for it in our desk/environment, then you need to setup the cables and at some point you need to use the other computer you need to press a button to make the change this every time you go back and forth. These are in my opinion too many disadvantages, but of course things like keyboard configuration per OS work (Alt-Gr works!) as expected.

Still for now I prefer using Synergy and here’s how to compile it.

Pre-requisites

The following must be present on the OS X system and properly configured:

  • Homebrew, install it by following the instructions on brew.sh
  • CMake, install it with brew install cmake
  • Git, install it with brew install git
  • Qt, install it with brew install qt. Add the following links so Qt has no problem finding its requirements:
$ cd /Library/Frameworks/
$ sudo ln -s /usr/local/Cellar/qt/4.8.6/lib/QtCore.framework/
$ sudo ln -s /usr/local/Cellar/qt/4.8.6/lib/QtGui.framework/
$ sudo ln -s /usr/local/Cellar/qt/4.8.6/lib/QtNetwork.framework/
  • Xcode, get it from AppStore or from here
  • Make sure the /Developer directory exist and inside this directory the following links must be present:
$ cd /Developer/
$ ls -lrt
total 16
drwxrwxr-x  3 root     admin  102 Jan 15  2014 Extras
drwxrwxr-x  3 root     admin  102 Jan 15  2014 Documentation
drwxrwxr-x  4 root     admin  136 Jan 15  2014 Applications
lrwxr-xr-x  1 al3man1  admin   76 Nov  4 14:36 Library -> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Library
lrwxr-xr-x  1 al3man1  admin   73 Nov  4 14:37 SDKs -> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/SDKs

Otherwise create them:

$ cd /Developer/
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Library
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/SDKs

Next, we clone the repository

From Github:

$ git clone https://github.com/synergy/synergy.git
Cloning into 'synergy'...
remote: Counting objects: 15034, done.
remote: Compressing objects: 100% (4043/4043), done.
remote: Total 15034 (delta 11872), reused 13702 (delta 10812)
Receiving objects: 100% (15034/15034), 47.99 MiB | 1.31 MiB/s, done.
Resolving deltas: 100% (11872/11872), done.
Checking connectivity... done.

Then we start the compilation

I had better results using the Xcode as the CMake generator, you can check the ones you have installed by issuing the command hm genlist from the root directory of the recently cloned repository, then in the following step you can use the number specific to your preferred generator3.

Go into your project directory and type:

$ ./hm.sh genlist
1: Unix Makefiles
2: Xcode
3: Eclipse CDT4 - Unix Makefiles

You will see that in this case Xcode is number 2 which is the one we are going to use.

Let´s configure

Issue the following command in your terminal:

$ ./hm.sh conf -g2 --mac-sdk 10.10 --mac-identity `hostname`

The -g2 parameter is pointing to the generator to use in this case is Xcode.
You can change the bit of hostname to anything you like, as is it should translate to your computer hostname.

If no errors are detected you may continue with the next step.

Let´s build the app

Running the following command will start the build of the app:

$ ./hm.sh build

Hopefully you won’t run into troubles following these steps. At the end you can find the app inside the binfolder of your project.

Happy hacking!

Edit 1:

My actual configuration involves an OS X machine (server) and a GNU/Linux machine (client) I was a lot disappointed that Alt-gr did not behave correctly in the client machine so much that I was in the process to buy a KVM switch since without this key I can not really access to many symbols required in the CLI (@, \, |, etc.) I even created and script to display these symbols so I can copy/paste when needed, this was getting on my way so much that I was relaying in Ctrl-r to load past commands and then modify them but sometimes it was not enough. Today I decided after publishing this post that I would try to fix the Alt-gr issue and I am happy to say that I found a solution after reading and looking to several bug reports and discussing the issue on IRC finally some light! In summary, I updated the GNU/Linux machine to the latest Synergy version at the moment 1.6.3 (it was running version 1.4.x) and in the server machine (that is running 1.6.1) I created a configuration file instead of using the default of the Synergy GUI I opted for using the exported configuration file and added a line:

alt = altgr

This line was added to the section screens in this case for the client (Linux machine) restarted the server and everything worked out! If helps I am using a QWERTZ (German) keyboard and now works properly on both systems. The full configuration of this specific section is as follows:

section: screens
    linux_client:
        halfDuplexCapsLock = false
        halfDuplexNumLock = false
        halfDuplexScrollLock = false
        xtestIsXineramaUnaware = false
        switchCorners = none
        switchCornerSize = 0
      alt = altgr
    osx_server:
        halfDuplexCapsLock = false
        halfDuplexNumLock = false
        halfDuplexScrollLock = false
        xtestIsXineramaUnaware = false
        switchCorners = none
        switchCornerSize = 0
end

Edit 2:

Of course the “fix” for the Alt-gr key breaks the Alt key… which in my case is sad, I am running Awesome WM and movements and other stuff requires this key, I will have to remap it or really get a KVM switch for now I don’t see any other solutions.


  1. Synergy is very useful yes! But to pay for it I will need e.g. that the Alt-gr key behaves properly between OS X and GNU/Linux, there are many other glitches but this is in the top of my list. 
  2. Here, if you don’t want to compile: http://synergy-project.org/nightly 
  3. In my case 2 is -g2 passed as argument in the command line 
Iván Alemán

Iván Alemán
Iván Alemán

urxvt unknown terminal type with ssh

Terminal-icon
There are times when you log in via SSH into a server and your terminal is not supported therefore sometimes not fully functional.

Something like this:

$ clear
'rxvt-unicode-256color': unknown terminal type.

This is quite easy to fix and as with many things with GNU/Linux there are various ways you can do it, here are two.

The first solution you can try is to export the $TERM variable in either .bash_profile or .bashrc add one of the following lines.

export TERM='xterm-256color'
export TERM='linux'

The second solution (and maybe a better one) would be to copy your terminal profile known as terminfo file to the server in this case to your $HOME directory.

First create the directory to keep the terminfo file in the server:

mkdir -p ~/.terminfo/r 

Next, copy the matching file found on your local machine to the server, for urxvt-unicode-256color would be:

scp /usr/share/terminfo/r/rxvt-unicode-256color [email protected]:.terminfo/r

And that is all, new sessions will recognize and set the right $TERM.