Author Archive
Ángeles y Demonios. O en un libro muy corto usando DyV
by _TheAway on Oct.07, 2009, under Uncategorized
Un material altamente explosivo está escondido en alguna parte de la ciudad del Vaticano, la bomba está enfocada con una cámara e iluminada con un foco. En menos de 6 horas la ciudad explotará y el nuevo Papa podrá hablar cara a cara con Dios.
Gracias a dios el Vaticano, o al menos la imaginación de Brown, cuenta con gente muy preparada. Dejan claro que es una cámara inalámbrica puede estar en cualquier parte y no se puede buscar. La solución es ir apagando selectivamente la luz de la ciudad por sectores hasta que la cámara esté a oscuras.
Obviamente las 2 premisas anteriores son una tontería, cualquier cámara inalámbrica es localizable, la cámara emite por ondas lo que ve, solo habría que usar antenas direccionales y triangular la señal. Pero así no tendría tiempo de ir dando vueltas por Roma nuestro amigo Landon
Así que para que el libro no durará 6 paginas vamos a pensar que de verdad la cámara inalámbrica no se puede localizar.
Y centrémonos un poco en la opción de ir apagando la ciudad. Cualquiera que haya dado un poco de algoritmia vera que es un poco ridículo este método y más si tenemos en cuenta que según el libro son 70 y pico sectores. Para encender y apagar un sector hace falta una cierta reparación de forma que se tardan unos minutos en hacerlo , pongamos que son 10 minutos y solo 70 sectores costaría 700 minutos bastante más de 10 horas en comprobarlo todo. Como de la casualidad que la bomba está en el último y nuestro amigo Landon no e ha dedicado a ver donde marcan los ángeles o se ha equivocado de pista, adiós Vaticano.
Salgámonos del libro y pensemos que los que están al mando de la seguridad de la ciudad son gente preparada, o al menos hay alguien que estudió informática. ¿cual sería el algoritmo más rápido para descubrir ese sector de la ciudad? Obviamente se usaría Divide y Venceras este algoritmo lo que te dice es “no hagas el problema como un todo, divídelo en trozos más pequeños y manejables”. En el caso de nuestra ciudad que explota seria tan sencillo como:
Obviamente apagar media ciudad cuesta mas que un solo sector digamos que cuesta el triple, y son 70 sectores los que tiene nuestra ciudad. en 30 minutos hemos descartado ya 35 sectores, que del otro modo seria 6 horas. Sigamos bajando, en 1 hora,30 minutos más, solo nos falta por ver 17 sectores, tras media hora más son solo 8, en otra media hora 4 en otra media 2 en 10 minutos más ya lo tienes.
En total han sido 2 horas y diez minutos y eso es simplificando, contra menos sectores menos cuesta.
Desgraciadamente, o afortunadamente dependiendo de si te gusto el libro, si hubiera habido un informático en el Vaticano apenas hubiera dado tiempo a ver 3 iglesias.
Obviamente si hubiera habido un ingeniero en telecomunicaciones el libro hubiera sido un:
-“Está usando una cámara inalámbrica puede estar en cualquier parte”
Virgilio Tossi, responsable de las telecomunicaciones del Vaticano llega con una antena direccional un mapa del vaticano y una brújula digital.
-“Veamos donde está”
Usando la ganancia de señal en la antena direccional capta la dirección donde llega más fuerte la misma, después sale corriendo al patio exterior donde realiza otra toma, luego se monta en su coche y recorre un par de kilómetros para bajarse y realizar otra medición. Rápidamente despliega un mapa del vaticano y con las tres ediciones triangularía y señala en el mapa el lugar exacto donde está la cámara
-“A la cripta de San Pablo”"- grita.
…
Apenas hubiera sido un fascículo.
Spotify en mIRC
by _TheAway on Sep.02, 2009, under Scripts, Uncategorized
Este script para mIRC es el resultado de mi dislexia asesina. Buscando en internet por algún addon para mIRC que permitiera mostrar lo que estabas escuchando por Spotify en el mIRC no encontré nada. Lo cual es normal si lo que estaba buscando era “Stopity mirc addon” xD.
La cosa es que acabe haciéndome uno que lo mostrará. No hace nada más, solo muestra lo que estas escuchando en el momento. No puedes controlar el Spotify, no puedes ver cuanto dura el audio, ni que vendrá en la lista a continuación. Solo y exclusivamente muestra los que estás escuchando.
Día internacional del Blog
by _TheAway on Aug.31, 2009, under Uncategorized
Hoy es el día internacional del Blog, una iniciativa que lleva 5 años intentando aumentar las redes sociales y de los blogs.
Para participar, has de poner 5 blogs de temática distinta al tuyo. La idea es que otras personas conozcan otras aficiones y redes de blogs distintas.
Dado que mi blog es lo más sesgado del planeta no es nada difícil.
- http://www.historiasdelaciencia.com/ Cerca de 300 entradas de historias curiosísimas sobre científicos o ciencia en general lo recomiendo a todo el mundo.
- http://www.perry.es/ o Mrm-sama ga miteru, es un blog amigo y trata básicamente de anime, y lo que se le pase a mrm por la cabeza. Además, que diablos, si ves esta entrada es que lo conoces ya.
- http://mondomedico.wordpress.com Blog sobre medicina, lo descubrí de casualidad hace unos meses y desde entonces lo suelo ver una vez en semana. Leeros lo que diga de la Gripe A .
- http://www.directoalpaladar.com/ ¿cómo no iba a poner yo un blog sobre cocina? pues este es, tiene recetas muy interesantes.
- http://blogs.aunder.org/ y para acabar la lista, el grupo de blogs de Anime Underground, sobretodo el único que parece vivo aparte del mío, el de macatraca (Vil curra :P)
Apuntaos.
Un poco de otra cosa
by _TheAway on Aug.22, 2009, under Uncategorized
No lo he puesto nunca, pero aparte de los temas de AE, programación y video, otras de mis aficiones es el WoW. Ayer mismo salió en la Blizzcon que para el próximo año van a sacar una nueva expansión con muchisimos cambios.
Macatraca ha hecho una recopilación y traducción de lo que ha ido saliendo podeis verlo aquí
http://blogs.aunder.org/macatraca/2009/08/22/world-of-warcraft-cataclysm/
AJAX ¿y cómo se come eso?
by _TheAway on Jun.20, 2009, under Web
Esta entrada es otra de tantas que intentan explicar que es exactamente AJAX, aunque ya tiene unos 6 años aun hay quien no lo entiende, y para que sirve.
AJAX es un acrónimo de los que tanto le gustan a los angloparlantes quiere decir Asynchronous JavaScript And XML y la explicación de andar por casa es: Usar Javascript y XML para comunicar distintas aplicaciones web.![]()
Pero vayamos por partes, primero ¿qué es Javascript? , y ¿qué es XML? muchos lo debéis de saber ya pero otros no así que lo explico:
-
Javascript es un lenguaje de programación que esta integrado en la mayoría de navegadores desde 1995. En el que apareció en Netscape en 1996 aparecería JScript para Internet Explorer. El 90% de los formularios webs lo usaban y usan para comprobar que los datos que insertas son validos y que está todo. También se usaba para generar animaciones en la web, presentar datos, etc.. A partir del año 2000 que se terminó de definir el modelo de web basado en contenido y presentación el HTML con los datos y el CSS con la presentación empezó a usarse para modificar la presentación dinámicamente. Apareciendo por la web paginas en las que el texto se esconde, pulsas una imagen y se abre al lado la descripción, …. Es lo que se dio a conocer como DHTML o Web Dinámica.
Desgraciadamente mucha gente confunde DHTML con AJAX, AJAX es coger los datos que quieres presentar de otra web, o de otro agente web, o de un servidor perdido de la mano de dios que devuelve datos en XML. DHTML es poner bonitas las webs. La causa de la confusión es que todo lo que usa AJAX hoy en día también lo presenta usando las técnicas de DHTML. Pero son cosas distintas.
-
XML son las siglas de eXtended Markup Language cuya traducción seria lenguaje de marcas extensible ¿alguien se ha enterado? los lenguajes de marcas/etiquetas son aquellos en los que la información que quieres insertar esta encapsuladas entre etiquetas del estilo <html></html>. Por ejemplo las paginas webs están escritas usando un lenguaje de marcas, lo del extensible solo quiere decir que tu puedes definir tus propias marcas y un diccionario para decir que tiene que haber dentro de cada marca.
Ya sabemos que es cada cosa, ahora ¿cómo lo unimos para hacer funcionar el AJAX este ? La mayoría ya ha tenido que pensar:
Usando Javascript llamo a alguna aplicación web que me devolverá el resultado en un XML y que usando otra vez Javascript lo presentaré de forma bonita.
Si eso es lo que has pensado enhorabuena, por que es precisamente lo que hay que hacer, si no lo has pensado pues lo estas haciendo ahora mismo xD. La cuestión es ¿cómo? y la respuesta tiene un nombre XMLHttpRequest()
Es una clase de Javascript, para ser exactos es una interfaz pero lo dejamos como clase, que permite a los navegadores hacer peticiones a otros servidores, o al mismo, una vez establecida la comunicación le mandamos o los datos de un formulario, o de una búsqueda o cualquier cosa. Como resultado cuando el servidor lo haya procesado nos devolverá en un XML lo que le hemos pedido. Ahora lo bueno el HTML con el que escribimos las webs es también un XML, luego en muchos casos lo que devuelve es los datos en HTML para insertarlos tal cual.
Pongamos un ejemplo:
function nuevoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject(”Msxml2.XMLHTTP”);
} catch (e) {
try {
xmlhttp = new ActiveXObject(”Microsoft.XMLHTTP”);
} catch (E) {
xmlhttp = false;
}
}if (!xmlhttp && typeof XMLHttpRequest!=’undefined’) {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}function cargaDatos(id){
var t1, t2, contenedor;
contenedor = document.getElementById(’datos’);
ajax=nuevoAjax();
ajax.open(”POST”, “ajax1.php”,true);
contenedor.innerHTML = “<div id=\”conectando\”><img src=\”img/proceso.gif\” /></div>”;
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
contenedor.innerHTML = ajax.responseText;
}
}ajax.send(”ID=”+id);
}
La función nuevoAjax() lo que hace es devolver la clase que implementa la interfaz XMLHttpRequest() y funciona para la inmensa mayoría de navegadores.
cargaDatos(id) tiene más chicha. Iré paso a paso.
- contenedor = document.getElementById(’datos’);
En el HTML de la web existe un <div id=”datos”></div> pues eso se asigna a contenedor.
- ajax=nuevoAjax();
Creamos el XMLHttpRequest.
- ajax.open(”POST”, “ajax1.php”,true);
Le decimos que cree una nueva conexión con el fichero ajax1.php, este fichero espera una ID enviada como POST y devuelve ‘<span> Datos de la ID </span>’
- contenedor.innerHTML = “<div id=\”conectando\”><img src=\”img/proceso.gif\” /></div>”;
Insertamos en el <div id=”datos”></div> una imagen para indicar que estamos esperando. Le estoy insertando directamente el HTML. - ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
contenedor.innerHTML = ajax.responseText;
}
}
XMLHttpRequest tiene un atributo interno que es readyState, segun el valor indica:0=no estoy conectado; 1=me estoy conectando; 2=le mando las cabeceras; 3=le mando los datos; 4=acabé aquí tienes la respuesta.Luego arriba estamos diciendo que cuando haya acabado inserte los datos en el <div>
- ajax.send(”ID=”+id);
En 3 decía que esperaba una variable ¿no? pues se manda aquí.
Lo que se os estará pasando por la cabeza es ¿y para esto tanta chorrada? pues, si la verdad es que si. Más que nada porque estos ejemplos están muy limitados. No comprueba que el fichero falle o los datos no sean los que deben. Esto se puede complicar mucho y para terminar de rematar la faena hay dos tonterías más.
Primero habéis visto que todo el tema de asíncrono me lo he comido con patatas. Esto se debe a que aunque en la mayoría de casos si que es asíncrono tu haces algo, el ajax llama a un servidor. Tu sigues a lo tuyo y cuando el servidor acaba la web lo presenta. Sin embargo hay muchos ejemplos por internet en los que deja de ser tan asíncrono. Le das a un botón para editar un post pero hasta que el ajax no acabe y te lo presente no puedes hacer nada. Eso es común hoy en día y eso para mi no es asíncrono.
Otra tontería es que para usar el concepto de AJAX no hace falta Javascript ni XML. Puedes usar cualquier cosa para enviar los datos. JSON como usa Google, uno propio, HTML, lo que quieras. Y aun así el concepto es el mismo y hoy en día se le llama AJAX a eso también.
Incluso en vez de Javascript puedes usar un Flash o Silverlight o JavaFX. Sin necesidad de Javascript para realizar la llamada al servidor ni presentar los datos.
Karaoke 1.3.6
by _TheAway on Jun.14, 2009, under Scripts
Un pequeño añadido al Karaoke que me han pedido por el IRC.
Al generar un karaoke estático permite además con un boton aparte hacerlo gradual. Esto quiere decir que activando Estatico y Gradual podeis hacer que las silabas de los karaokes varien su posición y tamaño gradualmente y toda la silaba entera. Hasta ahora lo hacia letra a letra.
De momento este cambio gradual es circular. O sea si pones que la silaba aumente hasta 120% lo que hará es: ir de 100% a 120% y volver a 100%. Más adelante haré distintos valores según me pongais en los comentarios.
Ya pondré en un futuro un ejemplo gráfico.
Asi que añadidos:
- En Script con tiempo estático puedes ponerlos de forma que el cambio sea gradual de forma circular, vuelve a como estaba al principio.
Arreglado
- Ya no pone Posisicion de la Silaba en el script xD
Necesita el plugin TextLayerBounds para funcionar correctamente.
Como en todos los Karaoke anteriores solo pido una cosa, si lo usais poner a _TheAway en los creditos.
Vídeo tutorial: Keying muy simple
by _TheAway on Jun.02, 2009, under Tutoriales
Dado que más de uno me ha preguntado al respecto he hecho este vídeo tutorial para que sepais como se usa en el After Effects. Es solo demostrativo pero para que os hagais una idea de por donde van los tiros.
El vídeo contiene:
- Uso de los modos de las capas para hacer máscaras.
- Corrección de color.
- Uso del plug-in Linear Color Keying.
- Fallos del AE en general
P.D. El vídeo está a 640×480 como siempre.
Vídeo tutorial: Cómo usar el Karaoke 1.3.5 y III
by _TheAway on May.12, 2009, under Tutoriales
De momento el último vídeo tutorial de la trilogía Karaoke
El tutorial trata:
- Reintrepretar videos insertados en AE.
- Uso y aplicación del TextLayerBounds para que un objeto siga al karaoke.
- Expresiones, concretamente movimientos levemente circulares.
- Insertar y usar un Control Point.
- Dislexia (aka SDD).
- Algo de unas partículas.
P.D. El vídeo está a 640×480, se ve mejor a pantalla completa.
Vídeo tutorial: Cómo usar el Karaoke 1.3.5 y II
by _TheAway on May.12, 2009, under Tutoriales
Este es un añadido al vídeo tutorial anterior que explica un poco mejor como afectan las opciones a las capas.
El tutorial trata:
- Buenas costumbres, organízate.
- Tiempos del karaoke, presílaba, sílaba, postsílaba.
- Pérdida de tiempo por errores del After Effects el Windows y el Camtasia.
- Creación de una composición con sólo la silaba cantada.
El video está en realidad a 640×480 si lo pones a pantalla completa se ve mejor.
Vídeo tutorial: Cómo usar el Karaoke 1.3.5
by _TheAway on May.12, 2009, under Tutoriales
Es un tuto muy simplón y que se ve bastante mal pero basta y sobra para lo que seria lo más basico.
El tutorial trata:
- Presentación del formato de karaoke.
- Breve comentario de como se instala.
- Ejecución del script.
- Presentación de las pantallas de configuración.
- Presentación de las opciones de los layers (capas) generados.
- Tu amigo el Master.
El video está en realidad a 640×480 si lo pones a pantalla completa se ve mejor.
P.D. perdonad la mala calidad de encodeo que se ven en ocasiones unos macrobloques que dan miedo xD