0

Internet Archive: Videos clásicos

Así como podemos usar la WaybackMachine para ver lo que era la web en tiempos tan remotos como hace tan solo un par de años y recorrer blogs pero en sus versiones de junio del 2007 o sitios famosos como YouTube en el 2005, esa no es la única de las posibilidades que tiene el sitio de Internet Archive. También posee un buscador de libros y documentos de textos, otro especializado en software legal con subsecciones como open-source o videogames y otro de audios que van desde audio-libros hasta viejas transmisiones radiales.

Y como si fuera poco, también hay una sección de imágenes, películas y videos, una librería con varios miles de clásicos subidos por los usuarios y muchos de ellos posibles de ser descargados por cualquiera: Animation & Cartoons, Arts & Music, Computers & Technology, Cultural & Academic Films, News & Public Affairs, Non-English Videos, Open Source Movies, Vlogs.

No es sencillo encontrar algo porque abruma la cantidad pero es un sitio a tener muy en cuenta.

0

Wallpapers (IPhone 2)

Click en la imagen para previsualizar un modelo reducido.
Descargar el archivo ZIP que contiene las imágenes

REFERENCIAS:extraverage.net

0

Menú Revolution Elements

Revolution elements es una plantilla de Wordpress diseñada por Jason Schuller y adaptada a Blogger por Joyful Thiek

Me gustó nada más verla, pero lo que más llamó mi atención fue el menú que sobre fondo oscuro resalta más la elegancia de la plantilla.

Conseguir ese menú no es complicado cuando con anterioridad alguien tuvo la genial idea de crearlo. En plantilla Edición de HTML justo antes de ]]></b:skin> añadimos los estilos.


/* Navigation Menu
------------------------------------------------*/
ul.nav {
list-style:none;
background:url(url-imagen-fondo-menu) top left no-repeat;
float:right;
color:#BDAFA8;
margin:20px 0px 0px 0px;
height:65px;
width:522px;
padding:8px 0px 0px 18px;
}
.nav li{
border-right:1px solid #333333;
float:right;
display:block;
width:100px;
}
.nav li a{
font-family: Helvetica, "Lucida Grande", "Lucida Sans Unicode",Verdana,Arial,Helvetica,sans-serif;
font-size:13px;
outline:none;
color: #eeeeee; /*#62C214;*/
text-decoration:none;
display:block;
padding:5px 0 12px 5px;
width:95px;
text-transform:uppercase;
}
.nav li a span{
font-size:12px;
color:#7f7f7f;
text-transform:lowercase;
}
.nav li a:hover{
background: url(url-imagen-transparencia);
color: white;
width:95px;
}
* html .nav li a:hover{
background:#e6e6e6;
width:99px;
}
.nav li.skip{
border-right: 0px;
margin-right: 23px;
display:block;
width:93px;
}
.nav li.skip a{
width:93px;
}
/*.nav li.skip a:hover, li.top a:hover {
color: #e6e6e6 !important;*/
}
.fix:after{
content:".";display:block;
height:0;
clear:both;
visibility:hidden;
}
.fix{
display:inline-block;
}
* html .fix{height:1%;}
.fix{display:block;}
ul.downnav {
list-style: none;
margin-bottom:20px;
}
li.down-top{float:right;display:block; width:100px;}
li.down-top a{width:100px;}


Guardamos los cambios y en un gadget de HTML que más tarde arrastraremos hasta el lugar indicado incluimos lo siguiente:

<div class="nav">
<ul class="nav fix">
<li class="skip"><a href="url del enlace" title="Descripción">LINK4
<span>Descripción </span></a></li>
<li><a href="url del enlace" title="Descripción">LINK3
<span>Descripción </span></a></li>
<li><a href="url del enlace" title="Descripción">LINK2
<span>Descripción </span></a></li>
<li><a href="url del enlace" title="Descripción">LINK1
<span>Descripción </span></a></li>
<li><a href="url del enlace" title="Descripción">Home
<span>Descripción </span></a></li>
</ul>
</div>

El resultado sería más o menos así:




El menu contiene dos imágenes, una de fondo que añadimos en los estilos de la plantilla donde dice url-imagen-fondo-menu



La otra imagen es una transparencia para el efecto hover y la añadimos donde dice url-imagen-transparencia.



Naturalmente para añadir las imágenes antes debemos alojarlas en un servidor para conseguir la url, yo siempre recomiendo alojar las imágenes en una entrada de Blogger que más tarde guardaremos en borrador.

Si el fondo de nuestro blog no es oscuro o simplemente deseamos una fuente en color distinto podemos modificar los estilos.

» El texto siempre viene definido en la hoja de estilos con "color" en este caso para el texto superior buscamos ul.nav y sustituimos color:#BDAFA8;

» Si se trata del texto inferior buscaremos nav li a span y modificamos color:#7f7f7f;

» Para el tamaño modificamos según el texto con font-size.

» Hay una barrita vertical apenas perceptible en el fondo oscuro que separa el texto de los enlaces, podemos cambiar su color en nav li donde dice border-right:1px solid #333333;

» Configuramos el menu en el gadget de HTML y añadimos la página a enlazar donde dice url del enlace

» En title donde Descripción es el sitio donde incluimos el texto que aparece al pasar el ratón.

» Sustituimos LINK1- LINK2- LINK3- LINK4- por el texto del enlace que vamos a mostrar.

» Igual haremos con Home podemos sustituirlo o dejarlo así y enlazar con la url de nuestro blog para actualizar la página.




0

¿Qué es un referrer?

Eso de los códigos misteriosos hizo que alguien preguntar ¿qué es document.referrer?

En JavaScript hay un "objeto" llamado document que es una referencia a la página que estamos viendo; con eso, podemos modificarla:
document.write("HOLA");
u obtener alguna información como por ejemplo:

document.bgColor es el color de fondo [click]
document.domain es el dominio del servidor [click]
document.location la URL [click]
document.title el titulo de la página [click]
document.referrer es la página de la que viene el usuario [click]

Así que, consultando el dato de document.referrer sabremos si se ha ingresado desde otro blog, desde algún enlace externo o si llegó desde un buscador en cuyo caso también nos dirá qué estaba buscando.

Es fácil comprobarlo, si agregáramos un elemento HTML a nuestro blog y allí pusiéramos esto:
<script type="text/JavaScript">document.write(document.referrer)</script>
estaríamos mostrándo a quien ingresa, desde donde viene o nada si es que es un ingreso directo.

¿Para que sirve saber eso? Muchos lo utilizan para mostrar determinado contenido en función del acceso; por ejemplo, es común que ciertos sitios coloquen publicidad cuando se ingresa a través de buscadores pero no lo hagan si se ingresa de otro modo, es una forma de privilegiar a los usuarios habituales. Del mismo modo hay decenas de ejemplos en la web que juegan con ese dato.

En netmechanic.com proponen algunos métodos sencillos, por ejemplo, un mensaje de bienvenida:
<script type="text/JavaScript">
if (document.referrer != '') {
alert('Gracias por visitarnos desde '+document.referrer);
}
</script>
Claro que esto así puesto daría como resultado cosas un poco extrañas :)

Otra forma de usarlo es para dirigir a los visitantes a otra página
<script type="text/JavaScript">
if (document.referrer = 'http://deDondeVienen") {
location.href = "http://aDondeRedirigimos";
}
</script>
No es muy agradable hacer eso, en todo caso, es mejor mostrar un pop-up:
<script type="text/JavaScript">
function newWindow(newContent) {
if (document.referrer = 'http://deDondeVienen") {
winContent = window.open(newContent, 'nextWin', 'right=0,top=20,width=350,height=350,toolbar=no,scrollbars=no,resizable=no')
}
}
newWindow('URL_contenido')"
</script>
En webtaller.com hay más opciones, una de ellas es más razonable ya que filtra los resultados:
<script type='text/JavaScript'>
//<![CDATA[
// creamos una lista de direcciones web que nos interese detectar, cualquiera sea
var procedenciaValida = new Array(
'http://www.google',
'http://bing.com',
'http://twitter.com'
);
// creamos una lista de mensajes para cada una de esas direcciones
var mensajeValido = new Array(
'Llegó utilizando el buscador de Google',
'Llegó utilizando el nuevo buscador de Microsoft',
'Hizo click en un enlace de Twitter'
);
// verificamos si el visitante llega desde alguna de ellas
var ok = false;
var elMensaje = 0;
for(i in procedenciaValida) {
if(document.referrer.indexOf(procedenciaValida[i]) > -1) {
ok = true; // si es así será true
cual = i;
}
}
// y si es así, hacemos algo
if(ok) {
document.write(mensajeValido[cual]);
}
//]]>
</script>
Ese "algo" a hacer puede ser cualquier cosa, un texto, una imagen, una ventana, un elemento oculto, sólo hay que usar la imaginación.

0

Un buscador completo


Google sabe todo, hasta donde dejamos esas cosa que siempre se pierden ...

0

Personalizar la Barra de Videos de Google

Entre los gadgets que se incluyen en Blogger hay uno llamado Barra de Videos. Es sencillo de usar, hacemos click y nos muestra una serie de opciones; podemos ponerle un título, seleccionar si queremos mostrar los videos más vistos de YouTube o los más valorados o los más recientes. También podemos elegir mostrar canales de usuarios o videos relacionados con ciertas palabras clave.


El resultado, será una barra vertical, nada configurable ya que el códiog que veremos en la plantilla poco dice.


Pero ese no es el único modo. El mismo gadget está disponible en Google AJAX Search API y allí, las alternativas son otras e incluso, con paciencia podríamos configurlarla modificando determinadas cosas.

La primera gran diferencia es que podemos elegir otro modelo y en lugar de ser vertical, ubicarla de manera horizontal. En el wizard, vamos seleccionando opciones y previsualizando el resultado. Por ejemplo, si sólo queremos mostrar nuestro canal, bastará escribir el nombre y desmarcar todo lo demás. Si quisiéramos mostrar varios canales de usuarios, deberíamos ponerlos separados por comas. Una vez que lo tenemos configurado, le pedimos que nos muestre el código a insertar.

<!-- ++Begin Video Bar Wizard Generated Code++ -->
<!--
// Created with a Google AJAX Search Wizard
// http://code.google.com/apis/ajaxsearch/wizards.html
-->

<!--
// The Following div element will end up holding the actual videobar.
// You can place this anywhere on your page.
-->
<div id="videoBar-bar">
<span style="color:#676767;font-size:11px;margin:10px;padding:4px;">Loading...</span>
</div>

<!-- Ajax Search Api and Stylesheet
// Note: If you are already using the AJAX Search API, then do not include it
// or its stylesheet again
-->
<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&source=uds-vbw"
type="text/javascript"></script>
<style type="text/css">
@import url("http://www.google.com/uds/css/gsearch.css");
</style>

<!-- Video Bar Code and Stylesheet -->
<script type="text/javascript">
window._uds_vbw_donotrepair = true;
</script>
<script src="http://www.google.com/uds/solutions/videobar/gsvideobar.js?mode=new"
type="text/javascript"></script>
<style type="text/css">
@import url("http://www.google.com/uds/solutions/videobar/gsvideobar.css");
</style>

<style type="text/css">
.playerInnerBox_gsvb .player_gsvb {
width : 320px;
height : 260px;
}
</style>
<script type="text/javascript">
function LoadVideoBar() {

var videoBar;
var options = {
largeResultSet : !true,
horizontal : true,
autoExecuteList : {
cycleTime : GSvideoBar.CYCLE_TIME_MEDIUM,
cycleMode : GSvideoBar.CYCLE_MODE_LINEAR,
executeList : ["ytchannel:nombre"]
}
}

videoBar = new GSvideoBar(document.getElementById("videoBar-bar"),
GSvideoBar.PLAYER_ROOT_FLOATING,
options);
}
// arrange for this function to be called during body.onload
// event processing
GSearch.setOnLoadCallback(LoadVideoBar);
</script>
<!-- ++End Video Bar Wizard Generated Code++ -->

Así como está, la podríamos agregar en un elemento HTML y listo pero vamos a ver si podemos modificarle un poco; para eso, hay una página de ayuda del mismo Google donde se enumeran algunas alternativas.

Esta es la idea:
<!-- aquí colocaremos los estilos CSS personales -->
<style type='text/css'
/* ... ver detalles ... */
</style>

<!-- este es el contenedor donde se mostrará la barra -->
<div id="videoBar-bar"> <span>Cargando ...</span> </div>

<!-- aquí se carga el API de búsqueda de Google, si ya lo estamos usando no es necesario incluirlo otra vez -->
<!-- el CSS de ese API no es necesario en absoluto así que no lo incluyo -->
<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&source=uds-vbw" type="text/javascript"></script>

<!-- aquí se cargan los scripts del API -->
<script type="text/javascript"> window._uds_vbw_donotrepair = true; </script>
<script src="http://www.google.com/uds/solutions/videobar/gsvideobar.js?mode=new" type="text/javascript"></script>
<!-- aquí se cargaría el estilo gsvideobar.css pero prefiero agregarlo por separado así que lo ignoro -->

<!-- la función que ejecuta el script -->
<script type="text/javascript">
function LoadVideoBar() {
var videoBar;
var options = {
largeResultSet : !true, horizontal : true, autoExecuteList : {
cycleTime : GSvideoBar.CYCLE_TIME_MEDIUM,
cycleMode : GSvideoBar.CYCLE_MODE_LINEAR,
executeList : ["ytchannel:NOMBRE"] }
}
videoBar = new GSvideoBar(document.getElementById("videoBar-bar"), GSvideoBar.PLAYER_ROOT_FLOATING, options);
}
// esta función se cargará al terminar la carga del blog
GSearch.setOnLoadCallback(LoadVideoBar);
</script>
videoBar-bar es un DIV donde se mostrará la barra una vez cargada y puede tener cualquier otro nombre.

Para indicar qué cosas queremos mostrar usamos la línea que dice executeList : [], allí, podemos colocar un canal:
executeList : ["ytchannel:NOMBRE"]
o varios canales:
executeList : ["ytchannel:unNOMBRE","ytchannel:otroNOMBRE"]
o usar palabras claves:
"ytfeed:most_viewed.this_week" es la opción Most Viewed Videos
"ytfeed:top_rated.this_week" es la opción Top Rated Videos
"ytfeed:google_news" es la opción Top News Videos
"ytfeed:recently_featured" es la opción Recently Featured Videos
y todos son combinables, así que podemos usar varios, sólo hay que separarlos con comas.

Lo mismo hacemos si queremos agregar expresiones de búsqueda, basta colocarlas entre comillas:
executeList : ["ytchannel:NOMBRE",,"beatles"]

Como dije, el CSS por defecto se carga si incluimos gsvideobar.css pero, prefiero no hacerlo y agregarlo a mano para personalizarlo:
/* el rectángulo donde mostraremos la barra de videos */
#videoBar-bar {margin: 0 auto; width: 425px;}
#videoBar-bar span {color: #BB0000; font-size: 11px;}

/* los colores de los enlaces y los textos */
.playerBox_gsvb div.alldone_gsvb, .playerBox_gsvb a.title_gsvb {color:#DEF;}
.playerBox_gsvb div.alldone_gsvb:hover, .playerBox_gsvb a.title_gsvb:hover {color:#FFF;}

/* cada una de las miniaturas */
.resultsBox_gsvb div.resultDiv_gsvb {border-color: #789; margin-left: 2px;}

/* la ventana modal donde se muestran los videos */
.floatingPlayerBox_gsvb, .floatingPlayerBox_gsvb * {background-color: #345;}
.floatingPlayerBox_gsvb {border: 1px solid #567; -moz-border-radius: 10px;}
.floatingPlayer_gsvb {background-color: #123; -moz-border-radius: 5px;}
.floatingPlayerBox_gsvb {opacity: 0.8; position: absolute; z-index: 9998;}
.floatingPlayer_gsvb {position: absolute; z-index: 9999;}
.floatingBranding_gsvb {position: absolute;}

/* contrl de esa ventana con el reproductor */
.playerBox_gsvb {display:block; margin: 5px 10px 5px 10px; text-align: center;}
.idle_gsvb {display: none;}
.playing_gsvb {display: block;}

/* es el reproductor en si mismo */
/* small: 180x135, medium: 260x195, large player: 320x260, extra large: 480x380 */
.playerInnerBox_gsvb .player_gsvb {height: 260px; width: 320px;}
.playerInnerBox_gsvb div.player_gsvb {margin: auto;}
.floatingPlayer_gsvb .playerInnerBox_gsvb div.player_gsvb {margin: 0;}
.playerBox_gsvb div.alldone_gsvb {cursor: pointer; display: inline; font-size: 11px;}
.playerBox_gsvb div.title_gsvb {font-size: 11px; margin-top: 2px; text-align: center;}

/* la tabla donde se muestran las cuatro miniaturas */
.full_gsvb {display: block;}
.empty_gsvb {display: none;}
table.resultTable_gsvb {border-collapse: collapse;}
table.resultTable_gsvb td {border: none;}
div.resultDiv_gsvb {background-color: #000; border: 1px solid; height: 79px; text-align: center; width: 104px;}
div.smallResultDiv_gsvb {height: 41px; text-align: center; width: 54px;}
div.resultDiv_gsvb img {cursor: pointer; display: inline;}

/* Auto Execute List Status Box (no sé qué es) */
div.statusBox_gsvb {padding: 4px;}
div.statusItem_gsvb {color: #DEF; cursor: pointer; display: inline; font-weight: bold; margin-right: 6px; white-space: nowrap;}
div.statusItemSelected_gsvb {color: #000; text-decoration: none;}

/* y le quitamos el logo :$ */
.gsc-branding{display: none;}
Y este sería el resultado del experimento:


Cargando ...

0

Imagen multiusos

Las imágenes flotantes se pusieron de moda hace tiempo, al principio fue algo decorativo o sin utilidad alguna que viene a ser lo mismo, más tarde llegaron las imágenes aleatorias la utilidad era la misma pero resultaba más vistoso.
Nos quisimos complicar un poco y nos decantamos por imágenes flotantes que desde el final del blog nos llevaban a inicio, más tarde ese viajecito de ir a inicio lo hicimos con efecto deslizante.
Por si eso fuera poco también añadimos el efecto para que desde inicio nos llevara al final.

Muy divertido, pero no se piensen que con eso termina el juego.
Me pregunta Shadow Sneak la forma de añadir imágenes flotantes-aleatorias-que nos lleven a inicio-con efecto deslizante ¿no es lo más cercano a una imagen multiusos?

Basándonos en las explicaciones de entradas anteriores veamos como conseguir ese efecto.

Lo principal es tener en nuestra plantilla el script de Prototype y Scriptaculous que podemos añadir justo antes de </head> si ya lo añadimos con anterioridad para otro efecto no es necesario añadirlo de nuevo.

<script src='http://www.google.com/jsapi'/>
<script>
google.load("prototype","1.6.0.3");
google.load("scriptaculous", "1.8.2");
</script>

Una vez tenemos el script para el efecto deslizante nos dirigimos justo antes de </body> allí vamos a crear un div donde incluiremos el código que nos va a llevar a inicio, ese código es un enlace y sería algo así:

<div id='flotante'>

<a href='#outer-wrapper' onclick='new Effect.ScrollTo("outer-wrapper",{offset:-140}); return false'>texto o imagen</a>

</div>

lo que haremos será prescindir de la parte donde añadíamos el texto o imagen, del cierre del enlace y del div.

Añadimos a continuación el script de imágenes aleatorias y este sería el código completo.

<a href='#outer-wrapper' onclick='new Effect.ScrollTo("outer-wrapper",{offset:-140}); return false'>

<script type='text/javascript'>
// <![CDATA[
imagenes = new Array(4)

imagenes[0] = "<img border='0' src='url-de-la-imagen' style='position:fixed; bottom:0; right:0;'/>"
imagenes[1] = "<img border='0' src='url-de-la-imagen' style='position:fixed; bottom:0; right:0;'/>"
imagenes[2] = "<img border='0' src='url-de-la-imagen' style='position:fixed; bottom:0; right:0;'/>"
imagenes[3] = "<img border='0' src='url-de-la-imagen' style='position:fixed; bottom:0; right:0;'/>"

aleatorio = Math.random() * (imagenes.length)
aleatorio = Math.floor(aleatorio)
document.write(imagenes[aleatorio])
// ]]>
</script>

</a>
</div>

Al final hemos cerrado el enlace que dejamos abierto </a> y también añadimos el cierre del </div>

» Donde url-de-la-imagen añadimos la url de las imágenes.

» Si deseamos añadir más imágenes aumentamos el número de líneas con:
imagenes[4] = "<img border='0' src='url-de-la-imagen' style='position:fixed; bottom:0; right:0;'/>"

» Cada imagen va numerada en imagenes[X] modificaremos donde dice
imagenes = new Array(4) y sustituimos 4 por el número de nuestras imágenes contabilizando la primera imagen imagenes[0] como una imagen.

» Si deseamos que al pasar el ratón nos muestre el título añadiremos title de la siguiente forma

imagenes[1] = "<img border='0' src='url-de-la-imagen' style='position:fixed; bottom:0; right:0;'title='aquí-tu-texto'/>"





Las imágenes son creaciones de « Shadow Sneak »