Averigua por donde pasa tu correo!
Cuando envías un correo pasa por diferentes IP's hasta llegar al servidor donde el destinatario lo recogera.
Es una curiosidad poco común pero siempre puede ser interesante ![]()
dig -t MX dominio.com
De esta manera obtendremos el nombre MX de la cuenta usuario@dominio.com, cuando tengamos ese nombre solo tendremos que ejecutar:
traceroute nombre_mx
Ya hemos obtenidos las direcciones IP's! Ahora solo tendremos que utilizar una web que nos geolocalice la IP como puede ser: http://www.geoiptool.com/es/
Un buen framework PHP
Desde que tomé la decisión de utilizar symfony me sorprendo cada día que voy avanzando. Te encuentras todo aquello que querías tener hecho pero nunca tuviste tiempo de hacer.
Si todavía estás dándole vueltas a que framework php utilizar deja de buscar, symfony es el framework perfecto! Por que hago esta afirmación tan rotunda... pues porque en el aprendizaje de symfony recalcan las buenas prácticas, el uso de pruebas unitarias y funcionales y la refactorización de código. Tal vez estés pensando en utilizar Zend Framework porque tiene unos componentes que son realmente interesantes, no te preocupes! con symfony puedes hacerlo!
La filosofía de los creadores del framework es de "no reinventar la rueda" y si algo está bien hecho y funciona lo utilizan. Antes de embarcarse en el desarrollo de algo nuevo comprueban si existe. De hecho, el core de symfony está compuesto por otros proyectos open source como Creole, Prado, Spyc y Pake.
Tienes todavía dudas de si debes usarlo o no, el libro y la documentación es extensa (es una buena señal), entonces ponte a realizar la práctica de Jobeet! verás lo que se puede hacer y como! la potencia de symfony es importante!
Yahoo news y del.icio.us son proyectos construidos con symfony por lo que se puede garantizar el desarrollo de aplicaciones con carga extrema.
Otro DOSS a twitter.com??
Vaya, yo intentando contactar con @dasorey por twitter con mi cliente de escritorio y me fallaba cada dos por tres, por lo que decidí acceder a twitter por web y me encontré con esto:

En 5 min parece que la api que utiliza el cliente twitter de escritorio (spaz) da alguna que otra respuesta pero no funciona con normalidad, y al reiniciarlo vuelve a fallar. Por el momento el servicio está caido, esperemos que sea para aumentar la infrastructura y que no sea por otro ataque DOSS...
Cuanta falta notas cuando te falta twitter
, vuelve!!! migo twitter!!!
Parece que el servicio se levantó en menos de 10 min!
Actualizado
Un framework para dominarlos a todos
Hace ya unos meses comencé un proyecto ambicioso, el crear un framework para el desarrollo de aplicaciones web en php. Una tarea que comenzó en las solitarias noches del hogar, terminó convirtiendose en parte de las tarea de mi jornada laboral. La idea siempre fue facilitar el trabajo, y llegó el momento de ponder poner en marcha a zancadas la idea.
Fue comentado en forosdelweb.com mi intención de desarrollar un framework php y criticado en el sentido de reinventar la rueda, para que hacer algo que ya está hecho. Eso es totalmente cierto, pero las carencias que teníamos eran muy particulares y a veces lo que tenemos que hacer no es "lo de siempre" y el framwork salió a la luz, funcionando en diferentes proyectos.
Aunque en un principio la idea era tener el código licenciado bajo GPL al llevarme la tarea a la jornada laboral perdí el poder de decisión para poder liberar el código y nunca fue publicado en el repositorio. Actualmente el repositrio SVN http://svn.pensandoenred.com/framework tiene una versión antigua ya del motor de plantillas.
La experiencia es y ha sido increible al crear una herramienta de este tipo, el evolucionar el desarrollo junto con su mantenimiento hasta se hace relativamente fácil gracias a que no sólo yo aporté, también mis compañeros fueron una importante ayuda para afinar el desarrollo, técnica y conceptualmente ha sido un trabajo muy enriquecedor. El resultado fue un framework parecido en "grandeza" a codeigniter, y de fácil aprendizaje.
Aunque parece que ya estoy en tono de despedida...
no es así! esta herramienta seguirá su curso y crecerá, pero fue un proyecto gestado en un sitio y que nació en otro lugar pero ahora tiene otro rumbo. En el transcurso del mismo primero atacamos a las necesidades inmediatas y luego lo fuimos adornando pero siempre mirando hacia adelante en cuanto a necesidades y requisitos que serán imposible alcanzar en su totalidad, ya que el tiempo es dinero y no tenemos tanto dinero para ello ![]()
Antes de embarcarnos en la aventura valoré el utilizar symfony como framework, pero es muy grande y complejo. Su aprendizaje es relativamente costoso en comparación con frameworks más pequeños... Pero la potencia de symfony cada vez me abruma más.
La potencia de symfony en cuanto al tratamiento de las url's, de gestión de formularios, la rapidez en el desarrollo de aplicaciones potentes y la gran comunidad hispana que tiene es increíble por no hablar de su extensa documentación. Lo que más me ha gustado de lo que he visto en este framework son las pruebas unitarias y funcionales, algo que en muchas ocasiones en el desarrollo de aplicaciones no se la da la suficiente importancia.
Otros lenguajes de programación son más cuadriculados, pero php... el que lo conoce sabe que es tan maleable...
y no se puede competir contra cientos de cabezas pensantes de una comunidad! donde no sólo uno mismo ve la necesidad, es que la ven todos y la sacan adelante. Otro de los framework que están en la cumbre es Zend Framework y aunque lo he visto por encima me he decantado por Symfony por el momento. Tal vez cuando tenga el control adecuado para decir que conozco bien Symfony igual invierto algo de tiempo en mirar Zend, pero hay mucha documentación de Symfony y me resulta cómodo el aprendizaje así que me parece que será difícil cambiar a Zend el día de mañana. La comunidad symfony es muy activa y es de agradecer en el momento de aprendizaje y sobre todo a tener en cuenta para el futuro.
Pronto comenzaré con una aplicación con este framework y me parece que voy a disfrutar mucho, programar es divertido!
Ingenuo inalámbrico
Ingenuo, ingenuo de mi el pensar que con tener la configuración wireless protegida por MAC sin necesidad de WEP o WPA-PSK sería suficiente para tener "protegida" mi red inalámbrica.
Para que ponerle clave WEP si el que supiera desencriptar la WEP también podría cambiar la MAC... pero da la casualidad de que es más sencillo cambiar la MAC que desencriptar la WEP.
ifconfig <interface> down
ifconfig <interface> hw ether CA:FE:CA:FE:CA:FE
ifconfig <interface> up
De esta manera cambiamos la MAC de una tarjeta de red, y claro si has puesto tu tarjeta Wifi en modo monitor:
airmon-ng start <interface>
"Escucharás" con airodump-ng y detectarás a un cliente conectado, con copiar su MAC e intentar conectarte si la protección del AP es sólo por MAC ya has resuelto el problema.
Desencriptar la clave WEP es muy sencillo y rápido, WPA-PSK es más seguro, siempre que la contraseña para la red no sea un nombre compuesto y si una clave como dios manda con consonantes seguidas, mayusculas, minusculas y simbolos raros. Parece ser que aunque se capture paquetes de una inalámbrica WPA-PSK luego se utilizan diccionarios para obtener la clave.
Tengo que probar con mi red a intentar saltarme la WPA-PSK y cuando tenga el resultado os lo diré ^_^
¿Cómo tienes configurada tu wifi?
Comentario sobre P2P
Cuanta razón tiene Ivaner3k al comentar en el artículo que he mencionado en el post anterior (Portugal 100Mb) al decir:
hace 10 años los artistas como el cantante Francisco ya se quejaban de no vender discos y de no recibir ofertas en TV, porque vendian mas discos los frikis como ex-Tamara y los que salian en cronicas marcianas, y entonces no habia P2P.
Aunque el Napster ya estaba en marcha
es una buena opinión al no estar el P2P muy extendido en aquellos tiempos.
Conexión a Internet con 50Mb de bajada y 3Mb de subida
Ono ofrece una conexión a Internet realmente atractiva aunque es la oferta con el coste más elevado. Portugal por un precio un poco más caro 70€ en vez de 50€ ofrece el doble de descarga y 10mb de subida. El resto de operadores no parece que hayan hecho mención de aumentar su velocidad. En su día Jazztel fue el "bum!" ofreciendo los 20mb/1mb y aunque existen rumores de que aumentarán la velocidad de subida a 2mb no existe una oferta que compita con Ono en cuanto a velocidad.
A ver si comienzan a fomentar la competencia y todos nosotros nos beneficiaremos del coste y servicio que puedan ofertar.
Optimiza tu desarrollo web en php con KCachegrind – PHP Profiler con Xdebug
La descripción encontrada en wikipedia de "profiling":
Un "profiler" es una herramienta de análisis de performance que mide el comportamiento del programa mientras este está corriendo, particularmente la frecuencia y duración de las llamadas a funciones. La salida es un rastro (stream) de eventos o un sumario estático de los eventos observados (un "profile", perfil o reseña). Los profilers usan una amplia variedad de técnicas para recolectar datos, incluyendo interrupciones por hardware, instrumentos de código, ganchos (hooks) del sistema operativo.
El uso de profilers es usado en el proceso de ingeniería de performance. Un profile generalmente es realizado relacionado la posición del código fuente donde suceden los eventos y el tamaño de las medidas de los datos que es proporcional al tamaño del código del programa. En contraste, el tamaño de un rastro es proporcional al tiempo de ejecución de un programa, haciéndolo impracticable. Para programas secuenciales, un profile, es generalmente suficiente, pero los problemas de pefrormance en programas paralelos (que esperan mensajes o temas de sincronismo) generalmente depende del tiempo de relación de los eventos, de esta forma requieren la localización total para tener un entendimiento del problema
Para ello tenemos que instalar php5-xdebug:
sudo aptitude install php5-xdebug
Una vez instalado el módulo Xdebug tenemos que editar su fichero de configuración que encontraremos en:
/etc/php5/apache2/conf.d/xdebug.ini
En ese fichero agregaremos las siguientes lineas:
xdebug.profiler_enabled = 1
xdebug.profiler_output_dir = (path de salida) "/home/usuario/tmp/"
xdebug.profiler_output_name = cachegrind.out. %R
Tras reiniciar el apache comprobaremos en un fichero php el resultado de phpinfo() para comprobar que el modulo xdebug está operativo.
Más parámetros de configuración: xdebug profiler
Al poner %R en el nombre de salida conseguimos que si estamos analizando el domonio localhost guarde los ficheros como: cachegrind.out.localhost
Para conocer más opciones de parametrización de xdebug.profiler_output_name en: http://www.xdebug.org/docs/all_settings#trace_output_name
De esta manera conseguimos que se vayan creando los ficheros que después leeremos con KCachegrind.
Instalamos Kcachegrind:
sudo aptitude kcachegrind kcachegrind-converters
Ahora solo tendremos que lanzar el programa Kcachegrind y abrir el fichero cachegrind.out.localhost. En el mismo directorio encontraremos más ficheros pero tenemos que abrir el fichero principal que es el que no tiene concatenado a su nombre con un punto una secuencia numérica.

El programa analizará los logs de xdebug y nos lo mostrará con una interfaz gráfica intuitiva y no muy complicada de entender:
De esta manera podremos analizar si nuestra aplicación web pierde mucho tiempo en algún proceso en el que no hayamos reparado con anterioridad, el uso de memoria y las llamadas que se realizan a funciones y/o métodos.
Esta configuración está pensada para probarla en la máquina local de desarrollo, en ese caso en el path de salida que hemos configurado en el xdebug.ini tenemos que asignarle los permisos necesarios para que el usuario de apache www-data pueda escribir los logs.
Una vez finalizado su uso, es recomendable desactivar el profile de xdebug para que no nos sature de logs a los que no vamos a hacer caso.
Aunque el pantallazo es de un entorno KDE esta configuración y software se ha realizado en: Ubuntu 9.04 Gnome.
Si tu entorno de desarrollo es Windows, también puedes activar el módulo php_xdebug.dll en tu php.ini y seguir los mismos parámetros de configuración en tu fichero php.ini. Como herramienta para examinar los logs del profile xdebug puedes utilizar WinCacheGrind.
Espero que os sea de utilidad, si conocéis alguna herramienta y/o utilidad que os facilite la tarea de realizar aplicaciones ligeras agradecería el comentario.
Probando qik para android en HTC magic
Tras leer en and.roid.es que qik había lanzado ya su aplicación de video streaming online para android no pude esperar a probar el servicio. Conocí este servicio con un nokia con symbian e iba más lento que la prueba que he realizado. Habrá que tener en cuenta también la velocidad de 3G, ya que la prueba no se ha realizado en el mismo sitio ni con el mismo operador. Aunque probablemente no tardaré mucho en hacerlo ^_^.
Este ha sido el resultado:
El fin de Internet Explorer – cavando su propia tumba
Gracias a Twitter me he enterado por @aNieto2k del post de Microsoft venderá Windows 7 sin Explorer. En este post me ha gustado la ocurrente frase de:
¿Cómo vas a poder bajarte Firefox desde Windows si de repente no trae ningún navegador?
No es ninguna tontería, si no traen Internet Explorer como navegador por defecto, cómo te bajas de Internet un navegador. Tal vez esto es un simple formalismo ya que probablemente tengas que conectarte a Windows Update para descargar un navegador y el resultado final acabará siendo Windows 7 más IE8/9?
De todas formas si un usuario no tiene navegador por defecto y tiene opción a escoger un navegador es probable que los usuarios de IE comiencen a caer en empicado, favoreciendo al resto de navegadores y así a todos los diseñadores/desarrolladores web. Sería una utopia si nos dedicaramos a desarrollar sobre estándares y no sobre el estándar de Internet Explorer y el resto.
Microsoft cede ante la presión de la Comisión Europea para no instalar por defecto su navegador, pero Microsoft sólo llevará a cabo esta acción en Europa.
Es una pena que no sancionen a Microsoft por no cumplir estándares o por tener una línea diferente al estándar sin debatir o intentar mejorar el existente. Esto no sólo para el navegador, se podrían aplicar el cuento con la mayoría de sus herramientas. Empezando por su popular herramienta ofimática Microsoft Office...
Más info como cita manoteca.com: Windows 7 sin Explorer