Ya nació Ricardo!! Ya soy Papá!!

Después de varias vueltas a la clínica para revisar el estado de mi esposa, ayer 2 de Septiembre de 2010 en la noche me dieron la noticia de que nació nuestro hijo a las 7:20 P.M. con un peso de 3.870 Kg, hoy acudí por la mañana a la clínica para y verlo y aproveche para sacar unas fotos, aquí subo 2:

Powered by Cincopa WordPress plugin
Cincopa wp content plugins solution for your website. Use Cincopa MediaSend for file transfer.

Saludos

Prohibir archivos en #samba con veto files

A poco mas de 6 años trabajando en el área de informática nunca habia tenido problemas de virus en las redes que me toco adminsitrar … hasta este momento.

El jueves pasado reportaron al área de soporte la detección de un virus en una PC, obviamente el antivirus estaba haciendo su chamba y yo ignore el reporte pues aquí me toca hacer código PHP

Mas tarde, cuando navegaba en algunas carpetas de red encontré un montón de archivos ejecutables raros y seguí ignorándolos por lo que me dispuse a ir navegando entre los directorios sin problema alguno pues uso gentoo y los virus no representan amenaza alguna.

Paso la hora de la comida y el de soporte me comento que no podía deshacerse del virus y que ya se había expandido por todas las unidades de red mapeadas en las computadoras infectadas (algo que ya había detectado).

No me quedo mas remedio que cerrar Eclipse y poner manos a la obra.
Para rastrear quién estaba esparciendo el virus me valí de las herramientas que samba incluye.

Lo primero fue eliminar manualmente los archivos ejecutables así como los de configuración.
Esta prueba resultó totalmente inútil pues como era de esperarse el S.O. nos bloequeo el acceso a escritura debido a que estaba en uso.

Para saber quién estaba ejecutando esos archivos raros, me conecte por SSH al servidor samba y ejecuté:

smbstatus

La salida de ese comando me mostró la relación de usuarios y archivos abiertos así pude detectar fácilmente quienes tenían el proceso corriendo. Así que le dije al de soporte que sacaras esas computadoras de la red y que las vacunará.

La siguiente prueba era borrar nuevamente los archivos a mano, cosa que se dejo sin problemas pero el archivo se volvía a crear, lo cuál indicaba que había otras computadoras corriendo ese proceso desde alguna otra unidad ya sea el C: o bien una USB, así que decidí reconfigurar samba para evitar que archivos .exe y .inf sean creados.

Edite el archivo smb.conf:

vi /etc/samba/smb.conf

Y en la sección [ global ] agregue esta línea

veto files = /*.exe/*.inf/

Recargue samba

/etc/init.d/samba reload

Y listo busqué y borre todos los ejecutables y archivos inf y el virus ya no volvía a copiarse ni expandirse por la red.
Ya como ultimo procedimiento fue vacunar las computadoras con windows para evitar cualquier brote de infección.

función extract de #PHP

Recientemente he estado usando esta función de PHP que básicamente lo que hace es convertir los indices de un arreglo en variables cuyo valor de cada variable es el valor de los campos del arreglo.

Una forma en que la uso es para pasar los campos de una consulta a variables, algo así como:

$query = "SELECT campo1, campo2, campo3 FROM tabla";
$rs = mysql_query($query);
$datos = mysql_fetch_assoc($rs);
extract($datos);
echo "$campo1, $campo2, $campo3";

Ahorra mucho tiempo como por ejemplo si agregas campos a la consulta, no tienes que hacer la declaración de la variable ni la asignación del valor. Gran ventaja ¿no creen?

Por desgracia para mi tiene 2 grandes desventajas:

  1. Eclipse no me autocompleta esas variables pues nunca fueron declaradas explicitamente, me obliga a escribirlas en cada momento que debo usarlas por lo general 2 o 3 veces.
  2. Me ha sido un poco difícil modificar el código ya que no puedo rastrear la variable sobre todo en rutinas en donde sufre alguna modificación.

En general extract es buena función pero para casos diferentes al mio xD.

Si hay dudas sobre la función lean aquí

Saludos

#Eclipse PDT no autocompleta PHPCode

En Eclipse llevo pocos días usando el plugin de subversive, esta muy versátil manejar desde el IDE el versionamiento, la verdad que si lo recomiendo ampliamente.
Por otro lado y por alguna extraña razón el código PHP no se autocompleta cuando los proyectos son importados con esta herramienta, cuando oprimo Ctrl+Espacio me sale la leyenda:

No completions available

Y comprobé que era solo en los proyectos de SVN ya que los que tengo de modo local y me completa las funciones, para resolver tal problema lo que hice fue abrir el archivo .project que esta en la raíz del proyecto y añadir la siguiente línea:

<nature>org.eclipse.php.core.PHPNature</nature>

Dentro de las etiquetas <natures></natures> después reinicie Eclipse y listo ya tenía la autocompletación activada nuevamente.

Agregar un consecutivo en consulta mysql

Hay ocasiones en las que queremos agregar un número consecutivo a nuestras consultas de SQL y no me refiero al ID de alguna tabla mas bien a un número volátil que sirva para un control mientras se trabaja con el resultado de esa consulta.

Me he encontrado que con MySQL podemos generar ese número usando variables de sesión, la forma de usar es muy sencillo, aquí un ejemplo:

SELECT  @numeroConsecutivo:=@numeroConsecutivo+1  Consecutivo ,  
tbl.campo 
FROM  miTabla tbl, 
(SELECT @numeroConsecutivo:=0) r

y así tendremos nuestros enumerados.

#mysql insert into set

Acabo de descurbir via Twitter que en mysql pueden hacerse inserts de este modo:

INSERT INTO tabla SET campo1 = 'valor1', campo2 = 'valor2'

Muy interesante revisaré si hay algún aumento o disminución de rendimiento al usar esta forma.

Equivalente de rc-status en #CentOS

Una de las cosas que yo prefiero de un Linux es que tenga que instalar lo que necesito y no al reves es decir, desinstalar lo que no necesito y las distribuciones como: centos, ubuntu, fedora funcionan así.

Acabo de instalar un Centos 5.5 en mi trabajo, por políticas debo usarlo =S, lo pondré como servidor de Subversion y otras jaladas que no detallaré ahorita. Según yo instale lo mas básico pero me di cuenta que se me fueron muchas aplicaciones que no necesito por ejemplo el kudzu.

Una vez con la base instalada con yum me instale el resto de los paquetes que necesitaba, todo bien hasta que trate de consumir los servicios desde mi PC, cosa que no me dejo por que el iptables estaba corriendo, nomas detuve el servicio y ya todo jalo

/etc/init.d/iptables stop

Pero cada vez que inicia el servidor, el iptables arranca, mi gran problemática fue, ¿como quitarlo de los niveles de arranque?, en gentoo esto hubiera sido sencillo

rc-status # para saber en que nivel esta
rc-update del iptables default #para quitarlo si estuviera en el nivel de arranque default

Pero no era gentoo, es un Centos, aquí el equivalente a rc-update es

ntsysv

y abre una interfaz con ncurses y quitas el asterisco del iptables para desactivar el arranque y listo.
aunque tambien se puede usar

chkconfig --del iptables

Solo que aquí no solo se desactiva, sino que se elimina de la lista de los servicios de arranque.

Ahí nos leemos luego.

Teclado numérico no funciona en #Gnome

En la compu del trabajo, estaba haciendo las labores cotidianas cuando de repente note que el teclado numérico de mi teclado no funcionaba, es decir no escribía los números, por lo que me puse a revisar cuál era el problema.

Lo primero que revise fue que tuviera pilas, ya que tengo un teclado wireless, pero comprobe que si tenían carga las pilas.

Después procedí a cambiar la distribución de teclado en las opciones del gnome, me desconecte de la cuenta y nuevamente en GDM puse mi usuario y contraseña la cuál tiene dígitos y pude notar que todo estaba en la normalidad, cuando quise usar la calculadora note que nuevamente que los números no funcionaban, así que me cambie a la consola #1 (Ctrl + ALT + F1) para probarlo y que sorpresa cuando pude escribir números, por lo que llegue a la conclusión de que lo que anda mas es la configuración de Gnome.

Después de esta grandiosa deducción, regrese el teclado con la distribución que estaba usando antes y en las pestañas de esa ventana vi una muy interesante: Teclas del ratón, le di click a dicha pestaña para ver que había y note que estaba marcada una opción que decía, Permitir controlar el puntero del mouse con el teclado, así que la desmarque y el teclado numérico volvio a funcionar.

Aún no me explico como esque esa opción se activo si no he actualizado el sistema ni hecho alguna modificación a la configuración de GNOME

Haciendo #DVD en #linux

Hace algunos días que me aburrí de mis DVDs de videos musicales que tengo para escuchar en mi auto, así que me dispuse a descargar mas videos del inigualable youtube, ya saben con el plugin Dwhelper, pero como disponía de poco tiempo porque estaba en horas laborales, no podía aventarme el archivo XML que necesita el dvdauthor para generar la estructura de un DVD, por lo cuál me puse a googlear por unos minutos y encontré DeVeDe.

DeVeDe es un software gráfico para generar discos de video de DVD, hecho en Gtk por lo cuál funciona muy bien en Gnome, puedes arrastrar y soltar y hacer otras cosas mas que estan buenas.

Si quieren conocer que es lo que hace esta pieza de software deberán instalarla; usuarios de gentoo pueden hacer:
emerge devede

para las demas distros, revisen su gestor de paquetes.

Si les gusta el inglés Aquí hay un manual de como funciona.

Ciclo de Vida un Proyecto de Software

Ahora que ando con esto del modelo de desarrollo, recordé aquel viejo chiste gráfico el cuál muestra la realidad de las cosas al desarrollar software.

Haré lo posible para que esto no me suceda =P