05

Ene

Business Blogger Nuevo tema para MTOS

 Hoy les presento este nuevo tema para MTOS, el cual tiene por nombre Business Blogger, creado por los señores de íThemes.com, quienes originalmente hacían temas para WordPress.

Business Blogger

El diseño del tema es de dos columnas, una gruesa y una delgada, con un tamaño fijo, que es de 861 pixeles, donde predominan los colores blanco, gris y negro con algunos cuantos motivos en verde.
Una característica que me pareció muy buena del tema, es que cuando realizas un nueva página, esta es incluida en el menú  del sitio, el cual esta situado por debajo del encabezado, el cual es una imagen que es fácil de cambiar.

Para instalar el tema, tan solo tenemos que extraer el contenido del archivo descargable y subirlo a nuestra instalación de MTOS, de la siguiente forma. Copiamos los archivos de la carpeta plugins a la de plugins en nuestro servidor y la de mt-static/themes a la correspondiente en el servidor.

Una vez que subimos los archivos necesarios, lo siguiente es crear un blog nuevo con el tema (template set) de Business Blogger. Ya que se haya creado el blog, hay que hacer unos pequeños ajustes, estos son pasar a español los widgets que se usan en el modulo Barra Lateral, que por alguna extraña razón no se traducen automáticamente al español. Los cambios son los siguientes:
Estas etiquetas en inglés

<$mt:Include widget="Category Archives"$>
<$mt:Include widget="Monthly Archives"$>

por estas otras en español

<$mt:Include widget="Archivos por Categoría"$>
<$mt:Include widget="Archivos mensuales"$>

Con este simple cambio, ya tenemos un blog listo para publicarse, ahora lo único que vas a requerir es personalizar un poco el tema, cambiar la imagen del encabezado y agregar los widgets de tu elección en la barra lateral.

Monte un blog de demostración para que puedas ver como luce el blog sin  necesidad de instalarlo, si bien no es posible que puedas modificar nada en el, si te dará una buena idea de cómo lucirá una vez que lo instales. En el blog hay una entrada de prueba, una página de prueba y una que otra cosa, aunque la mayoría muy simplistas.

01

Ene

Lo que el 2008 nos dejo

El 2008 ha dado paso a formar parte de la historia, como un año más que se fue, un año que nos dejo muchas cosas que recordar, y que sin duda alguna para muchos de nosotros serán no solo recuerdos, sino cosas que marcaron nuestra vida como un antes y un después.

Hoy inicia el 2009 y si todo sigue tal cual en este 2008, seguiremos viendo las mismas y gastadas historias, levantones, secuestros, asesinatos, narcos y mucha violencia. Claro esta, que también seguiremos sin votar, seguiremos por el camino de no denunciar, no denunciar los hechos ilícitos de los que nos damos cuenta, como siempre alegando que pensamos en nuestra seguridad y de nuestra familia.

Pero no todo lo que dejo el 2008 fue malo, de hecho en para este blog, como el hecho de haber doblado el número de visitas del 2007, el tener la primer página con PageRank 6, el dar servicios, como el detector de quien te elimino del messenger o el afinador de guitarra en línea. Claro que con el PageRank este año me fue bastante bien, y para cerrar con broche de oro una página alcanzo un valor de 5.

Espero que en este 2009 este mejor, que se logre superar lo obtenido en el 2008 y que porque no, se llegue a posicionar entre los mejores blogs en español.

Saludos

30

Dic

La Query perezosa II

Ya hace algunos días les platique sobre una o más bien dicho unas cuantas consultas perezosas, que con el cambio de servidor su tiempo de ejecución se fue por los cielos, y como también les explique, no había mucho que yo pudiera hacer, al menos no en el servidor, es decir no podía modificar las vistas o los índices que existen en la base de datos.

Siendo honesto, en lo personal no me importaría mucho el tiempo que tarde la consulta en ejecutarse, ya que a final de cuentas yo no voy a ser el usuario del sistema hace uso de esas consultas,  pero a la vez podría decirse que el hecho de mejorar el tiempo de respuesta de las consultas lo tome como algo personal, y más  aun cuando una de las personas que trabajan en la empresa dueña de la base de datos me comento que ella había logrado reducir una consulta de 20 minutos a solo 15, y que eso era suficiente, tomando en cuenta la cantidad de datos que contiene la tabla sobre la que operaba.

Con eso en mente, y sabiendo que tanto la persona que labora con el cliente como yo, estábamos utilizando la misma tabla, me puse a averiguar bien cual era el problema especifico. Lo primero que hice fue buscar sobre el desempeño de Oracle, sobre todo con tablas grandes como la que nos ocupaba. Enseguida salto a mi vista que la tabla que yo llamaba grande, en realidad era una tabla de proporciones medianas, para Oracle, ya que en algunas cuantas páginas me tope con personas diciendo que sus consultas se tardaban algunos cuantos segundos cuando las ejecutaban, claro que de entrada aclaraban que su tabla contenía alrededor de 20 millones de  registros, o alguna cantidad mayor a 10 millones, que obviamente superan por varias veces a la cantidad de datos que hay en nuestra tabla. En casi todos los casos el culpable era un índice que o estaba mal formado, es decir que no contenía todos los campos que requería o que de plano no existía. En todos los casos se logro reducir el tiempo de las consultas a milisegundos, gracias a que se hicieron los cambios pertinentes en los índices. Por desgracia, para mi la historia era otra, yo no puedo modificar los datos almacenados en la tabla y no se diga la estructura de la tabla. Si alguien alguna vez ha estado al frente de un servidor, sabrá que como administrador, no te gusta y sobre todo no aceptas que alguien de fuera, venga a decirte como llevar tu servidor, y un administrador de Base de Datos no es la excepción, si yo tengo la responsabilidad de mantener esto funcionando, porque voy a admitir que alguien más venga a decirme como debo de hacerlo, cuando si algo sale mal al que van a culpar es a mi y no a esa persona. Por lo tanto, agregar el índice estaba totalmente descartado.

Para resolver este tipo de problemas, normalmente basta desempolvar aquellas viejas enseñanzas de Bases de Datos que seguramente llevaste. En los que en vez de ver un manejador de Bases de Datos como FoxPro o DBIII, viste Teoría de Conjuntos, Algebra Relacional y las sentencias de SQL. Como se que la mayoría estará en el primer caso, es decir que vieron un manejador y no SQL, explicare paso a paso como resolver estas cosas. Pero para los que no requieren tanto rollo, basta decir que lo primero es crear un subconjunto usando el índice con clave del empleado, y de ahí seleccionar los que cumplan el criterio completo de nuestra consulta.

Gracias a que yo ya me quebré la cabeza un poco, veremos que salir de este tipo de encrucijadas es de lo más sencillo.

Aquí hay que hacer la aclaración que estas tablas, y las consultas son ficticias, y que si bien se parecen a las reales en algunas cosas, en muchas difieren.
Lo primero es conocer nuestra consulta y la tabla.

La tabla (en este caso vista) esa la siguiente:
vPagosEmpleados.-
  • Clave: Clave del empleado
  • Concepto: Concepto del pago
  • Cantidad: Cantidad del pago
  • Periodo: Periodo en el que se realiza el pago.

Y nuestra consulta tiene que calcular que pago neto recibió nuestro empleado en cada periodo. Por lo que sumaremos los pagos por periodo, dada una matricula.

Select sum(cantidad) cantidad, periodo
From vPagosEmpleado  
Where clave = _clave
Group by periodo
Order by periodo Desc;

_clave es el parámetro con la clave a buscar.

23

Dic

Otra historia de Vundo

Ayer cuando llegue a mi casa, mi primo que acababa de llegar de USA, me comento que su laptop estaba fallando, que de repente la barra de tareas se desaparecía, y que de repente volvía a aparecer. Mientras cenábamos me comentaba acerca de que tenia el LimeWire, programa que yo también tengo, cosa a la que no le di mucha importancia. Cuando termine de cenar, me dispuse a revisar la laptop, que para mi mala fortuna y sobre todo mi desagrado la computadora tenía instalado Vista Home Premium. Al principio no tenia ni la más minima idea de que era lo que estaba ocasionando dicho comportamiento de la barra de tareas, pero como suele ser mi costumbre abrí el Administrador de tareas y fui terminando procesos de una forma controlada y ordenada. Tengo que reconocer que de vista no se casi nada, no había tenido la oportunidad de meterme a fondo en las tripas de alguna maquina con dicho sistema operativo, sin embargo me sentí como en casa, es decir los mismo procesos, los mismos nombres de archivos, y demás cosas, claro que adornados con muchos procesos en su mayoría inútiles y uno que otro servicio nuevo.  
  Todos los procesos se comportaban de una forma normal, hasta que llegue al LimeWare, que sin importar cuantas veces lo terminara, este volvía a ser ejecutado por otro proceso hasta el momento desconocido. Cuando trate de borrar el limeware de forma manual y no conseguir hacerlo, me dije, hay que traer la caballeria pesada, así que fui a mi computadora y baje el process Explorer, actor seguido revise quien estaba lanzando el proceso del limeware y lo pause, y así, termine el limewire y fui y borre la carpeta en la que este estaba instalado. El siguiente paso era deshacerse del proceso, que tenia un nombre bien Microsoft, un nombre que fácilmente se confunde con un proceso bien conocido en Windows, me refiero a svchost.exe,  claro que ya con process Explorer, supe donde se encontraba, sin embargo al llegar a la carpeta en la que se suponía que estaba el mencionado archivo, me tope con muchos archivos exe, zip, tmp entre otros, pero ninguno era mi blanco. Claro que elimine todos esos archivos que sin duda alguna eran parte de la infección. El hecho de que el ejecutable se encontrara en esa carpeta, pero que no fuera visible, me hizo suponer que teníamos un típico cazo de rootkit, el cual solo ocultaba el archivo, pero no el ejecutable. Sin más hice algo que aprendí hace tiempo atrás, que es ejecutar un comando el cual llena el archivo con otro contenido, concretamente seria a así:

Echo > svchost.exe


Lo cual debería de haber bastado, pero en este caso me devolvió un Acceso denegado, lo cual me hizo suponer que alguien más lo estaba cargando. Cuando vi esto, reinicie la maquina en modo seguro, sin embargo obtuve el mismo resultado, pero esta vez intente algo más, usar el comando

Copy con svchost.exe

21

Dic

GuitarTools plugin para MTOS y MT


Descargar
Este plugin nos permite agregar tablaturas de guitarra a nuestras entradas de una manera elegante. Tiene dos formas de hacerlo, una es con una imagen y la otra con un texto. La siguiente canción de Zurdok, Abre los ojos, es la que usaremos para demostrar el como utilizar este plugin.
Primeramente usaremos el modo texto que es el siguiente:

Abre lAa ventana y vFe la luBz delEm sol
Abre lAa ventFana y mírBate
AbCre losD ojos bieAn
Abre los ojos bien. D    A

Salte Ade la casa y Fmira alrBededoEmr
Salte Ade la Fcasa y búBscame
ACbre loDs ojos biAen
Abre los ojos bien. D    A   E (7 veces)   

Esta oscEmuridFad
Dte quiere ahEmogar
Dte quiere matAar  Em    D
AEsta oscEmuridFad
Dte quiere ahEmogar
Dte quiere olvAidar

Luego presentamos las notas usadas:

El código que genera esto es el siguiente:
[lines:
Abre l{-A}a ventana y v{-F}e la lu{-B}z del{-Em} sol
Abre l{-A}a vent{-F}ana y mír{-B}ate
Ab{-C}re los{-D} ojos bie{-A}n
Abre los ojos bien. {-D}    {-A}

Salte {-A}de la casa y {-F}mira alr{-B}ededo{-Em}r
Salte {-A}de la {-F}casa y bú{-B}scame
A{-C}bre lo{-D}s ojos bi{-A}en

Abre los ojos bien. {-D}    {-A}   {-E (7 veces)}   

Esta osc{-Em}urid{-F}ad
{-D}te quiere ah{-Em}ogar
{-D}te quiere mat{-A}ar  {-Em}    {-D}
{-A}Esta osc{-Em}urid{-F}ad
{-D}te quiere ah{-Em}ogar
{-D}te quiere olv{-A}idar
]

[chord:A F B Em D]