Tussam consulta tiempo paradas en HTML

Como todos sabéis Tussam (Empresa de transporte público de Sevilla) ofrece un servicio de consulta de tiempo de llegada a parada en su página web, hasta ahí todo muy bien… el problema es que ese servicio está implementado en Adobe Flash, y todos sabemos lo que eso significa, el servicio no funciona en la mayoría de dispositivos móviles (entre ellos iPhone).

Pues cansado de tener que recurrir al sms (servicio ofrecido también por tussam) o aguantarme :S, me puse a trabajar para conseguir una forma de extraer los datos de la aplicación de tussam…

La aplicación utiliza servicios SOAP asp para comunicarse con flash, así que me puse a trabajar en PHP (para llevar la contraria :P ) y¡TACHAAANN! este es el resultado de unas pocas de horas de trabajo:

http://tenshi.es/consultaTiempoParada.php

El servicio depende totalmente del ofrecido por Tussam, si este no está operativo tampoco funcionará la version HTML.

Funciona en cualquier navegador con javascript, lo que incluye a casi todos los dispositivos móviles del mercado.

Espero que os guste y sirva.

Share

Ubuntu source.list generator

Hola a todos/as.

Hoy os traigo una web que a muchos (linuxeros como yo) os va a molar.

Muchos recordareis el source-o-matic de ubuntu.nl (Ubuntu en holandes) una gran herramienta que nos permitía generar un source.list estupendo con los repositorios más solicitados y conocidos por la comunidad, fue un motivo de verdadera tristeza la discontinuidad de este proyecto allá por los tiempos de Ubuntu 8.04.

Desde entonces a sido complicado encontrar buenos sources.list y la mayoría de la veces he optado por rellenar yo a mano la lista de repos, hasta hace muy poco, que encontré esta página:

http://repogen.simplylinux.ch/

Un estupendo generador para la lista en la que podemos escoger y añadir muchos de esos repositorios “imprescindibles” que cuestan mucho tiempo reunir.

Es muy sencillo de utilizar:

Elegimos nuestro idioma y nuestra versión de Ubuntu (si no sabemos cual tenemos podemos saberlo en Sistema->Acerca de Ubuntu), tras esto se recarga la lista de repos disponibles (por Ajax) y seleccionamos cuales son los paquetes que nos interesan.

Lo mejor del sitio, además de el archivo sources.list ( que tendremos que copiar y pegar en nuestro /etc/apt/sources.list ), se nos genera el código de importación de las distintas claves de los repositorios ( código que tendremos que copiar y pegar en una consola para ejecutarlo).

En resumen http://repogen.simplylinux.ch/ es una herramienta imprescindible a usar tras la instalación de nuestro sistema y que nos facilita mucho la instalación de software que de otra forma llevaría algún tiempo ( Dropbox, Google Chrome… ).

Un saludo a tod@s

Share

Prototype paginator

Hoy quiero compartir con vosotros este paginador que creé hace tiempo basándome en Prototype.

Después de mucho buscar por internet no encontré ninguno que se ajustara a lo que yo necesitaba así que me puse manos a la obra y lo hice yo mismo.

El concepto:

La idea es paginar cualquier tipo de estructura que se repita.

Su uso:

var pager=new PageController(idcontenedor,selector elementos paginacion,idpaginador,numporpagina);

Todo se entiende mejor con un ejemplo:

imaginemos que tenemos una lista de imagenes con titulo y queremos paginarla a 5 por página:

<ul>
<li>imagen1 <img src="imagen.jpg"/></li>
<li>imagen2 <img src="imagen.jpg"/></li>
<li>imagen3 <img src="imagen.jpg"/></li>
<li>imagen4 <img src="imagen.jpg"/></li>
<li>imagen5 <img src="imagen.jpg"/></li>
<li>imagen6 <img src="imagen.jpg"/></li>
<li>imagen7 <img src="imagen.jpg"/></li>
<li>imagen8 <img src="imagen.jpg"/></li>
<li>imagen9 <img src="imagen.jpg"/></li>
</ul>

La estructura que se repite son <li> y se repiten dentro de una etiqueta ul, necesitamos poner un id a la etiqueta ul, tenemos que añadir al final algún elemento con id para usar de paginador, necesitamos las librerias de prototype (la vamos a cojer de google api) y la libreria del paginador, y por último llamar al paginador en el evento dom:loaded (para asegurarnos que no se llama hasta que todo el contenido esté cargado).

El código quedaría así:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Ejemplo 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js"></script>
<script language="javascript" type="text/javascript" src="paginador.js"></script>
<script>
document.observe("dom:loaded",function(e){
var pager=new PageController('#lista','li','paginador',5);
});
</script>
</head>
<body>
<ul id="lista">
<li>imagen1 <img src="imagen.jpg"/></li>
<li>imagen2 <img src="imagen.jpg"/></li>
<li>imagen3 <img src="imagen.jpg"/></li>
<li>imagen4 <img src="imagen.jpg"/></li>
<li>imagen5 <img src="imagen.jpg"/></li>
<li>imagen6 <img src="imagen.jpg"/></li>
<li>imagen7 <img src="imagen.jpg"/></li>
<li>imagen8 <img src="imagen.jpg"/></li>
<li>imagen9 <img src="imagen.jpg"/></li>
</ul>
<div id="paginador"></div>
</body>
</html>

Aquí podeis ver el resultado además de otros ejemplos.

La librería crea automáticamente dentro del elemento paginador tres elementos, uno para los enlaces siguiente y anterior y otro para la numeración de páginas, y les asigna las clases pag_ant,pag_sig y numeros_pag respectivamente (jugando con el css ya podemos hacer nosotros lo que queramos con el paginador)

Aquí podéis descargar el paginador y los ejemplos:

paginador prototype

Espero que os sirva, un saludo.

Share

Validación Javascript de SS (Seguridad social Española)

Hola a todos.

Hoy quiero compartir un código que me ha traído un poco de cabeza, la validación de los números de la seguridad social.

Bien la operación es bien sencilla (en teoría) aquí lo explican muy bien:

http://latecladeescape.com/w0/recetas-algoritmicas/validar-un-numero-de-la-seguridad-social-espana.html

Ahora llevemos eso a Javascript, apoyándome en prototype:

// La funcion tiene como parámetro el id de un campo input

function validar_ss(campo){
var valor =$F(campo);
//podemos encontrarnos números con 11 o 12 dígitos
if(valor.length!=12 && valor.length!=11){
return false
}
//sacamos las partes…
var a=parseInt(valor.substring(0,2));
var b=valor.substring(2,(valor.length-2));
var c=parseInt(valor.substring((valor.length-2),(valor.length)));
// si el numero b (la parte central) empieza por 0 hay que quitar primero los ceros
var cero=b.substring(0,1);
if(cero==’0′ ){
for(var i=0;i<b.length;i++){
if(b[0]==0){
b=b.substring(1, b.length);
}else{
break;
}
}
}
//unimos las partes en caso de que hubiese ceros
d=parseInt(a+”+b);
var valor=d%97;
if(c!=valor){
return false
}else{
return (true);
}
}

La funcion devuelve true o false (ya haceis vosotros lo que querais con el resultado.

Un saludo.

PD: se que hay seguro formas más directas si alguien las conoce no dude en aportar lo que sea.. :P

Share

Acción…

Hola a todos/as

Este es el primer post de lo que espero sea una larga e interesante lista de contenidos.

Todos pensareis… ¿Quien es este y por que tendría yo que leer lo que dice…? pues realmente no soy nadie y por supuesto no teneis que leer lo que diga. Solo soy uno más entre el montón que cree que tiene algo que decir, algo que aportar y algo que enseñar.

Puede sonar pretencioso, pero esa es mi intención compartir con todos vosotros mi punto de vista de las cosas, especialmente de aquellas en las que creo que puedo aportar más, programación, sistemas operativos, informática general….

Esta pretendo que sea la temática de este blog (aunque alguna vez se me escape algun post de otro tema…), ya que es de lo que realmente sé y de lo que es posible que tenga algo para aportar.

Un saludo.

Ángel.

Share
Volver a arriba

Tarea Actual

Planeando...
 

Tenshi's Blog is Stephen Fry proof thanks to caching by WP Super Cache