Proyecto eTraffic Mobile
Parido por tupolev y archivado en Desarrollo aplicaciones, Desarrollo web, Enlaces, General, Internet, Software, TecnologíaNecesidad
Conocer en cualquier momento, las incidencias de tráfico oficiales de la vía por la que transitamos.
Objetivo
Tener un listado actualizado de los puntos problemáticos de la zona especificada, por provincia y vía. De modo que, en un trayecto normal Málaga-Madrid, por ejemplo, podamos ver rápidamente y en cualquier móvil con conexión a internet gprs, las incidencias actualizadas para las carreteras que usaremos, A45, A92M, A92, A44, A4, R4, M50…
Premisas
Tráfico provee un buscador de incidencias actualizado por sus sistemas telemáticos y por la Guardia Civil. Este buscador, devuelve una lista ordenable de incidencias tabular en HTML, incluyendo tipo de incidencia, provincia, población y PK aproximados, vía y sentido de la circulación.
La búsqueda se realiza, según tipo de incidencia, vía, provincia, población y PK.
Cualquier móvil con conexión a internet gprs, puede acceder desde cualquier punto con cobertura a esta información, mediante un navegador web adaptado, ya que la interfaz del buscador es XHTML estándar. Como añadido, es posible parsear esos resultados para crear un canal RSS, por ejemplo. De hecho la propia DGT ofrece RSS, pero sus posibilidades son deficientes y requiere complementarlo.
Asimismo, un móvil actual tiene la potencia de proceso necesario, para cargar imágenes y dibujar entidades simples sobre ella, usando la implementación de J2ME, por ejemplo. Aunque si esto no fuese posible, se puede dejar ese trabajo al servidor web, devolviendo la imagen preparada, lo cual no es recomendable, porque aumenta el coste económico al cliente, por la conexión y al responsable de la aplicación web, pues esa descarga se le facturará si supera el ancho de banda máximo contratado, cosa bastante habitual.
Ideas primarias
En principio, obtendremos la información en una lista tabular ordenada por sentido del trayecto (Ascendiente de la kilométrica o descendiente de la kilométrica). Aunque la idea es plasmar esa lista en una imagen de mapa, previamente parametrizada, para que los puntos correspondan con su localización aproximada en la carretera.
Otra opción será parametrizar por provincia y carretera y poder agrupar distintas vías, por trayecto.
La unidad mínima de detalle será población junto con PK, aprovechando que Tráfico también lo usa como medida de aproximación humana.
La unidad mínima de búsqueda, será la vía-provincia. Por ejemplo, A4-Jaén.
Se agruparán en ficheros que contendrán una vía cada uno, por escalabilidad. Cada fichero contendrá las provincias y las poblaciones, jerarquizadas y con los PK aproximados, correspondientes a la salida que da a cada población.
De este modo, el fichero correspondiente a la A44, contendrá las provincias de Granada y Jaén y las poblaciones que la vía atraviesa, agrupadas por su provincia.
Se usará XML para la estructura de los ficheros y se acompañará de imágenes del recorrido de la vía, que se cargarán por sectores -provincia o rango kilométrico-.
En principio será el servidor web quien aloje la aplicación de búsqueda y quien parsee los datos de la DGT, generando y devolviendo la imagen al navegador web cliente, por ser la más sencilla de las posibles implementaciones y válida para la prueba de concepto. Pero dado que el RSS será abierto, igualmente queda abierta la posibilidad de crear un cliente “pesado” para que sea el dispositivo móvil quien cargue una imagen “limpia” y dibuje las incidencias en ella, reduciendo el coste económico para ambas partes.
¿Qué os parece la idea?
Me gustaría contar con vuestras sugerencias en todos los aspectos de la aplicación y por supuesto, si alguien se adelanta y lo hace y libera el código y lo publica…no me voy a enfadar, eh? xDD
Doodle.ch: La herramienta definitiva para planificar eventos y quedadas
Parido por tupolev y archivado en Desarrollo web, General, Internet, Reflexiones, Software, TecnologíaParecía que no iba a llegar nunca, pero por fin es viernes. Llega el fin de semana y, con él, las escapadas, las quedadas, los birrings, las reuniones familiares y las citas de todo tipo.
Cuando uno suele participar en foros, una de las carencias a nivel técnico de todos los foros en general, es una herramienta para planificar las propuestas de eventos, uno de los alicientes de este tipo de comunidades.
Por ejemplo: queremos quedar en el mes de Junio, pero no sabemos cuándo, pues cada cual tiene sus compromisos. ¿Cómo decidimos la fecha? ¿Cada cual pone la suya y revisamos post por post, haciendo la media? Bajón.
Hace poco, precisamente para planificar una quedada de compañeros y ex compañeros de trabajo, me hablaron de la web que quiero enseñaros: http://www.doodle.ch
Merece la pena probarla. Es sencilla y rápida de usar, tanto para el que crea la propuesta, como para los usuarios que la rellenan.
Eliges las fechas posibles para tu evento y el sistema te genera un enlace que compartirás con los que quieres que asistan. Al entrar, ellos rellenarán las fechas (y horas) en las que pueden o desean asistir.
Al fondo del cuadro, queda el total de votaciones para cada franja, con lo que es sencillo hacer el recuento. La idea es especificar una fecha y hora límite para votar, en la descripción y en la propia propuesta de quedada en el foro, si la quedada es abierta a todo quisqui, como suele ser, o esperar a que todos los invitados voten, si es cerrada.
Podéis ver un ejemplo al uso, aquí:
http://www.doodle.ch/participation.html?pollId=ayucb2tmu9579cyt
¿Qué os parece? No llevo comisión, ni es mía la web, ni nada por el estilo. Pero me parece una buena idea para planificar los birrings(ver canonistas.com) este veranito, jeje.
Hale, ahora a currar un poco.
PD: Gracias Gemita, por enseñármela. La web, digo…xD
Campus Fórmate 2008
Parido por tupolev y archivado en Desarrollo aplicaciones, Desarrollo web, Enlaces, General, Internet, Otros / Rayadas, Software, TecnologíaComo el año pasado por estas fechas, vuelve a anunciarse por la oficina el Campus Fórmate. En esta ocasión, en su segunda edición, se celebrará en Zamora, del 20 de julio al 15 de agosto.
Alojamiento incluido, tutores en el aula, actividades de ocio…
Recuerdo a los de mi quinta, que también los que hicimos FP, tenemos cabida en el Campus.
Como el año pasado escribía:
Se impartirán en la ciudad de Zamora, una serie de cursos y actividades, relacionados con el mundo de la consultoría IT.Entre ellos, se incluyen cursos introductorios de J2EE y .NET, metodologías de desarrollo y análisis y charlas y actividades sobre cómo funciona una consultora de tamaño medio.
Lo mejor -vamos, no es el verano de tu vida, pero es una buena intro de lo que hay fuera de la universidad- es que no tiene coste alguno y el alojamiento es en régimen de pensión completa en hotel.
El evento incluye bolsa de trabajo, con un compromiso de contratación del 60% del alumnado, mínimo, en el plazo de unos meses, para cualquiera de las sedes que la empresa tiene en España.
Con eso y lo que adorna el C.V. una cosa de estas, no te lo vas a pasar bomba, pero es muy interesante
Si eres estudiante de ingenierías, matemáticas, etc…tanto diplomaturas como licenciaturas y en último año, echa un ojo a su web, porque te interesa.
El plan de estudios lo puedes ver aquí (PDF) y toda la información, en su sitio web http://www.campusformate.es
Venga, a apuntarse todo quisqui, que luego me regalan playstations y cosas a mí xDDD
Pulse F5 para cargar otro captcha
Parido por tupolev y archivado en Desarrollo aplicaciones, Desarrollo web, Enlaces, Fotoblog, General, Internet, Software, TecnologíaSeguridad vs. Usabilidad
Parido por tupolev y archivado en Desarrollo aplicaciones, Desarrollo web, Enlaces, Fotoblog, General, Otros / Rayadas
(Extraído de http://www.fotolog.com/cartelescuriosos)
Imprimiendo informes web apaisados
Parido por tupolev y archivado en Desarrollo web, General, Internet, Software, TecnologíaScriptX, es un componente activeX con licencia comercial, pero con permiso para uso gratuito de las funciones básicas, para impresión personalizada de documentos web. La página web es esta.
En esencia, el plugin accede a las propiedades de la impresora desde el navegador (Internet Explorer solo), permitiendo configurar los parámetros de impresión del documento mostrado en pantalla, mediante sentencias de Javascript.
A nivel de código, se requieren dos fragmentos:
El primero, es un tag OBJECT, que crea en el html el objeto.
El segundo, es un tag SCRIPT, que inicializa el objeto con las propiedades que le queramos cambiar a la impresión. Márgenes, texto de cabecera y pie, orientación del papel, etc. En la versión básica solo se permiten unos 4 parámetros, pero sirve por ejemplo, para cambiar la orientación del papel, si imprimimos un informe en apaisado.
A nivel de implantación, existen dos formas de instalar el componente.
Una es colocar el fichero .cab que incluye el paquete, en una ruta accesible del proyecto, que se configurará en los atributos del tag OBJECT que comentaba antes.
Esto supone que, la primera vez que se abra esa página y si el navegador no tiene aún el activeX instalado, mostrará la banda superior amarilla de problema de seguridad “se pide confirmación para instalar blablabla”. Acción que habrá que confirmar y permitir su instalación, que no se repetirá ni volverá a pedir a partir de entonces.
La otra opción es preinstalar el componente en cada equipo, antes de implantarlo en su destino o allí mismo, usando el .exe que también incluye el paquete, precisamente para esto.
Así que la cuestión es, trabajo al usuario o trabajo al técnico. No hay más. Es la solución más factible al eterno problema de la impresión horizontal con Internet Explorer y su peculiar soporte de CSS.
Campus Fórmate 2007
Parido por tupolev y archivado en Desarrollo aplicaciones, Desarrollo web, Enlaces, General, Software, TecnologíaEstos días me han llenado la oficina de pósters amarillos, anunciando el Campus Fórmate.
Del 23 de Julio al 17 de Agosto, impartirán en la ciudad de Ãvila una serie de cursos y actividades, relacionados con el mundo de la consultoría IT. Entre ellos, se incluyen cursos introductorios de J2EE y .NET, metodologías de desarrollo y análisis y charlas y actividades sobre cómo funciona una consultora de tamaño medio.
Lo mejor -vamos, no es el verano de tu vida, pero es una buena intro de lo que hay fuera de la universidad- es que no tiene coste alguno y el alojamiento es en régimen de pensión completa en hotel.
El evento incluye bolsa de trabajo, con un compromiso de contratación del 60% del alumnado, mínimo, en el plazo de unos meses, para cualquiera de las sedes que la empresa tiene en España.
Con eso y lo que adorna el C.V. una cosa de estas, no te lo vas a pasar bomba, pero es muy interesante
Si eres estudiante de ingenierías, matemáticas, etc…tanto diplomaturas como licenciaturas y en último año, echa un ojo a su web, porque te interesa.
Seguridad activa en aplicaciones PHP
Parido por tupolev y archivado en Desarrollo aplicaciones, Desarrollo web, General, Internet, Software, TecnologíaUn buen artículo sobre seguridad activa en aplicaciones sobre PHP, escrito por Manuel Lemos para phpclasses.org. Está en inglés, pero el sumario en castellano sería algo así:
Premisa: Si algo puede ir mal, va a ir mal.
1. Controla las condiciones inesperadas
2. Procesa adecuadamente los datos externos del sistema
3. Pon aprueba tu código
4. Monitoriza los errores de tu aplicación en tu sitio y actúa sobre ellos
5. No muestres los errores al usuario
6. Controla los daños posibles
7. (Nunca suficientemente repetida) HAZ COPIAS DE SEGURIDAD
8. Ten siempre en mente que nunca conseguirás la seguridad total. Actúa en consecuencia.
Grandes verdades de la vida
Parido por tupolev y archivado en Desarrollo aplicaciones, Desarrollo web, General, Reflexiones, TecnologíaJuanma Dice:
Caminar sobre el agua y desarrollar software a partir de unas especificaciones es fácil… si ambas están congeladas.
Ya tengo frase para mi epitafio xD
Cómo paginar los resultados de una consulta
Parido por tupolev y archivado en Desarrollo web, General, Internet, TecnologíaEste texto es más teórico que otra cosa, precisamente para mostrar unas pautas básicas sobre algo que muchas veces necesitamos y que puede resultar engorroso: La paginación o división en páginas de los resultados de una consulta a un origen de datos.
Trabajando con plataformas complejas, como J2EE o ASP.NET, o haciendo uso de frameworks con PHP, es probable que nos encontremos con clases que nos faciliten esta tarea, hasta el extremo de convertir nuestro objetivo en un simple “arrastra y suelta”, pero mi objetivo es mostrar precísamente lo que hay bajo ese tipo de componentes.
Para empezar, partimos de un listado de, por ejemplo, nombres (campo nombre) y teléfonos (campo tlf), en una tabla llamada agenda. La tabla contiene un total de 434 registros y queremos mostrarlos en las páginas necesarias para que queden 100 por página -una burrada, pero por decir xD -.
Esto lo haremos en dos partes. Primero, la consulta SQL en sí, de la que nos interesa una cláusula en concreto: LIMIT. LIMIT acota los resultados devueltos, según los argumentos que le siguen, el punto de inicio y la cantidad de registros a devolver.
SELECT id,nombre,tlf FROM agenda LIMIT 0,100
Esta sería la consulta que pasaríamos a la base de datos. 0 indica el punto de inicio de los resultados, en este caso, el primero. 100 es el número de registros máximos, a partir del indicado en el número anterior. La base de nuestro sistema de paginación es ese rango de registros. La primera página mostrará del 1 al 100; la segunda, del 101 al 201…
Para ello sustituiremos los dos argumentos por variables, que transmitiremos vía querystring.
Al inicio del proceso, recogeremos las dos variables de gestión, a las que llamaremos paginaActual y porPagina. Con ellas, calcularemos la página siguiente y la anterior, controlando que si estamos en la primera página, la anterior no esté disponible o sea la primera de nuevo. Asimismo con la última.
paginaSiguiente=paginaActual+porPagina
paginaAnterior=paginaActual-porPagina
SI paginaAnterior < 0 ENTONCES paginaAnterior=0
Recogidas las variables, las pasamos a la consulta, con el método que tengamos.
matrizResultados = ejecutarQuery(SELECT id,nombre,tlf FROM agenda LIMIT paginaActual,porPagina)
Desplegamos la tabla de resultados obtenidos.
pintarTabla(matrizResultados)
Y en la última fila, mostramos los enlaces para avanzar y retroceder. Para ello, anexaremos las variables de paginación, a la url actual completa, controlando que, si ya existen estas variables, se sustituya correctamente su valor.
pintarEnlaceAnterior($urlBase+sustituirVariables(paginaAnterior,porPagina)) | pintarEnlaceSiguiente($urlBase+sustituirVariables(paginaSiguiente,porPagina))
pintarEnlaceAnterior y pintarEnlaceSiguiente, devuelven un enlace en HTML, formado por:
-El nombre del módulo actual (listado.php o lo que sea).
-El conjunto de variables y valores que se han pasado en la actual llamada al módulo actual.Es decir, el Querystring actual.
-Las dos variables de paginación, junto con sus valores correspondientes, para la página a la que envían, siguiente o anterior.
El querystring actual será necesario analizarlo antes de devolverlo, pues se dará el caso de que ya existan nuestras dos variables de paginación y tengamos que sustituirlas por las que acabamos de generar. Para eso está la subrutina sustituirVariables(), cuyo código es fácil imaginar.
El resultado en pantalla sería:
Pinchando en los enlaces, se recargaría la propia página, con los nuevos valores de paginación y, por tanto, el nuevo segmento de resultados de la consulta.
Con esto, tenemos montado nuestro sistema de paginación simple. No muestra el número de páginas resultantes, ni acceso directo a las mismas. Eso lo explicaré en otra ocasión…cuando consiga implementarlo xD
























