Rêveur, au moins

Unrandom thoughts, unheard ideas, unseen entries, unwritten facts, nonsensical dreams, improbable plans, unmatched soul.

Colors of the screen Diciembre 9, 2009

Archivado en: Digital World, Programming thingies — sharpreve @ 4:45 pm
Tags: , , , , , ,

¿Qué preferís, un hermoso light sky blue o un #d2b48c feo y árido?

Prefiero el light sky blue, porque además de ser más lindo, me lo puedo acordar.
 

Está bueno ponerle colores lindos a nuestros programas y páginas web (o mejor dicho, intentos de programas y páginas web), para nosotros y para quienes los usen. Lo que no es tan lindo es tener que andar acordándose esa cosa tan fea que vimos arriba (para refrescar: eso es un valor hexadecimal que representa un color, donde los dos primeros dígitos son para el rojo, los otros dos para el verde y los últimos para el azul – #rrggbb -).
 

Para eso se inventó la tabla de colores web, que nos da nombres graciosos para acordarnos de números feos.
 

Pero hay un problema: son solamente 256, y con eso no nos alcanza la mayoría de las veces.
 

¿Solución? ¡extender esa tabla! Lo bueno es que en Wikipedia ya está, y muy bien. Así que lo que hice fue usarla para fabricar un tipo de dato enumeratvo en Python (disfrazado de clase, claro), listo para usar (traducirlo a otros lenguajes de programación no requiere demasiado trabajo).
 

La única mala noticia es que para usarlo directamente en css se necesita algún conversor, cosa que no hice. Pero ustedes son mentes brillantes, así que van a saber arreglarlo :)
 

Acá dejo el zip con el módulo PrettyColors y un ejemplo muy simple que muestra como usarlo. ¡Diviértanse con sus apple greens, air force blues y fashion fuschias!

(Sí, el título del post viene de la canción Colors of the Wind)

 

Free, Like Free Software Octubre 31, 2009

Desde las 16:30 de ayer hasta pasaditas las 13:00 de hoy las aulas 5, 6, 7 y 8 de la UNNOBA (que en realidad son una sola) estuvieron ocupadas por estudiantes de Informática ¿se dieron cuenta finalmente las autoridades de que están todos locos y decidieron encerrarlos? ¡nada de eso my friends! tuvieron lugar las 5tas Jornadas de Software Libre. Hubo cinco expositores (y sus acompañantes) que vinieron de Buenos Aires (ciudad) y Santa Fe (no tengo idea) y hablaron de un montón de cosas. Ah, sí, y también de software libre un poco.

Las primeras dos charlas del viernes estuvieron dedicadas a mi amado lenguaje de programación, mi voz hecha código, Python. La tercera fue una especie de debate (bah, eso era lo que se esperaba que fuese), que se hizo improvisadamente por la ausencia de uno de los expositores, y que se convirtió rápidamente en la favorita de las jornadas. El tema era seguridad informática, pero fue dispersándose por bastantes ramas, pasando por el phishing, los robos, los lectores de huellas digitales, la paranoia y la calidad de los choripanes.
 

Después de eso continuamos la discusión afuera, y de eso Agustín hizo aparecer la historia del ladrón que entró a Facebook en la computadora a cuyo dueño le estaba robando y se olvidó de desloguearse. Lo primero que se me vino a la mente fue algo así:
 

Ladrón que twittea
 

pero aparentemente mi idea no fue tan original.

Esta mañana se habló de Ruby, OpenOffice y Asterisk, pero no fue lo mismo que ayer, probablemente porque era un sábado a la mañana y yo estaba dormido como un oso. Ah, y Gastón se ganó un libro de O’Reilly (Oh, really?!), mis felicitaciones.

Hoy llovió mucho, y sigue lloviendo. No me gusta rimar, pero me voy despidiendo.

 

Not so transparent Mayo 22, 2009

Archivado en: Digital World — sharpreve @ 10:21 pm
Tags: , ,

Mucha agua ha corrido bajo el puente desde la última entrada en este blog, y la última entrada fue precisamente otra queja por un problema parecido. ¿Qué pasó? Cada vez que quería entrar a ver algún blog alojado en WordPress (o sea, nombre de dominio + .wordpress.com) pasaban varios minutos antes de que terminara de mostrarse, si es que se mostraba (lo más gracioso es que en mi blog lo único que tardaba mucho en cargarse eran las puntitas de los recuadros de cada post). Además de eso (y el principal problema), es que no podía llegar de ninguna manera a la página de creación de posts. Es una sensación de impotencia terrible estar ahí, a un paso de escribir lo que uno quiere escribir y no poder, y ver que desde cualquier lado menos desde mi casa podía entrar.

Hipótesis

Cuando hice este post creía que ya había solucionado el problema, pero no, porque los DNS que estaba usando dejaron de funcionar. Probé con un chillón de otras direcciones de DNS, pero las cosas solamente empeoraban. Fueron muchas las cosas que creí que podían estar pasando:

  • Speedy tiene bloqueado WordPress (como había hecho Jazztel en un momento)
  • Los DNS de Speedy son malos, y se pierden hasta en un pasillo (aunque esta afirmación es completamente verdadera, no fue del todo el problema esta vez)
  • La gente de WordPress mandó mi blog a un servidor en la Isla Cuadrada de Kookamonga, donde los datos son transportados por una persona que llega nadando, a 2bps
  • El firewall de mi router se está haciendo el vivo
  • Mi MTU es demasiado alto (cosa que me había pasado en Ubuntu, y que conté acá)
  • El hombrecillo encargado de La Internet no me quiere

Lo que realmente pasó

Fue entonces, al borde de la desesperación, cuando decidí usar Wireshark (un analizador de paquetes, que nos deja mirar toda la información que pasa por nuestra red totalmente desnuda) para ver qué onda (como diría con mucho atino el señor Álvarez cuando hablaba de funciones senoidales). Y ahí, en esa selva de información, vi cosas que erizarían los pelos del honvre más intrépido, y me di cuenta de que Speedy estaba haciendo cosas a mis espaldas. Haciendo un poco más de investigación por mi cuenta y leyendo otro poco (uno de las cosas que leí fue este post de Javier Smaldone, terriblemente inspirador), me di cuenta de que estoy atrás de un proxy transparente que Speedy puso sin permiso de nadie, y como todo lo que Speedy toca, anda mal.

Soluciones

La solución a esto es bastante simple, aunque quizá sea un poco molesta y no la mejor (la mejor sería que Speedy dejara de molestar y sacara este proxy). Consiste en acceder desde un proxy online como Proxify, o bajarse algún add-on de firefox como PhProxy. PhProxy es muy cómodo, porque lo activamos cuando queremos cliqueando su ícono, que está en la barra de direcciones o en la barra de estado (abajo de todo). Lo que puede pasar a veces es que el servidor proxy que elige no anda, pero eso se arregla bastante fácil haciedo click derecho sobre su pequeño ícon y eligiendo otro.

Eso es todo por ahora, fue una semana terriblemente cansadora, y un día particularmente cansador. Me voy, pero dejo una frase del sabio usuario de WordPress thesacredpath:

Ah yes, the infamous transparent proxy servers: responsible for more problems than we can ever imagine.

 

Another Problem, Another Solution Abril 13, 2009

Archivado en: Digital World, Rants & Raves — sharpreve @ 9:39 pm
Tags: , ,

Al parecer, al matar un problema aparece otro nuevo. Una vez que ya había arreglado la cosa que no me dejaba entrar a WordPress, que conté hace un tiempo en este post, no podía ver muchas de las imágenes de flickr.
¿Qué había pasado? no sé exáctamente, pero alguien piensa que estoy en un país autoritario que levanta firewalls que censuran ciertas imágenes y no me deja verlas. Por un lado, es una vergüenza que todavía sigan censurando, jugando a un juego del gato y el ratón que no termina más. Por otro lado, ¡soy argentino!.
Les agradezco muchísimo a los desarrolladores del add-on de Firefox Acces Flickr!, que me solucionó el problema.

Todo esto pasó cuando traté de ver las fotos de David Giral, que son de las que más me gustan de toda la Internet :)

 

Ubuntu and the Unemptyable Trash Bin Abril 3, 2009

Archivado en: Digital World — sharpreve @ 10:53 pm
Tags:

¿Cuál es la peor pesadilla de alguien que usa Ubuntu y tiene que deshacerse rápidamente de archivos comprometedores? Que sean inborrables. Aunque lo que probablemete quería borrar yo eran canciones malas que me habían quedado por ahí, debo decir que es muy molesto saber que en la papelera quedan a veces archivos o carpetas que no pueden ser borrados.

Lo que hay que hacer es abrir una terminal, loguearse como superusuario (con sudo o su), moverse usando cd hasta /home/ /.local/Share/Trash/ y borrar lo que haga falta usando rm (puede hacer falta moverse a alguna de las subcarpetas de Trash antes).

A Mich y a mí ya nos pasó, esperemos que no haya más víctimas :p

 

Speedy and its mother Abril 2, 2009

Archivado en: Digital World — sharpreve @ 6:21 pm
Tags: ,

Hacía un rato bastante largo que no posteaba nada acá. En parte admito mi culpa, pero por otro lado, debo felicitar a la gente de Speedy, porque con esfuerzo y perseverancia han demostrado de forma definitiva e irrefutable que son unos inútiles.

Desde hace casi un mes venía sin poder acceder a mi dashboard de WordPress, o sea, no podía postear, editar, ni hacer nada con mi blog. Apenas podía verlo, y había muchísimos blogs más de wordpress a los que no podía entrar, las páginas se empezaban a cargar, pero ahí se quedaban. Hasta que hoy, con la paciencia al límite y aprovechando el tiempo libre que dan los feriados, me puse a buscar la solución, y después de casi una hora la encontré: cambiar los freaking DNS automáticos de Speedy por otros, no importa cuales, siempre que sean un poco confiables.

Así que supongo y espero que ahora, con este asunto solucionado y ayuda del clima otoñal que inspira a escribir, postearé un poco más en el tiempo que sigue, para suerte o desgracia de quien lea :)

 

I’m Feeling Bluetooth Octubre 26, 2008

Archivado en: Digital World — sharpreve @ 7:39 pm
Tags: ,

Bluetooth, vulgarmente conocido como Blutú, es una de las tecnologías de transferencia inalámbrica de datos más conocidas últimamente, y una de las mejores, por cierto.

Aunque no puedo decir que Bluetooth es una parte integral de mi vida, sí puedo decir que me la simplificó bastante a la hora de compartir cosas con otra gente (especialmente fotos, ya que no tengo cámara :) ) y con mi computadora (especialmente en Ubuntu, cuyos programas de transmisión de archivos a PDAs por USB son realmente feos e incómodos – esto puede parecer injusto, pero de verdad, los intenté usar muchas veces y me decepcionaron cada vez más -). Además, aunque costó bastante, también pude conectarme inalámbricamente (y sin Wi-Fi) a Internet. Nada mejor que navegar La Red tirado en el sillón :)

Si alguien llegó a leer hasta acá (cosa que dudo) se preguntará por qué se me dió por hacer un post sobre Bluetooth. La cosa es que para *descansar* un poco de Análisis Vectorial me puse a leer un trabajo que había hecho el año pasado para Arquitectura II, y que siempre había pensado en publicar pero por alguna razón u otra no lo había hecho nunca. Y ahora, el trabajo en cuestión. Pero antes… quería decir que lo hice cuando todavía no había cursado Redes I, y por lo tanto no tenía la más mínima idea de muchas cosas. Por eso, aunque ahora que lo vuelvo a leer con algunos conocimientos más me doy cuenta que increíblemente muchas de esas cosas estaban bien, hay otras que no son tan precisas, por eso, se ruega precaución al leerlo ;)

Pdf

Espero que a alguien le sirva y le guste, yo ya me divertí mucho haciéndolo :)

 

Singin’ victory song! Octubre 13, 2008

Archivado en: Digital World — sharpreve @ 11:31 am
Tags: , ,

¡Por fiiin! después de estar casi una dolorosa semana (en la que tenía que hacer y entregar trabajos) sin internet en Ubuntu, pude hacer que vuelva a andar.

La cosa empezó cuando, no extrañamente, se cayó el servicio de Speedy la tarde del último miércoles. La verdad es que no sé que fue lo que pasó, al principio directamente no se podía establecer la conexión, y después la cosa pasó a ser un problema de DNS. La cuestión es que después todo volvió a andar… en Windows.

Voy al problema concreto:

- Conexión en Windows funcionando normalmente.

- En Ubuntu (Hardy Heron 8.04) se conectaba, pero solamente podía acceder a Google (y sus amigos, como Gmail). No podía entrar a NINGUNA otra página, ni conectarme en ningún programa de mensajería, ni actualizar los repositorios, ni traer las letras de canciones con el Amarok.

- Todos los pings que hacía concluían satisfactoriamente.

¿Qué traté de hacer?: TODO. Modifiqué la configuración de red, tanto del módem como de PPP de todas las formas posibles, probé con todos los servidores DNS que se me cruzaron por el camino (ahora me doy cuenta que por el resultado de los pings, evidentemente ese no era el problema) y cambié unos cuantos archivos de configuración, sin resultados.

Y fue hace un rato cuando a través del caché de Google encontré esta página, que me dió la solución definitiva:

  • En un terminal, tipear sudo gedit /etc/ppp/options
  • Una vez abierto el archivo, buscar la línea que dice # mtu <n>
  • Descomentarla (borrar el #) y cambiar <n> por 1412
  • Guardar el archivo
  • Tipear en el terminal sudo poff dsl-provider, y después sudo pon dsl-provider (no sé si este paso es necesario, yo lo hice y funcionó)

Lo irónico de todo esto es que vi lo que era MTU (Maximum Transfer Unit) hace un par de clases en Redes I, pero lo que menos se me hubiese ocurrido es que ese era el problema.

Espero que esto le sirva a alguien más que haya estado en una situación tan desesperante como la mía :)

 

Winter Break’s End and AI Debate (English) Agosto 19, 2008

Archivado en: Digital World, Life — sharpreve @ 3:18 pm

Today is a typical Winter’s day, it’s cold and cloudy, but it doesn’t rain. It’s also the last day of my Winter holidays, and starting tomorrow a pretty tight agenda awaits me.

Even though my mood was great some days after my last post, today I started feeling down again, but it’s not nearly as bad as it was a week ago. On Friday, as I had announced, I had my Computer Science II final test, with neither good nor extremely bad results. They didn’t ask me one single thing of what I had printed, studied and thought about, and all the hours I spent had to go somewhere, so here I am, trying to briefly explain the debate of Artificial Intelligence.

Let’s begin from where we should: ¿What on Earth is Artificial Intelligence?

Basically, Artificial Intelligence is the ability of a device (generally electronical) to behave like a thinking human does. It also refers to the branch of computer science which studies computational models which show that ability, their reach and limitations.

The topic of thinking machines has been exposed in movies and books for a long time: 2001: A Space Oddisey, I Robot, The Bicentennial Man and the movie AI, directed by Spielberg, are very well known examples. Still, we haven’t yet seen any of these things (except for some concepts of 2001), and that’s where debate starts: Is it possible to create machines which can think, behave, feel and be concious (despite my doubts about this last one) like humans?

As always is the case, there are two sides:

  • Weak AI: Machines cannot think, but they are very good at simulating human intelligence. It’s in some way the current de facto paradigm, and it’s the one that shows to be more useful. We see it realizing it or not in videogames, and concepts such as neural networks and expert systems (computers which mimic the knowledge of an expert in a certain field) are increasing in popularity.
  • Strong AI: all possible behavior (including the one of the human mind) is an algorithm (a finite, ordered an unambiguous sequence of steps) independent of the hardware on which it is implemented, which means we can make a fully functional thinking robot if we are able to understand (at least approximately) the working of the brain and code it. Voilá!

Very smart people are on both sides, and they have strong arguments, so this debate will lat for a very long time (except there’s some kind of revolution) :)

The above definitions are more complex, but I think I wrote them makes them easier to understand.

Today post was a very very brief introduction, and I decided to leave it here for now because otherwise it will be to long. Soon I’ll write part II, where I’ll talk about the most important people on each side, so stay tuned! ;)

 

Winter Break’s End and AI Debate Part I Agosto 19, 2008

Hoy es un típico día de invierno, hace frío y está nublado, pero no llueve. Es además el último día de las vacaciones, tras el cual me esperan unos horarios muy apretados.

Aunque mi estado de ánimo estuvo muy bien algunos cuantos días después del último post, hoy volvió a bajar, pero no tanto. El Viernes, como ya lo había anunciado, tuve el final de Ciencias de la Computación II, con resultados no-tan-buenos pero tampoco deplorables. No me tomaron absolutamente nada de todo lo que había impreso, estudiado y pensado, y en algún lado tenían que terminar todas las horas gastadas, así que acá voy, tratando de explicar de manera muy resumida (el tema da para cientos de posts) el debate sobre la inteligencia artificial.

Empecemos por donde se debe: ¿WTF es la inteligencia Artificial?

Básicamente se llama Inteligencia Artificial (IA – AI, en Inglés) a la capacidad que tiene un dispositivo (generalmente electrónico) de actuar de manera similar a un ser humano pensante. También el termino IA puede referirse a la rama de la ciencia de la computación que se encarga de estudiar modelos computacionales que demuestren esa capacidad, su alcance y sus límites.

Desde hace mucho tiempo en las películas y libros de ciencia ficción se viene planteando la idea de máquinas pensantes, e incluso sintientes: 2001: Una Odisea Espacial, Yo Robot, El Hombre Bicentenario y la película AI (Inteligencia Artificial) dirigida por Spielberg son ejemplos bien conocidos de esto. Sin embargo, todavía no se cumplió ninguna de estas cosas, y ahí es donde empieza el debate: ¿Es posible crear máquinas que piensen, se comporten, sientan y tengan conciencia (aunque sobre esto último tengo mis reservas) como los humanos?

Como siempre pasa en estas cuestiones, hay dos grandes bandos:

  • IA Débil (Weak AI): sostiene que las máquinas no pueden pensar, pero que son capaces de simular muy bien la inteligencia humana. Es de alguna manera el paradigma de facto en la actualidad, y es el que demuestra tener una mayor utilidad. Lo veamos directamente o no, la inteligencia artificial está presente en los videojuegos desde hace mucho tiempo, y conceptos como los de redes neuronales y sistemas expertos (equipos informáticos capaces de simular el conocimiento de un experto en una determinada especialidad) son cada vez más comunes.
  • IA Fuerte (Strong AI): sostiene que todo comportamiento (incluso el del cerebro humano) es un algoritmo (serie finita, ordenada y no-ambigua de pasos) independiente del medio físico sobre el cual se ejecute. Es decir, si se descubriera la forma de traducir el funcionamiento del cerebro a un algoritmo, y se implementara sobre un medio digital, tendríamos un robot, pensante, voilá!

Cada uno de estos puntos de vista tiene sus defensores, y presenta cada uno buenas razones, así que esto va a durar un rato largo (o hasta que ocurra algún tipo de revolución) :)

Las definiciones anteriores son realmente más complejas, pero creo que como las escribí hace que se entiendan un poco mejor.

El post de hoy fue solamente un muy muy breve introducción a esto, y lo dejé acá por ahora para que no se hiciera insoportablemente largo de leer. Pronto voy a escribir parte II, hablando de los defensores más importantes de cada postura y presentando sus argumentos, so stay tuned! ;)