Tonight I was programming in my computer, but my neighbor was listening a song called "Night In Bangkok", this song some years ago when I was adolescent it sounded a lot in the radio, for that I enter to youtube to search this song and to listen it in my computer, but in a part of the song I listened Thailand music so call my attention and I began to search thailand music, but the first video that I could find was Nepal Music, seeing this video in the right side of the youtube yo can see another videos and one of them I found curious, the title of this video is "Mars Civilization: Evidence by European Space Agency".
The author of this video is Sean David Ryan, he show in the video mars photographs taken by European Space Agency, where he can found rare shapes in the photograph increasing the contrast and lowering the brightness of the photograph.
In Mexico there a chatterer called Jaime Maussan making business with UFO, Aliens and other rare things, then I didn't believe what I saw in the the video, because it could be a trick using an images editor.
But searching the Hale Crater photographs in the ESA website I can to get three photographs and I downloaded it.
Making the same process that Sean Dadiv Ryan made with the photographs I saw the same shapes in the picture and I put the final result.
The shapes that appear in the low part of the photograph are very interesting, I thought that this shapes were created by an error by JPEG Compresion Algorithm, but processing the three photographs that have a different angle and perspective I can saw the same shapes curiosly..
You can see the video of Sean Davi Ryan in youtube : http://www.youtube.com/watch?v=qcR7VX-FwDY
And to download the Mars Hale Crater photograph from ESA Website http://esamultimedia.esa.int/images/marsexpress/137-021104-0533-6-3d2-01-HaleCrater_H.jpg
Or going to the ESA Website and download another Hale Crater photographs.. http://www.esa.int/esa-mmg/mmg.pl?topic=&subtopic=&subm1=GO&keyword=Hale+Crater
if you make the same procedure described in the video, you could see the shapes in the "Hale Crater" , this is very interesting because the photographs are downloaded directly of the ESA Website.
I have my doubts about of the shapes, but I leave it to your approach..
Hace algunas semanas se liberó un script en Python que permite descargar videos de youtube a tú computadora en formato FLV para despues poder visualizarlos con el reproductor multimedia VideoLAN(VLC) ó pasarlos a otro formato de video con FFMPEG.
De tal forma que aprovechando este script desarrollado en Python he hecho un script en PHP que utilizando el script hago una interfaz para poder obtener la url del video y así pueda descargarse, esto para los usuarios que no tienen instalado Python en su computadora y no sepan mucho del manejo de consola.
Solo basta introducir en el siguiente campo de texto la liga del video que aparece en youtube, luego presionar el botón get video, esperar unos segundos y abajo aparecerá el video para visualizarlo así como la liga para que pueda descargarse.
Cuándo se descargue el video de youtube almacenará en la computadora un archivo llamado get_video.flv solo renombrarlo con el titulo del video por ejemplo, y visualizarlo con VideoLan.
Introduce la url del video por ejemplo http://www.youtube.com/watch?v=gkOW6OvqsxY
Source Code
El código fuente de esta interfaz para PHP que he hecho puede descargarse desde http://files.mexrom.net
In image processing, computer graphics, and photography, high dynamic range imaging (HDRI) is a set of techniques that allows a greater dynamic range of exposures (the range of values between light and dark areas) than normal digital imaging techniques. The intention of HDRI is to accurately represent the wide range of intensity levels found in real scenes ranging from direct sunlight to shadows. [ Wikipedia]
To Create HDR images exists many applications that can help us with this technique, but many times that is commercial software and we need a license to use it, and also this software only can run in Microsoft Windows, for example Photoshop CS3, Photomatix, etc. Exist an image manipulator software called GIMP, but with this software, we can't to create HDR, only Exposure blended images, first because GIMP only work with 8 bits images and a HDR image require more than 8 bits.
In Linux you can to create HDR Images with QTPFSGUI, if you use ubuntu linux, only executing sudo apt-get install qtpfsgui you will have installed this software to create HDR Images, but is recommended download the software from http://qtpfsgui.sourceforge.net/download.php, it available for Windows, Linux and MacOSX.
The result with qtpfsgui is for example like the following images..
Hace unos días fuí a Oaxaca a visitar a mi familia, platicando con mi padre quién es un profesor de educación primaria me comentó que este año le tocó dar clases a alumnos de 6° año de primaria, y con eso de la "Alianza por la Educación" para este nuevo ciclo escolar que va del 2008 es necesario enseñarle ingles a los niños de primaria, mi padre se mostró algo preocupado, ya que el no tiene nociones de ingles, mas que unas solas palabras, por lo que mostró preocupado de como enseñaría a sus alumnos la pronunciación de las palabras que venían en el texto de ingles para el grado asignado.
Por lo que para ayudarle con esto, recordé que ya desde hace tiempo ya vengo trabajando con un sistema sintetizador de voz llamado Festival, este software permite leer textos y reproducirlos con diversos parlantes los cuáles pueden ser en ingles, italiano, frances, español, alemán, sueco, etc. dependiendo de la configuración seleccionada, de tal forma que es posible leer textos en ingles con la pronunciación adecuada usando un parlante ingles, o leer textos en italiano usando en festival un parlante italiano.
El primer detalle que salió fué que festival está creado para Linux el cuál es un sistema operativo de código abierto, pero buscando en internet encontré la forma de compilar Festival para windows gracias a Benjamin L. Brown. Lo que se me ocurrió hacer es algo similar a una aplicación llamada ksayit que funciona bajo linux, esta aplicación lo que hace es reproducir el texto que se copia en cualquier programa, de tal forma que presionando el botón de ksayit ubicado en la barra de tareas de KDE lo reproduce a traves de Festival.
Por lo que haciendo uso de Visual C++, C y Festival sobre Windows pude crear un pequeño plugin para Festival que podría ser de utilidad a alguien que quiera tener una ayuda sobre el aprendizaje de la pronunciación del idioma ingles y otros lenguajes. Instalación del Plugin para la pronunciación del ingles (También ver más abajo el video del procedimiento aquí indicado)
Para poder descargar el plugin de Festival para Windows XP ir al siguiente link: http://files.mexrom.net/index.php
El login y password de acceso es :
user: invitado
password: invitado
Despues de acceder al sistema ir a la carpeta
FestivalSysTray/
Y desde ahí seleccionar el archivo
FestivalTTS.exe
Despues de que se descargue el arhivo ejecutarlo e instalarlo en el directorio raiz C:\
ya que se haya descomprimido se creará en automático el directorio C:\FestivalTTS, enseguida ir al directorio C:\FestivalTTS\festival\src\main\
Y ejecutar FestivalXPSysTray.exe
Una vez ejecutado FestivalXPSysTray.exe, se verá un ícono con forma de boca en la barra de tareas de Windows.
Ahora solo seleccione un texto en ingles en alguna página de internet, documento, ventana, etc y luego vaya a presionar el ícono de la boca, seleccionado la opción hablar.
Enseguida el sistema de Festival comenzará a leer el texto copiado. Codigo Fuente
El código fuente también puede descargarse mediante PHPFileManager, solo ir al directorio source code y descargar los 2 archivos listados:
FestivalXPSysTray_src.exe
festival_piped.c
Aquí pongo un video que indica los pasos para la instalación del plugin de Festival, esto por si hay algún profesor de educación primaria en nuestro pais que le fuera útil el plugin.
Cualquier comentario, error o duda sobre el plugin desarrollado pueden hacérmelo saber en:
fileinleon [arroba] gmail [punto] com
Saludos..
Festival es un proyecto Open Source desarrollado por el centro de investigación de la universidad de Edimburgo, el cuál permite procesar texto a voz, de tal forma que ha sido posible tener un sistema que lee en diversos idiomas un texto, de tal forma que seleccionando un tipo de lector predeterminado(ingles,español, italiano, aleman, etc) es posible leer un texto respetando las reglas gramaticales de ese idioma.
Festival inicialmente está desarrollado para usarse sobre un entorno Unix, por lo cuál nativamente está desarrollado bajo Linux, pero debido a que ha sido programado en C/C++ es posible compilarlo en otras plataformas como puede ser el caso de Windows.
Hace unos días vine a Oaxaca y platicando con mi padre que es maestro de educación primaria, me comentó que ahora en la SEP le están pidiendo a los maestros de primaria de 5 y 6 grado que enseñen ingles a sus alumnos, por lo que su preocupación fué como enseñar ese idioma si no tiene el más mínimo conocimiento sobre la lengua anglosajona, mucho menos conoce la pronunciación, por lo que decidí buscar una solución y en este caso como ya había trabajado con Festival para alkgunas aplicaciones de Voz sobre IP que he desarrollado para asterisk , busque si había algun port para Windows, pero no encontré nada, por lo que busqué como compilar Festival para windows y encontré el siguiente tutorial. http://flame.cs.dal.ca/~lalita/festival/festivalXP.htm
Ese tutorial me ha sido bastante efectivo y me sirvió para tener ya Festival trabajando sobre Windows.
Solo es requerido tener un compilador de Visual C/C++
Las fuentes de Festival y Speech tools.
El entorno unix para Windows cygwin
Las herramientas de desarrollo con MinGW
Y Seguir el procedimiento de instalación que sigue el tutorial.
Vale la pena echarle un ojo..
En la mañana un conocido tuvo un descuido al asignar la contraseña de Windows XP y tuvo un error al copiar el password asignado a esa PC, por lo que no podía entrar al sistema y continuar con sus labores habituales, por lo que me llamó para que le echara la mano con este asunto.
Lo primero que me pasó por la mente fué usar algún live cd de Linux y desde ahí de alguna forma intentar crackear la contraseña de Windows XP, por lo que investigando en google encontré información sobre la herramienta chntpw , la cuál es una utilería que funciona bajo Linux y permite romper el sistema de seguridad de Windows XP.
Afortunadamente tenía un live cd de Knoppix, la cuál ya trae esa utilería instalada en el CD, por lo que segui el procedimiento descrito para poder usar chntpw.
Lo primero que hay que hacer es montar la particion NTFS dónde se encuentra el directorio C:/windows, esta particion hay que montarla como de escritura y lectura.
Por ejemplo suponiendo que /dev/sda1 sea el directorio de Windows, entonces se montaría la partición de la siguiente manera:
De esa lista hay 3 archivos importantes
SAM
SECURITY
system
Por lo que comenzaremos a editar los archivos de seguridad de windows
sudo chntpw -l SAM system SECURITY
Al ejecutar el comando anterior nos regresara lo siguiente:
chntpw version 0.99.3 040818, (c) Petter N Hagen
Hive's name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c <lf>
Page at 0x9000 is not 'hbin', assuming file contains garbage at end
File size 262144 [40000] bytes, containing 8 pages (+ 1 headerpage)
Used for data: 336/30560 blocks/bytes, unused: 4/1952 blocks/bytes.
Hive's name (from header): <SYSTEM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c <lh>
Page at 0x535000 is not 'hbin', assuming file contains garbage at end
File size5505024[540000] bytes, containing 1215 pages (+ 1 headerpage)
Used for data: 94421/5375528 blocks/bytes, unused: 2544/41464 blocks/bytes.
Hive's name (from header): <emRoot\System32\Config\SECURITY>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c <lf>
Page at 0xf000 is not 'hbin', assuming file contains garbage at end
File size 262144 [40000] bytes, containing 14 pages (+ 1 headerpage)
Used for data: 1216/55008 blocks/bytes, unused: 5/1888 blocks/bytes.
* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length : 0
Password history count : 0
RID: 03f2, Username: <ACTUser>
RID: 01f4, Username: <Administrador>
RID: 03ec, Username: <Asistente de ayuda>, *disabled or locked*
RID: 03eb, Username: <ASPNET>
RID: 01f5, Username: <Invitado>, *BLANK password*
RID: 03ee, Username: <IUSR_MEXROM>
RID: 03ef, Username: <IWAM_MEXROM>
RID: 03ed, Username: <phylevn>, *disabled or locked*
RID: 03f3, Username: <SQLDebugger>, *disabled or locked*
RID: 03ea, Username: <SUPPORT_388945a0>, *disabled or locked*
Hives that have changed:
# Name
None!
Posteriormente seleccionamos el usuario y procedemos a cambiar el password con el siguiente comando:
sudo chntpw -u phylevn SAM system SECURITY
Y al ejecutar este comando tendríamos que contestar las siguientes preguntas:
Do you really wish to disable SYSKEY? (y/n)[n]
[seleccionar (n) y presionar ENTER]
Please enter new password: *
[Aqui introducir solo * y presionar ENTER, esto limpiara el password, hay un error en la utilería que en teoría debería poderse cambiar el password pero no lo hace, solo permite poner en blanco el password]
Do you really wish to change it? (y/n)[y]
[Seleccionar y y presionar ENTER]
Write hive files? (y/n)[y]
[Seleccionar (y) y presionar ENTER]
Al final indicará que se ha cambiado el password.
Solo bastaría reiniciar a Windows nuevamente y se tendría en blanco el password del usuario seleccionado.
Buscando informacion sobre donde aplican los examenes para obtener la certificacion de Linux Professional Institute aqui en Mexico, encontré este interesante Link: http://www.linux-praxis.de/lpisim/lpi101sim/index.html
El cual es un simulador del examen LPI 101 que va mostrando preguntas de forma consecutiva, la utilidad de este simulador la veo en que al hacerte las preguntas van saliendo comandos o te preguntan caracteristicas de linux que quiza en algun momento no has usado con mayor profundidad, por lo que el uso de este simulador se vuelve practico si estas usando linux, pues al mismo tiempo que vas revisando pregunta por pregunta vas haciendo pruebas con tu maquina y asi conociendo un poco mas sobre este versatil y poderoso sistema operativo que es linux.
Hace unos días desempolvando unos archivos de mi máquina de escritorio encontré una aplicación que estuve desarrollando sobre PHP a principios del 2005 para la empresa en la que trabajaba en ese momento, en ese tiempo mis conocimientos sobre PHP eran intermedios y no conocía mucho sobre Frameworks de desarrollo como ahora puede ser CakePHP, cosa que en ese momento me hubiera ayudado mucho en el tiempo de desarrollo. Pero revisando el código encuentro un conjunto de funciones que hice, entre las cuáles hice una para generar consultas avanzadas, ya que la aplicación que desarrollaba era administrativa y requería generación de múltiples reportes.
He puesto aquí en mi blog el código para poder generar consultas y reportes avanzados, por lo que el funcionamiento demo es aplicado a las tablas de Blog y Comentarios de la base de datos de este blog, el demo puede verse en esta url: http://phylevn.mexrom.net/busqueda/
Y el código de esta función puede obtenerse de http://phylevn.mexrom.net/busqueda/busqueda.zip
Explicación:
El código contiene los siguientes archivos:
index.php : Script que manda configura el generador de busquedas y aqui se va programando el generador de consultas que se adecuara a las tablas de la base de datos.
includes(Dir)
>busqueda.php: Funciones del generador de busquedas
>system.php: Contiene las rutas de el módulo
>functions.php: Funciones requeridos por el modulo
>configdb.php: Aqui se configura el acceso a la base de datos
>estilo.css: Hoja de estilo del generador de busquedas
>CalendarPopup.js: Codigo javascript para mostrar un calendario
>idioma(Dir)
>espanol.php : Contiene los textos en espaniol para el generador de busquedas
Para usar este módulo es requerido editar los archivos
configdb.php
system.php
Lo que hace este módulo es permitir generar cuadros de diálogo personalizados que se relacionan a campos de una tabla, de acuerdo a la configuración y activación de estos campos, se va generando una condición SQL, que al final puede aplicarse para generar un listado de información o también desde la misma interfaz crear un reporte en formato CSV de ciertos campos seleccionados.
También en base al conjunto de condiciones generados puede crearse un reporte en formato CSV, clickeando en la parte de abajo la opción de reporte y seleccionando los campos que se quieren agregar al reporte, para que al final el script regrese un reporte en formato CSV de acuerdo a las condiciones de la consulta creadas.
De todos las opciones disponibles hay que "clickear" en el nombre del campo de la condición para activar la consulta sobre ese campo, si se quiere hacer un AND presionar el checkbox requerido, si se quiere hacer una condición tipo OR sobre el campo deseleccionar el campo requerido.
El cuadro de dialogo se puede configurar para hacer consultas sobre diversas tablas ya que al final lo que regresa es la condición que se va generando.
En el código se puede observar como se configura el generador de consultas y reportes para mostrar un cuadro de diálogo que se pueda adaptar alguna tabla de base de datos y como se configura cada uno de los campos para mostrar el tipo de cuado diálogo correspondiente.
Solo es requerido editar el archivo index.php que es dónde se definen los campos y cuados de diálogo a usar, así como también los campos que el reporteador CSV tiene disponibles para generar.
Mi código no es tan limpio como quisiera, pero lo pongo a su disposición por si alguien pudiera servirle. Cabe mencionar que este código presenta algunos errores .
Cualquier comentario, crítica, mejora, etc.. será bienvenida.
Hace un par de semanas atras comencé a incursionar con CakePHP, el cuál es un Framework de desarrollo para PHP. Llevo años haciendo diversas aplicaciones con PHP, pero admito que no ha sido de la forma correcta, despues de conocer más sobre CakePHP he quedado interesado de la forma en que CakePHP lleva el desarrollo de aplicaciones de una manera más fácil, rápida, elegante y bien organizada.
Para empezar CakePHP utiliza MVC(Modelo-Vista-Controlador) que es un método de desarrollo de software que permite separar la lógica y reglas del negocio, de la vista de la información, así como de los datos del sistema, lo cuál permite tener una mejor organización en el desarrollo del sistema y generar software de calidad.
CakePHP tiene varias características aun más interesantes como el manejo de componentes, helpers, behaviors, librerías y utilerías que hacen el desarrollo más fácil proveyendole una potencialidad en el uso de diversas tecnologías tales como Ajax, XML, RSS.
Algo interesante de CakePHP es la generación de código para listados de información, formularios, validación de usuarios, paginación que en algún momento pueden ser prácticas, pero en mi caso prefiero personalizar estas partes.
Algo que me gusto de CakePHP es la implementación de permisos para usuarios lo que ellos llaman AROs y ACOs, antes el manejo de permisos lo hacía a traves de una matriz de permisos, pero que en sistemas dónde la cantidad de usuarios es enorme, simplemente usar este método es obsoleto e impráctico, por lo que la idea de CakePHP es fabulosa pues todo se maneja a traves de perfiles, acciones y solicitantes.
Entre las cosas que también suelen ser muy prácticas a la hora del desarrollo de aplicaciones es la validación de datos en la creación y actualización de registros en la base de datos, CakePHP a traves de sus métodos permite hacer múltiples validaciones de tipos de datos en los campos permitiendo personalizar esta información y mostrando en las vistas los errores de una forma bastante práctica y personalizable.
Otra de las cosas interesantes de CakePHP que pueden hacer el desarrollo más fácil, entendible y bastante organizado son las inflecciones del Framework. Por diseño CakePHP no usa la petición tradicional de las urls, si no adopta una forma especial para el uso de estas de tal forma que es fácil entender cuál es el controlador, la acción y las variables de la petición lo que dentro de MVC se vuelve bastante útil.
También CakePHP tiene un conjunto de helpers interesantes tal es el caso del helper de Ajax el cuál junto con scriptauculus hacen mucho más fácil la generación de aplicaciones web 2.0.
Puedo seguirme alabando a CakePHP, pero creo que lo mejor para el desarrollador interesado en probar esta tecnología que junto con PHP y demas herramientas libres pueden hacer que el desarrollo de aplicaciones web sea mucho más fácil, rápido y bastante atractivo a nivel usuario y desarrollador.
Manual de CakePHP:
Hace unos días me encontraba buscando un manual sobre C/C++ para poder ir reforzando mis conocimientos sobre este lenguaje, ya que tiene más de 4 años que dejé de usarlo, por lo que algunas cosas se me fueron olvidando en especial la parte de apuntadores, por lo que buscando información sobre este lenguaje, encontré información en la siguiente url:
http://www.programatium.com/c.htm
El cuál contiene información desde las bases de C hasta cosas avanzadas como son sockets, sin dejar pasar la parte de apuntadores por supuesto.
Por lo que despues de un día prácticamente sentado siguiendo lección por lección me animo a recomendarlo ya que desde mi punto de vista está muy completo, puesto que abarca las características esenciales de este lenguaje de programación.
Comentarios Recientes