Categoría Conocimientos
119
GONZO
02-09-2005
eventuis es mi primera web que hace un uso extenso de la geolocalización. Cada evento puede ser geolocalizado y esto permite a cualquier usuario buscar los eventos más cercanos.
Empecé desde cero a aprender todo lo que pude acerca de la geolocalización. Desde formulas con arcocosenos hasta el radio de la tierra al nivel del mar de media (6.372,797 kilómetros).
Una de las preguntas más interesantes que me surgió fue ¿cuanta precisión necesito? Hice una serie de cálculos sencillos que no encontré por ningún lado y por eso me decidí a hacer esta anotación.
Para averiguarlo hice una tabla indicando la precisión dada por determinado numero de decimales de grado.
Grados
| Precisión |
| 0,1 |
1 |
11 kilómetros
|
| 0,01 |
2 |
1.112 metros |
| 0,001 |
3 |
111 metros |
| 0,0001 |
4 |
11,12 metros |
| 0,00001 |
5 |
1,11 metros |
| 0,000001 |
6 |
11,2 centímetros
|
De forma que, por ejemplo, la distancia entre latitud 1º y latitud 1,0001º es de poco más de 11 metros (misma longitud y a al nivel del mar).
¿Que conclusiones extraigo de los resultados?
Pues resulta que la mayoría de webs se exceden en la precisión para geolocalizar sus items.
Por ejemplo en la Wikipedia la precisión habitual es de 6 decimales de grado. Madrid está geolocalizada con una precisión ±11 centímetros. En mi opinión para geolocalizar ciudades es suficiente con indicar latitud 40,416ºN, longitud 3,700ºW.
Volviendo a mi caso particular. Los eventos de eventuis son por ejemplo partidos de fútbol, congresos, conciertos... para geolocalizar estos eventos he decidido usar 4 decimales, es decir 11 metros arriba o abajo, lo que mide una rotonda de diámetro.
Mi consejo/conclusión:
Cuatro decimales de grado son suficientes para la gran mayoría de aplicaciones web.
Puede que algún proyecto requiera 5 decimales de grado, no es descabellado, pero más allá es rotundamente inútil. A no ser que sea un sistema de guiado de misiles y puede que incluso en este caso sea innocua una precisión ±11 centímetros.
Y la pregunta que algunos me han hecho. ¿Porqué escatimar en decimales?
Con eventuis he pensado a lo grande (por escalabilidad que no sea) del orden de millones de eventos geolocalizados. Además se requiere algunos cálculos que consume muchos recursos como la obtención de los eventos más cercanos a una posición dada. En definitiva, cuanto menos RAM y cálculos consuma mejor. Puede que estemos hablando de muy pocos recursos ahora, pero pensando a lo grande creo que es buena idea empezar ahorrando.
Postdata: un GPS de coche normal ofrece una precisión de 15 metros. El sistema GPS de uso civil más avanzado llega hasta 1 o 2 metros en las mejores condiciones usando 12 satélites (12 canales).
5
GONZO
04-04-2011
1. ¿Qué es la Enseñanza 2.0?
Imagine un cambio en sistema Educativo Español de dimensiones revolucionarias.
Niños rechistando al sonar la sirena para el recreo. Escolares sonrientes entrando al aula por la mañana. Alumnos y profesores entusiasmados por aprender, convirtiendo los estudios en un reto, en lugar de un manifiesto aburrimiento.
Esto es la Enseñanza 2.0 o Educación 2.0: consiste en el empleo de un sistema informático como herramienta y plataforma para la enseñanza. Un ordenador portátil por cada alumno. Especialmente para la ESO.
Pondré un ejemplo. Imagine una clase de matemáticas, una hora de un Lunes, 28 alumnos. Lección: la regla de tres.
- El profesor llega al aula. Sus alumnos le saludan desde el pupitre, con sus ordenadores portátiles apagados en modo espera.
- El profesor se acomoda con su portátil. Pulsa un botón y lanza ordenes de "puesta en marcha y apertura de contenido", gracias a su acceso de docente. Sin perder más que unos segundos empieza la clase.
- Los alumnos atienden la explicación en la pizarra tradicional, apoyados por eventual contenido multimedia presentado individualmente en sus portátiles. El contenido sería similar a este de la Wikipedia, pero adaptado al curso.
- Concluye la lección y comienza un cambio de ritmo. El profesor elige la orden "lanzar examen (tipo test)", elige uno pre-definido y lo lanza. Sus alumnos reciben el examen en sus ordenadores y se lanzan a por el. Quedarán inmersos en el reto de demostrar al profesor que han atendido y a ellos mismos que han aprendido. Casi todos terminan minutos antes de lo previsto.
- Concluido el tiempo, el profesor recibe al instante los resultados de los exámenes tipo test de forma individual, alumno por alumno. Presentado en una tabla vertical (nombre, tiempo, puntuación) el profesor puede ver marcado en rojo a seis alumnos con baja puntuación.
- El profesor lanza una serie de ejercicios al resto de la clase. Ejercicios sobre la regla de tres generados automáticamente o con plantillas previas. Igual que el examen se presentan individualmente en cada Portátil Escolar, de forma aleatoria y estos se ponen a resolverlos.
- Mientras tanto el profesor se acerca a los seis alumnos y les explica de nuevo la lección, con más cercanía y más tiempo por alumno. Con tiempo suficiente para asegurarse de que lo han entendido bien, con total normalidad.
- En los últimos minutos se terminan los ejercicios. Se lanzan los resultados y cada alumno verá un pequeño gráfico con su progreso. Incluso en comparación con los otros alumnos.
- Termina la clase. Un rotundo éxito. Profesor y alumnos satisfechos por un trabajo bien hecho. El reto y recompensa como motivación. Y lo más importante: nadie queda olvidado, ningún alumno es dejado atrás con la excusa de ser demasiados.
Es solo un básico ejemplo de lo que se puede llegar a hacer, fácil de visualizar y comprender.
Se podrían lanzar infinidad de herramientas con un repertorio redundante, para que cada profesor pueda decidir los recursos de sus lecciones.
2. ¿Porqué no se está consiguiendo?
Aquí no merece la pena extenderse. No se está consiguiendo porque: quienes mandan no saben y quienes saben no mandan.
El Ministerio de Educación comete errores tan torpes como "Educación entrega portátiles vacíos a 400.000 alumnos". Parece que tiene la intención correcta, pero navega sin rumbo.
Además, suponiendo que el Gobierno tenga lo que hay que tener para mandar al al infierno al monopolio de la industria de libros escolares. Valientes chupatintas que manipulan a profesores para que cambien los libros cada año y no aportan mejora apreciable. Si fuese por ellos en el 2030 continuaremos puliendo arboles.
El Gobierno debe tomar las riendas de esta revolución, porque nadie más lo hará.
3. ¿Cómo conseguirlo?
El software es el rey. La pieza más importante. El hardware era un reto, pero es una montaña que ya se ha escalado.
No se puede digitalizar las aulas sin crear un sistema de software específico para la escuela. Sería como repartir semillas sin maceta y tierra de cualquier lado.
Hoy día el coste de los portátiles se ajusta cada vez más, además se requiere un hardware muy básico, veámoslo.
El Hardware
- Red Wifi en cada colegio e instituto
- Esto ya está logrado, al menos en todos los que he conocido. Y de esto hace unos años.
- Portátiles Escolares
- Cada alumno dispondrá de un ordenador portátil.
- Fabricado en serie su coste no debería superar los 200 euros. Si es más nos estarían robando en algun punto.
- Durarán una media de 2 o 3 años (siendo conservador). Con un servicio nacional de reparación eficaz será más.
- No hay razón para sacarlos del aula nunca.
- Su hardware se compondrá tan solo de:
- CPU (1 Ghz suficiente)
- RAM (2 Gb suficiente)
- Memoria (un SSD pequeño de tan solo 8 GB es suficiente)
- Pantalla (Mínimo 15", de buena calidad y muy anti-reflectante, con regulador de brillo)
- Una conexión para el ratón con conexión tipo PS/2 o específica. Se trata de evitar que haya USB o deshabilitarlos por software de forma segura, ya que no traerán más que problemas, lo digo por mi propia experiencia.
- Wifi.
- Teclado, ratón, carcasa, placa base, ventiladores y esas cosas obvias.
- NADA más. Ni lector de CD, ni SD, ni USB, ni LAN. No es que no haga falta, si no que es más seguro que no lo haya. Todo el software debe suministrarlo el profesor, tendrá el control total. Si los alumnos traen sus trabajos de casa o alguna aportación, deberá introducirse en el sistema desde el ordenador del profesor que tendrá todo tipo de conexiones.
- Servidor para las aulas
- Un servidor en cada colegio e instituto. Quizá otro servidor gemelo redundante por respaldo.
- Otra opcion más economica y escalable es que el ordenador del profesor sea el servidor de cada aula.
- Conectado a la red local Wifi y por Internet.
- Su objetivo es servir los contenidos a los portátiles de cada alumno, gestionar los accesos y almacenar los registros de actividad, valoraciones.
- Nadie del centro tendrá que echarle mano. Ni si quiera debe tener monitor. Podrán reiniciarlo y poco más, si algo va mal el servicio técnico vendrá al rescate.
- Servidor Central
- Un centro de datos para toda España.
- Servirá los contenidos a los Servidores Escolares.
- Servirá las instalaciones y actualizaciones de software (que serán constantes) de los Servidores Escolares y estos a su vez a los Portátiles Escolares.
- Especial hincapié en la seguridad y disponibilidad de este sistema. Sin embargo en caso de un fallo temporal del sistema, no se verá afectado el funcionamiento de los Servidores Escolares.
El Software
Lo primero de todo, olviden a Microsoft. También a Google y a cualquier otra empresa. Ellas buscan dinero, no nos pueden ofrecer a cambio una revolución. Ignorarlas por completo. La solución es apoyarse en el uso y desarrollo de Software Libre (y unas cuantas donaciones al año a la comunidad como recompensa).
Se debe crear inmediatamente un centro de software para Educación a nivel Nacional. Un centro de coordinación, un edificio entero, cercano al Servidor Nacional.
Su objetivo es desarrollar el software y contenidos de la Educación 2.0.
Debe dividirse en dos grandes equipos:
- Equipo 1: programadores.
- Crear la plataforma completa, el sistema debe ser principalmente con tecnología web (XHTML, CSS, AJAX, etc) Permitiendo apoyarse por otras tecnologías.
- Diseñar las imágenes de los sistemas de servidores y ordenadores configurados concienzudamente para que sea fácil desplegar ampliaciones del sistema simplemente instalando imágenes por red. Una imagen para los Servidores Escolares y otra para los Portátiles Escolares.
- Diseñar continuamente herramientas, mejorandolas constantemente lanzando nuevas versiones a todo el sistema. En este punto deben estar muy coordinados con el Equipo 2. Ejemplos:
(por lanzador me refiero a una herramienta que pulsando un botón y apenas un par de opciones logra activarse al instante en todos los Portátiles Escolares del aula)
- Lanzador de contenidos: texto, gráficos, vídeos, presentaciones, esquemas...
- Lanzador de exámenes tipo test. Que permita guardarlos, editarlos y compartirlos, y también sus resultados.
- Lanzador de votaciones. Imagine dar una clase y pedir opinión a los alumnos en minutos con una rápida encuesta, haciéndoles partícipe.
- Lanzador de ejercicios de todas las asignaturas, previamente creados en una librería de ejercicios nacional.
- Opción para activar/desactivar Internet. (por defecto desactivado, naturalmente).
- Activar/desactivar la calculadora.
- Control remoto, para ver que están haciendo los alumnos.
- Pizarra virtual compartida, para uso auxiliar.
- Comunicación interna de mensajería a nivel nacional, solo para el profesorado. También profesor-padres.
- Centralización de notas, evaluaciones y progresos de cada alumno. Con acceso para los padres desde Internet.
- Control de faltas de asistencia. Prácticamente no haría falta efectuar la acción de pasar lista, sería automático.
- Opción para que el profesor ordene la impresion de un numero de documentos a la impresora central, con un par de clics sin perder tiempo.
- Anotaciones claras del profesor para los alumnos. Fechas para examenes, trabajos, objetivos y temario.
- ... más infinitas utilidades que florecerán cada año.
- Equipo 2: pedagogos, historiadores, profesores motivados
- Comenzarán la Wikipedia de la educación.
- Deben crear todos los contenidos escolares desde cero. Desde los textos hasta contenidos audiovisuales. Curso por curso. Asignatura por asignatura. Es un trabajo arduo que no se completará en un año ni dos, pero su utilidad será para toda la vida pues solo habrá que mantenerlo actualizado. Es la mejor inversión que nuestro pais y el Ministerio de Educación podría hacer.
- Además será divulgado a toda la población ya que también estará a su alcance a través de Internet.
--
La mayor revolución en educación en la historia. El fracaso escolar reducido a cenizas. Toda la sociedad mejoraría. Seríamos el ejemplo a seguir en educación en lugar de lo contrario.
0
GONZO
22-01-2010
Este es el primer artículo de una serie de métodos que he conseguido implementar con éxito ahorrando CPU y transferencia, haciendo que mis servicios web soporten más lectores online, sirviendo más rápido y con menos hardware.
Parte I: Compresión Gzip
Este método ya es bastante familiar, casi todo el mundo que lo necesita realmente lo utiliza, pero no lo aprovecha al máximo.
La compresión Gzip hace que el servidor comprime los archivos de texto antes de transferirlos, reduciendo su tamaño entre 5 y 9 veces el original. Como por arte de magia consigue que la información que envía el servidor hacia el cliente sea notablemente menor.
Por ejemplo, un archivo que pesa 68 Kb gzipeado se queda en 9 Kb ahorrando mas de 7 veces el tamaño
Conseguimos de un plumazo tres enormes ventajas:
- Mayor capacidad de carga: ahorrando tiempo en transferir archivos se minimiza la carga de CPU y RAM del servidor.
- Mejor velocidad de carga: al transferir menos información las paginas cargarán bastante más rápido, la experiencia de tus usuarios será mejor y evade la necesidad de que el server esté en el país objetivo.
- Considerable ahorro de dinero: el gasto elemental de un servidor web es la transferencia mensual, esta se mide en Gb/mes. Comprimiendo con Gzip el ahorro será tremendo.
[Curiosidad: existe una supuesta delgada linea de eficiencia, algunos dicen que activando Gzip on-the-flight se gasta más CPU que en modo normal. Por mi experiencia pienso que se ahorra CPU, sin embargo en la Parte II explicaré un método muy interesante para hace Gzip estáticamente (mas magia)]
Puede parecer trivial, ya que mucha gente lo conoce y lo aplica. Sin embargo mi truco "avanzado" es que recomiendo activar Gzip en TODOS los archivos planos y no solo a las páginas HTML como veo en la mayoría de webs. Cualquier archivo plano se debe gzipear, me refiero especialmente a archivos html, estilos css y archivos javascript. El ahorro triple será más significativo aún.
Distintos métodos para implementar Gzip:
- Con Wordpress: es fácil, Opciones > Lectura > Marcar opción Gzip (abajo). Sin embargo el error común es olvidarse aquí del tema, un error porque con esta opción solo consigues comprimir las páginas html olvidandote del archivo css y posibles javascripts.
- Con PHP: para comprimir una página html donde puedes ejecutar PHP has de añadir estas lineas de código al principio de cualquier proceso:
Al final de cualquier código:
- Para CSS y javascript (recomendado) En .htaccess
AddHandler application/x-httpd-php .css .js
php_value auto_prepend_file /home/... RUTA LOCAL .../public_html/gzip-start.php
php_value auto_append_file /home/... RUTA LOCAL .../public_html/gzip-end.php
En gzip-start.php
En gzip-end.php
- Combinando htaccess + PHP: poner en .htaccess:
php_flag zlib.output_compression on
#Con el numero se controla el nivel de compresion donde 0 es null y 9 el maximo php_value
zlib.output_compression_level 5
AddHandler application/x-httpd-php .css .js
#Poner una ruta local cualquiera hacia un archivo php
php_value auto_prepend_file /home/.../public_html/gzip-head.php
Crear el archivo gzip-head.php con el siguiente contenido
Y esto es todo...
En la Parte II explico un interesantísimo metodo para comprimir con Gzip estáticamente, en vez de on-the-flight gastando 0 CPU en comprimir cada pagina, completando el circulo de eficiencia perfecta.
3
GONZO
23-12-2007
Introducción:
Desde hace 5 años uso ordenadores portátiles para el día a dia. Los uso de forma intensiva más de 8 horas al dia de media. Y en consecuencia me duran bastante poco.
Tengo en el garaje un monton de ordenadores portátiles viejos apilados. He probado Toshiba, Acer, varios HP y un Dell.
El ultimo que tengo ahora es un Dell Vostro 1710. Es el que más tiempo me ha durado hasta ahora. Supongo que cada vez se fabrican mejores portátiles.
El problema:
Sin embargo a partir del año de uso, la batería me dejó tirado. La batería dejó de cargar, mantuve la carga unos dias, funcionaba correctamente, hasta que la batería se agotó por completo.
Pude usar el portatil gracias a que funciona enchufado al cargador, sin batería (incluso puedes quitarla completamente).
Este hecho me llevó a suponer erroneamente -en la solución explico el porqué- que la batería se ha estropeado. Es algo que suele suceder, las baterias con el tiempo se gastan y dejan de funcionar.
No podía ser otra cosa, el PC funcionaba bien, el cargador también... la batería no. Ergo fallo de bateria. Me compré una nueva batería.
La solución:
El problema NO está en la batería, está en el conector del cargador. Es posible que una batería se gaste, puede pasar, pero me consta que el cargador Dell (de conector grande) es susceptible de fallar de forma extraña.
El fallo consiste a una rareza de este cargador. Tiene 3 contactos en lugar de los 2 habituales. En el interior del conector tiene un pequeño hilo rigido muy delgado que hace la conexion extra. Sirve para testear el cargador y garantizar que funciona con la tension adecuada.
Este delgado conector alargado es extremadamente delgado y por mi experiencia se estropea facilmente (y algunos más por Internet). Y si se estropea, el ordenador portátil le niega la capacidad de cargar la batería.
La solucion es sencilla, comprar otro cargador. Algunos se atreven a añadirle pequeños hilos de cobre para forzar el contacto.
Lo curioso es que todo apunta hacia la batería y sin embargo no es el origen del problema.
No hay mal que por bien no venga, ahora tengo dos baterías.
7
GONZO
22-08-2010
Spanish | English
Description:
Animal Captcha is a PHP program created for web developers who need a secure spam control for HTML forms. It displays a random image picked from a list of animals which only humans can recognize.
Advantages:
- Nice look: better than an ugly alphanumeric string.
- Fast: users can identify an animal faster than several mixed letters.
- Effective: less wrong answers.
- Secure: the main reason. Some alphanumeric captchas you can find on the Internet are really difficult to be recognized by a bot, but with an animal it's almost impossible!
- Multi-language: available in some languages, multiple valid names for each animal.
Documentation:
Animal Captcha is divided into two PHP files and one folder containing some images.
- animal-captcha.php - Returns a random image and saves the name of the animal in a session variable for being checked later.
- animal-captcha-check.php - It defines animal_captcha_check() function. It returns true if user answer is OK, and false if it's wrong.
- Folder images - They must be JPG format, a 120x120 px size, showing a very common animal which everybody knows. Names are composed with some words separated by dashes. Each word represents a valid answer for the same animal (eg: cerdo-pig-porc.jpg).
By this way you can easily adding new languages or solving problems about animals which have some different names.
Download:
Published under Creative Commons 3.0 license. You can use or modify all you want, but you must attribute the work to the original author: GONZO (Javier González), of Blogs Teoriza.
Sorry about my bad English, i hope it will be useful!
0
GONZO
04-05-2008
◄ Página anterior