Utilidades


Pues nada, que el Visual Basic está muy bien para programar aplicaciones sencillas rápidamente, pero aparte de eso tiene un millón de carencias como por ejemplo no pararse a esperar a que termine la ejecución de un programa invocado externamente mediante la instrucción Shell :

Shell("gzip.exe backup.sql")

Mi intención era crear un programa q hiciese un backup SQL de una base de datos Access, lo comprimiese y lo enviase vía FTP a un servidor remoto. El problema es q con Visual Basic si lo mandas comprimir y utilizas una aplicación externa como gzip lo q sucede es q no se espera a q termine la compresión y ya está tratando de subirlo por FTP. La solución pasa por hacer una llamada al API de Windows:

'Declaraciones Windows API:

Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwAccess As Long, ByVal fInherit As Integer, ByVal hObject As Long) As Long

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

'Espera x milisegundos y devuelve el estado de ejecución de un proceso (si se omite el argumento espera hasta que finalice el proceso):

Function WaitForProcess(taskId As Long, Optional msecs As Long = -1) As Boolean

Dim procHandle As Long

'Obtiene el handler del proceso
procHandle = OpenProcess(&H100000, True, taskId)

'Verifica el estado del proceso y se lo devuelve a nuestra función
WaitForProcess = WaitForSingleObject(procHandle, msecs) <> -1

'Cierra el handler
CloseHandle procHandle

End Function

Utilización:

WaitForProcess Shell("gzip.exe backup.sql")

Espero q le sea útil a alguno :)

Un efecto de transición de imágenes utilizando la técnica del fundido y creado exclusivamente con Javascript. Queda bastante ponfesional, funciona en Firefox, Safari e Internet Explorer (pero no en Opera :( ), y es muy sencillo de utilizar en vuestros sitios web. Si queréis experimentar pasaos por la página de su creador: Image Cross Fade. Aquí os dejo un ejemplillo con unas fotos q acabo de hacer ( :P ):

Pues no es muy complicado; digamos que esta es la dirección del vídeo:

http://www.youtube.com/watch?v=bTfVt5GxpFU

Te basta cambiarla por esta otra et voilà:

http://www.youtube.com/get_video.php?video_id=bTfVt5GxpFU

Te habrás descargado un vídeo en formato FLV (Flash Video); si no lo has renombrado se llamará por defecto: “get_video

Si luego quieres pasar el fichero “get_video.flv” (o como quiera que lo hayas renombrado) a divx, xvid o algún otro formato ¡pues te toca buscarte la vida! :P (aunque a mi me funciona muy bien el Total Video Converter para este menester :D )

Acabo de ver el Textorizer comentado en Criterion y no he podido resistir la tentación de textorizar la ilusión óptica del otro día. He aquí el resultado:

Textorizer
Pincha en la imagen para textorizarte :P

Una alternativa a Google Maps para la Comunidad de Madrid (España)

Bernabéu
Pincha en la imagen para acceder a la versión en pruebas de GeoMadrid :)

Funciona correctamente en Opera y en I.Explorer pero no en Firerox :/

Enredando un poco lo he conseguío :) (al menos para Opera 8.51 bajo Windows XP :P ). Ejemplo:

Receta:

  1. Cargar un vídeo en youtube.com y pillar por banda el código para embeberlo en tu blog:

    <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/bTfVt5GxpFU"></param><embed src="http://www.youtube.com/v/bTfVt5GxpFU" type="application/x-shockwave-flash" width="425" height="350"></embed></object>

  2. Pegar el URL del vídeo en la barra de dirección de tu navegador:

    http://www.youtube.com/v/bTfVt5GxpFU

  3. Copiar el nuevo URL obtenido:

    http://www.youtube.com/p.swf?video_id=bTfVt5GxpFU&eurl=&iurl=
    http%3A//static10.youtube.com/get_still.php%3Fvideo_id%3DbTfVt5GxpFU

  4. Embeberlo en el blog con el siguiente código:

    <embed src="http://www.youtube.com/p.swf?video_id=bTfVt5GxpFU&eurl=&iurl=
    http%3A//static10.youtube.com/get_still.php%3Fvideo_id%3DbTfVt5GxpFU"
    type="application/x-shockwave-flash" width="425" height="350"></embed>

Jeje, lamentablemente yo he decidido hace poco no seguir embebiendo directamente vídeos de youtube.com en el blog, por eso de que cada 2 x 3 andan sus servidores caídos y tal. Prefiero poner una imagen y un enlace al vídeo :)

- EDITO -

Más fácil todavía:

Tan solo hay q cambiar /v/ por /p.swf?video_id=

Según acabo de leer en el blog de yon: Google Video se sube al carro youtube.com en esto de facilitar la carga de vídeos en su sitio web, permitir embeberlos en blogs, etc. y de paso añaden algunas funcionalidades nuevas como un cómodo botón de descarga o la tienda de vídeos (para comprar episodios de series de TV, eventos deportivos, etc.)

Por aquí un vídeo bastante cachondo de las Morning Musume vs Bob Sapp (luchador), a ver quien le quita las pelotas antes al otro, las Morning a Sapp o Sapp a las Morning:


Mola, los vídeos de youtube.com no se me reproducen remotamente en Opera, pero los de Google Video sí, aparte q no añaden ninguna mosca en la esquina inferior derecha, ni tampoco enlaces no deseados :)

Leía hace unos días en dirson sobre retrievr, un buscador de imágenes a partir de un dibujo del usuario. Aunque aún se encuentra en fase de desarrollo lo podéis probar online mediante una interfaz creada con Flash en esta dirección :) (pero no esperéis maravillas, puesto que tira de una base de datos de imágenes bastante reducida y extraída de flickr)

Por aquí un ejemplillo:

retrievr

——

Por otro lado leía hace unas semanas sobre tunatic en el blog de otama, un reconocedor de canciones y melodías a partir de un fragmento captado con un micrófono (el programa funciona online, así que hay q estar conectado a la Red para q pueda buscar en una base de datos remota)

Una imagen vale más q mil palabras:

tunatic
No me ha salido muy bien la foto pero en el móvil estaba sonando un mp3 del Tripping de Robbie Williams :P

¿El traductor de Google no te aclara bien lo q significa alguna terminología slang? ¿tampoco lo encuentras en la Wikipedia? entonces prueba con el Diccionario Urbano :D

Por aquí una guía rápida de comandos avanzados de búsqueda para Google: Google Guide Quick Reference (por ejemplo, para buscar torrents suele venir bastante bien tirar de filetype:torrent :) )

Next Page »