Proxys, VPN: algunas herramientas para saltarse bloqueos regionales.

Artículo totalmente oportunista, lo admito. Básicamente porque hoy en España han bloqueado el acceso a The Pirate Bay y seguro que está todo el mundo buscando como loco cómo saltarse el bloqueo regional.

En su día ya hablamos de cómo configurar navegadores para surfear en la red a través de un proxy, así que por no repetirme os podéis ir al enlace. Aquí simplemente vamos a ver una pequeña lista de servicios.

Empezamos por proxys, que hay que recordar que no todos son una garantía de anonimato, pero se configuran con facilidad y permiten saltarse los bloqueos (algunos de los aquí citados ni eso, y te permiten acceder directamente sin tener que configurar nada en tu equipo):

  • XRoxy.com, por ejemplo, ofrece de forma gratuita un listado de proxys actualizado.
  • HideMyAss: Un servicio web proxy gratuito.
  • Hide.Me es trs cuartos de lo mismo, nos permitirá elegir entre navegar desde Alemania, Holanda o los EEUU.
  • Don’t Filter, un desbloqueador web anónimo, que además dice funcionar como herramienta de privacidad.
  • Ninja Cloak es un servicio de navegación anónimo que he utilizado de vez en cuando conectándome desde alguna entidad pública. Permite saltarse tanto bloqueos regionales como incluso saltarse los de un firewall.

Y vamos también con algunos servicios VPN (en principio mucho más sólidos si queréis una garantía de anonimato):

  • Hola! de vez en cuando falla (por ejemplo, lo intenté probar para buscar los datos bloqueados en Europa por Google en base al “derecho al olvido” y no habia manera, seguía reconociéndome como que navegaba desde España), pero se instala fácilmente (yo lo tengo como complemento del Firefox) y generalmente me ha ido bien. De hecho no me había enterado del bloqueo a PirateBay porque lo tenía activado y entraba como si navegara desde Sudáfrica. Un colega mío en Holanda dice que lo ha usado con éxito para ver allí partidos de la ACB que estaban bloqueados regionalmente, y yo también lo he probado con éxito en varias páginas, aunque me genera la duda el par de fallos que tuve. En todo caso puede ser una herramienta útil, y desde luego la configuración es mínima. También tienen un reproductor multimedia, pero no lo he podido probar.
  • OpenVPN: Un clásico en esto de las VPN, va sobre SSL/TLS y proporciona alta seguridad. Para utilizar debes instalar su software cliente. Ya hablamos de él en el pasado.
  • HotspotShield pasa por ser uno de los servicios VPN gratuitos más populares. Sólo lo he probado en Android y he de decir que la cosa me tiraba un pelín lenta en exceso y que me metía publicidad cada dos por tres. Pero en aquel entonces permitía navegación ilimitada (cosa que otros servicios, con una cuenta gratuita, no permitían).
  • ProXPN es un sevicio VPN totalmente gratuito, aunque con la velocidad muy limitada. Eso sí, tienes navegación ilimitada y la opción de utilizar su programa de pago con más opciones.
  • Spotflux ofrece gratuitamente un servicio limitado sólo a navegación web, con limitaciones de ancho de banda tras los primeros días. De nuevo, el servicio de pago da muchas más opciones (es lógico, si no diera ventajas no pagaría nadie).

En fin, no tengo todos testeados a fondo, pero con los que podido probar la cosa funcionaba bien. Así que la cosa queda clara, el bloqueo regional es poner puertas al campo, literalmente.

Calculando la distancia entre dos coordenadas en Java

Si no hace mucho os comenté por aquí cómo calcular la distancia entre dos puntos dadas sus coordenadas en MySQL (en ese artículo tenéis todo el tema del algoritmo para el cálculo más desarrollado, aquí vamos al grano), hoy vamos a ver cómo hacer una función que nos haga esta operación con Java.

La función recibe cuatro parámetros: las latitudes y longitudes de ambos puntos. Y devuelve un double con la distancia como resultado

public static double distanciaCoord(double lat1, double lng1, double lat2, double lng2) {  
        //double radioTierra = 3958.75;//en millas  
        double radioTierra = 6371;//en kilómetros  
        double dLat = Math.toRadians(lat2 - lat1);  
        double dLng = Math.toRadians(lng2 - lng1);  
        double sindLat = Math.sin(dLat / 2);  
        double sindLng = Math.sin(dLng / 2);  
        double va1 = Math.pow(sindLat, 2) + Math.pow(sindLng, 2)  
                * Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2));  
        double va2 = 2 * Math.atan2(Math.sqrt(va1), Math.sqrt(1 - va1));  
        double distancia = radioTierra * va2;  
  
        return distancia;  
    }  

Adiós Sir Terry Pratchett, goodbye Hat Sir.

Hará cosa de 15 años, un verano mientras trabajaba un verano en la librería de mis padres, empecé a leer una novela: “Guardias, Guardias”. No tenía ninguna referencia previa: no sabía quién era el autor (es más, tres libros suyos me leí pensando que era una mujer), cuál era el género (intuía que fantasía, pero no me esperaba tales dosis de humor) o si había sido una obra de éxito. Simplemente estaba harto de leer periódicos. Y ese fue uno de los grandes aciertos de mi vida. Devoré sus páginas en poco tiempo y rápidamente ataqué a “Mort” y a “El País del fin del Mundo”, mientras regalaba otras novelas a algunos de mis amigos. Había caído atrapado en el embrujo del mago del sombrero, de Sir Terry Pratchett (aunque por aquel entonces todavía la reina de Inglaterra no le había nombrado caballero).

Hoy nos deja uno de los autores más prolíficos y exitosos de las últimas décadas (más de 55 millones de ejemplares vendidos), y una de esas mentes brillantes y claras que, por desgracia, en los últimos años estaba siendo maltratada por un precoz Alzhéimer.

Fue en “Guardias, Guardias”, casi llegando al final, donde leí la que siempre he dicho que es la mejor definición de la condición humana que jamás haya leído nunca. En cierto modo Pratchett me recuerda a Billy Wilder, ambos fueron maestros en deslizar entre el humor píldoras concentradas de sabiduría capaces de sacudirte la mente como una bofetada. Añado, como homenaje a este maestro, esas líneas a la que me refiero, ese crudo retrato de la gente corriente que nos regalaba como conclusión en boca de Lord Vetinari, uno de sus más brillantes personajes, cruce perfecto de Maquiavelo con Tsun Tzu:

‘… the only thing the good people are good at is overthrowing the bad people. And you’re good at that, I’ll grant you. But the trouble is that it’s the only thing you’re good at. One day it’s the ringing of the bells and the casting down of the evil tyrant, and the next it’s everyone sitting around complaining that ever since the tyrant was over-thrown no-one’s been taking out the trash. Because the bad people know how to plan. It’s part of the specification, you might say. Every evil tyrant has a plan to rule the world.
[…]
‘Down there,’ he said, ‘are people who will follow any dragon, worship any god, ignore any iniquity. All out of a kind of humdrum, everyday badness. Not the really high, creative loathsomeness of the great sinners, but a sort of mass-produced darkness of the soul. Sin, you might say, without a trace of originality. They accept evil not because they say yes, but because they don’t say no.’

Y tras una nota tan estremecedora y, a la vez, tan brillante, creo que me iré a apoyar mi codo a alguna barra donde tomarme una copa en honor y recuerdo del caído. Por tantas páginas de risa, por tantas horas de gozo.

Conversión de boolean a int en Java

Entradita rápida y simple. ¿Tienes una variable con un booleano y necesitas convertirla en un entero? No es habitual, pero por ejemplo hoy me veía en esa tesitura con una vista en JSP. ¿Cual es la mejor forma en Java, la más eficiente y corta, de convertir un boolean en un entero? Pues la siguiente:

/*Supongamos una variable boolean llamada
miBooleano*/

int miEntero = miBooleano ? 1 : 0;

/*devuelve 1 si es true y 0 si es false*/

Pioneras de la programación

“Deberíamos pensar en internet como una escuela a la que muchas chicas como nosotras nunca tuvieron la ocasión de asistir, utilizándola precisamente para superar el miedo de no ser lo bastante guapas, lo bastante cultas, lo bastante fuertes, lo bastantes bellas, lo bastante despiertas o lo que sea. puede que las mujeres no sean tan buenas en la batalla física, pero de lo que estoy segura es que son buenísimas tecleando como una ráfaga de metralleta.

Esta frase es de Jude Milhon, autora fundamental en la cultura hacker y una de las madres del término y género cyberpunk.

En su día, con motivo de la muerte del genial Dennis Ritchie, incidía en que en la mitología creada alrededor de la informática el sistema prefiere resaltar a los empresarios por encima de a los perfiles más técnicos, a pesar de que estos últimos sean los verdaderos artífices de la innovación y la genialidad. Pero el capitalismo necesita mitos para sostenerse, y Gates, Jobs y Zuckerberg son más vendibles que Stallman, Torvals, Berners-Lee y Ritchie.

Entre esos nombres de millonarios tecnológicos la presencia femenina no es muy amplia. En el campo técnico, al menos en España, la presencia masculina también es mayor. Pero eso no quiere decir que en la historia de la informática no haya habido mujeres importantes, al contrario, en los cimientos de la historia de la programación está la contribución de dos excepcionales mujeres.

Ya en el siglo XIX, la matemática Augusta Ada Byron (hija de Lord Byron, poeta esencial en el romanticismo británico), condesa de Lovelace, nos avanzó múltiples conceptos de la computación y la informática en su trabajo sobre la máquina analítica de Charles Babbage. Originalmente se consideró qúe Ada sólo fue la traductora del trabajo del ingeniero italiano Luigi Menabrea, pero posteriormente se comprobó que la matemática inglesa había añadido las notas fundamentales a este trabajo para darle consistencia, definiendo conceptos como subrutina o análisis antes incluso de la existencia del ordenador y del concepto “software”.

La contribución de Ada Lovelace puede parece muy “primitiva” por haberse dado en una etapa que podríamos describir como “prehistoria de la informática“, pero inspiraría años después a otra mujer fundamental en la historia de la informática, la estadounidense Grace Hopper. Durante la II Guerra Mundial ingresó en el ejército estadounidense, tras haberse doctorado en matemáticas en Yale. La marina la destinó a Harvard para que trabajase en el Mark I de IBM, y allí desarrolló FLOW-MATIC, el primer lenguaje de programación de alto nivel, creando posteriormente A-0 y B-0, los primeros compiladores. Fuera de su trabajo en el ejército (se mantuvo años en la reserva naval, volviendo puntualmente para trabajos con el ejército hasta su jubilación en 1986, con el rango de contraalmirante y siendo en ese momento la oficial de más edad de las fuerzas armadas estadounidenses) llevó los conceptos de FLOW-MATIC, un lenguaje de programación que utiliza palabras clave en inglés para facilitar su comprensión, a un lenguaje de uso empresarial: el popular COBOL. Posteriormente también fue parte del comité de estandarización del lenguage Fortran. Como curiosidad, bastante paradójica, ganó el premio a Hombre del Año en Ciencias de la Computación de la AITP.

Grace Hopper en 1952

Casi contemporáneamente a Hopper, en el desarrollo de ENIAC, el primer superordenador de propósito general, trabajaron como programadoras un grupo de mujeres, las cuales contaban con la dificultad de tener que trabajar sin manuales ni referencias teniendo que desarrollar su propio método para programar. Para la historia siempre quedaron los nombres de John Mauchly y John Eckert, los ingenieros desarrolladores del hardware, mientras que Betty Snyder Holberton, Jean Jennings Bartik, Kathleen McNulty Mauchly Antonelli, Marlyn Wescoff Meltzer, Ruth Lichterman Teitelbaum y Frances Bilas Spence permanecieron en el anonimato, e incluso durante años hubo quien afirmó que se trataba de modelos que sólo posaban para la foto, despreciando su papel fundamental para el funcionamiento de la máquina.

Programadoras del ENIAC

Como decía al principio, en la historia de la informática, en los últimos años, se ha resaltado más el papel de aquellos que triunfaron en el campo económico y se ha relegado al ostracismo a los perfiles más técnicos, y esto ha dejado fuera de la ecuación a estas pioneras. ¿Puede ser esto la causa de que a día de hoy haya más hombres interesados en la programación que mujeres? Tal vez sea más necesario que nunca reivindicar a estas pioneras, en lugar de a hipsters que se hicieron millonarios a base de vender teléfonos fabricados por obreros explotados en Asia.

Windows 93 Online

Si, has leído bien, Windows 93. ¿Se trata esto de una broma? Pues obviamente , pero oye, con un trabajo detrás curioso e interesante. En un arranque de nostalgia de los tiempos de Windows 95, los desarrolladors Jankenpopp y Zombectro (este último debe ser blackmetalero, viendo su página personal) se han currado el sitio web de Windows 93, donde podrás trastear con esta invención suya desarrollada en HTML5 y Javascript. (hay que reconocer que les ha debido robar mucho tiempo este proyectillo)

En esta divertida réplica bastarda de Windows han añadido un buen montón de software inútil (como aquel que nos regalaban en tantas recopilaciones de freeware), una versión HTML5 de Wofenstein 3D, al menos dos virus (hydra y totally not a virus, claramente no puede ser un Windows si no tiene virus de serie), un archivo corrompido, un navegadador/buscador web, un vídeo de Star Wars en código ASCII o un defragmentador de disco… que sólo te diré que tienes que probar.

En resumen, una verdadera frikada cuya utilidad es nula pero muy divertida. Si conociste Windows 95 te hará gracia y te arrancará una sonrisilla durante unos minutos. Además, al contrario que el Windows original, con este basta con refrescar el navegador para tener un reinicio limpio y seguro.

¿Hacia dónde van estos Bulls? Analizando el proyecto 2015 tras la lesión de Rose.

Ya hacía tiempo que no escribía sobre baloncesto, pero hoy me sentía obligado a hacerlo. Acabo de ver como los Bulls caían contra los Clippers por 96-86. En principio puede parecer que no es nada grave, a fin de cuentas no es un tanteo exagerado y los Clippers son un equipo construído para buscar un anillo al que también, a principios de temporada, aspiraban los Bulls. Pero la estadística en este caso induce a error, la sensación que dieron los de Illinois fue muy mala, preocupante.

Y es que el partido se ha decidido en el último cuarto, al que ambos equipos llegaron empatados a 69 puntos. En este cuarto los Bulls mostraron una falta de ideas en ataque como hacía mucho que no veía. ¿Qué sistema usaron? Pues como en El Príncipe de Bel-Air: Balones a Will, que en este caso eran Balones a Nicola. Y es que estos Bulls que empezaron el año aspirando todo hoy durante un cuarto delegaron el total de su ataque en el novato montenegrino.

Ojo, no soy un hater de Mirotic, todo lo contrario. Como jugador para competiciones FIBA está en el escalón más alto y en su primer año en la NBA, en los partidos en los que le han dado minutos, se ha mostrado como un jugador con futuro en la mejor liga del mundo. Reconozco que su estilo de juego me planteaba una duda, ya que no le veía ni un tres ni un cuatro. Demasiado lento para defender a aleros, pocos kilos para jugar por dentro, pensaba yo. La misma duda que me planteaba Victor Claver (salvando las distancias, porque Claver no tiene ni los movimientos de espaldas al aro ni la muñeca desde media y larga distancia de Mirotic), pero nos ha demostrado que tiene su sitio jugando como cuatro abierto, y parece que, si la cosa va como debería, hará carrera allí.

Pero independientemente de lo dicho arriba, un equipo no puede aspirar a ser campeón centrando su anotación en el último cuarto sobre un novato. De los 17 puntos que firmaron los Bulls en el periodo definitivo 16 fueron de Nicola. Un solitario tiro libre convertido por Noah 1:14 del final fue la única aportación ofensiva del resto del equipo.

Ha sido una semana dura en la Ciudad del Viento, en la que está siendo una temporada decepcionante, no tanto en resultados pero sí en sensaciones. Tras recuperar la senda de la victoria antes del All Star parecía que el equipo empezaba a tomar forma, después de meses de problemas físicos y malos rollos en el vestuario que llevaron a hablar de la posible caída de Thibodeau. Y entonces llega la noticia temida, la enésima lesión de un Derrick Rose que parece condenado a unirse a Bill Walton y Grant Hill en la infausta lista de gente llamada a dominar la NBA aplastada por las lesiones. Y como las desgracias no llegan solas tras ese mazazo a las aspiraciones del equipo cae también lesionado Taj Gibson, y esta tarde el otro pilar del juego exterior, Jimmy Butler, se suma a la lista de bajas (queda pendiente saber por cuánto tiempo). Hay que añadir que Pau (que se había perdido el anterior partido por enfermedad) hizo su peor partido en ataque del año (imagino que si Gibson estuviera sano no habrían forzado y también habría descansado hoy), pero a pesar de eso ¿no había más opciones que acabar todas las jugadas en tiro de Mirotic? ¿el genio táctico de Thibodeau para plantear sistemas defensivos en cambio no da para más en ataque? ¿qué soluciones hay para Chicago? ¿Repescar a un Nate Robinson que parece renqueante?

Los Bulls comenzaron la temporada como principales favoritos en el este junto a los Cavaliers, pero ambos equipos no lograban coger el ritmo. A día de hoy, en cambio, los Cavaliers muestran una imagen más sólida que los Bulls por dos motivos: han asumido que Irving no sabe dirigir y dejan la subida del balón en manos de un LeBron que capitaliza un ataque extremadamente simple (aclarado para LeBron y ya decide él si ejecuta o asiste) y, por otra parte, la llegada de Mozgov (que continúa progresando año tras año) ha conferido al equipo solidez en defensa y mayor espacio a su ataque. Blatt no está luciendo su abanico táctico porque ha visto que entrenar en la NBA no es entrenar en el basket FIBA, pero se está adaptando y a día de hoy apuntan a una final de conferencia frente a Atlanta. En cambio los Bulls siguen sin arrancar, y el menisco de Rose amenaza con enterrarlos. Dicen que estará de vuelta para los play off, pero ¿en qué estado? Ya no físico ¿cómo estará psicológicamente Rose tras volver a romperse? ¿cómo está la psique colectiva del equipo?

En resumen ¿siguen siendo estos Bulls candidatos al anillo? Pues, hoy por hoy, no. El equipo sigue teniendo potencial para serlo, pero la cuestión es ¿puede Thibodeau hacer funcionar todas las piezas? Hasta el momento es lo que ha fallado, el funcionar como una única máquina.