Código ofuscado

Muchos de los que leen este blog seguro que ya saben a qué me refiero por código ofuscado. Si es ese el caso, probablemente lo que cuente a continuación ya lo sepas. Para los demás, si os apetece ver las cosas que un friki de la programación puede hacer cuando se aburre, continúa leyendo.

El código ofuscado es, según la Wikipedia el «[..] acto deliberado de realizar un cambio no destructivo, ya sea en el código fuente de un programa informáticocódigo máquinacuando el programa está en forma compilada o binaria, con el fin de que no sea fácil de entender o leer». De cara al programado que quiere echarse unas risas es hacer un programa correcto pero que no pueda entenderse leyéndolo. ¿Y eso por qué? Porque podemos.

Imaginemos algo sencillo: en C hacer un programa que muestre por pantalla un «Hola, mundo» es algo tan aburrido como lo siguiente:

int main(void)
{
   printf("Hola, mundo");
   return 0;
}

Sin duda algo muy soso, sería más divertido una cosa como la siguiente:

#define __ main
#define ___ printf
int
__(int _, char **b)
{
   return (_ > 0)? ((_==1)?__(_-1, 0):0):___("Hola, mundo");
}

Ahora mismo no sé si funciona, pero como podéis comprobar es muuuucho más clarooooo (entiendase el sarcasmo). Ya lo único que le faltaría es ocultar el mensaje de algún modo estrafalario.

A parte de las connotaciones divertidas que pueda tener la ofuscación de código (hay códigos con forma de avión, círculos, etc.), también sirve para reducir el tamaño del código de ciertos programas. Por ejemplo, en el mundo de la web, los códigos javascript se suelen comprimir utilizando técnicas de sustitución parecidas a las de la ofuscación para que ocupen menos y se transmitan más rápido por la red.

También hay quien utiliza este tipo de códigos para evitar que se copien los algoritmos utilizados y que no se pueda hacer ingeniería inversa.

Manifiesto de #nolesvotes

El próximo 22 de mayo, los ciudadanos españoles están convocados a las urnas para votar a sus representantes públicos en todos los ayuntamientos y en algunos parlamentos autonómicos. Los representantes elegidos tendrán a su cargo la gestión de miles de millones de euros durante un periodo de cuatro años, razón más que suficiente para extremar las precauciones de los votantes: a lo largo de los últimos años, el nivel de corrupción en la política española se ha disparado de manera alarmante en todo el arco parlamentario.

PSOE, PP y CiU son las tres formaciones políticas que han pactado para resucitar la ley Sinde en el Senado, una ley que permite censurar Internet por vía administrativa, sin una intervención judicial que garantice la tutela efectiva de los ciudadanos. Al juez que deba validar el cierre le estará vedado analizar el fondo del asunto, esto es, la vulneración de derechos de propiedad intelectual o la posibilidad de producir un perjuicio patrimonial por parte de la página web cuya clausura se solicite. La ley Sinde crea un “agujero libre de jueces” donde la decisión la toma una comisión administrativa nombrada por el gobierno, para evitar lo que hasta el momento venía ocurriendo: que los jueces no daban la razón a las reclamaciones de la industria de los contenidos.

La ley Sinde es ineficaz. No aborda una reforma integral de la legislación de propiedad intelectual, único camino para favorecer la justa retribución de los creadores y artistas en el marco de una sociedad de cultura digital. Aún así, y a pesar de la oposición de una parte importante de la sociedad incluyendo creadores y artistasPSOE, PP y CiU votaron a favor de ella. Pesaron más laspresiones de gobiernos extranjeros y de grupos minoritarios que el interés social. Pero no todo es culpa de nuestros representantes: nosotros les hemos elegido, por acción u omisión.

Desde Nolesvotes.com consideramos que PSOE, PP y CiU han faltado a su principal obligación con la ciudadanía: defender la Constitución que juraron o prometieron acatar. La ley Sinde somete Internet a una legislación excepcional, con grave merma de los derechos a la libertad de expresión e información y a la tutela judicial efectiva, posibilitando un mayor control político de la red.

Tu decisión es importante. No te pedimos el voto para ningún partido concreto, ni que votes en blanco, ni que te abstengas, sino que te informes para comprobar que existen alternativas contrarias a la ley Sinde en todo el espectro ideológico. Te pedimos que defiendas la libertad en la red con tu voto, no apoyando a aquellos que con sus actos se han hecho claramente merecedores de un voto de castigo.

El próximo 22 de mayo, NO LES VOTES.

Distributed Hash Cracker

Ese nombre tan rimbombante es, ni más ni menos, que la base de mi proyecto final de carrera, felizmente entregado ya. Es una herramienta que en su momento se encontraba en internet con licencia BSD y que por algún motivo desapareció. Lo curioso no es que no esté ya el programa, sino toda la web que lo albergaba junto a más proyectos.

Tras hablarlo con mi director de PFC hemos decidido publicar el código con las modificaciones introducidas en los próximos meses (puede que antes haya que hacer aún algún cambio). De momento mi idea es ponerlo en GitHub y aún tengo la duda de si puedo cambiar la licencia de BSD a GNU GPL v3 o si sólo puedo cambiar los ficheros que haya modificado (que creo son bastantes).

Actuación contra la ley Sinde

Poco a poco parece que la ley Sinde va a salir adelante. Creo que este es un buen momento para empezar a plantear qué acciones se deberían llevar a para actuar contra esto, tanto a corto como a largo plazo.

Yo propongo las siguientes actuaciones:

  1. No ir al cine, conciertos u otros espectáculos que puedan suponer ingresos directos o indirectos a las arcas de las entidades de gestión de derechos de autor.
  2. No comprar música ni películas (tanto de primera como de segunda mano).
  3. No comprar en España artículos grabados con canon.
  4. No votar a PP, PSOE ni CIU en las próximas elecciones.
  5. Escribir a nuestros senadores informándoles sobre nuestra negativa a que sea votada la ley Sinde.
  6. Exigir el cese inmediato de la ministra de cultura Ángeles González-Sinde Reig.
  7. Informar a todos nuestros conocidos de la situación para que, en la medida que puedan, sigan estas normas.
  8. Descargar música y vídeos libres.
  9. Apoyar y, si es posible, acudir a todas aquellas actividades cuya finalidad sea paralizar la aprobación de la ley Sinde, la dimisión de Sinde.

Seguro que podría hacerse algo mejor, no soy un genio, la verdad, pero creo que es un buen principio.

Meme fin de año o algo

Sí, sé que he tardado mucho en publicar esto, pero es que entre que en navidades no he tocado Internet y el PFC…

1. ¿Qué hiciste en el 2010 que nunca habías hecho antes?

Mi primer aniversario de pareja :-)

2. ¿Mantuviste tus resoluciones de Año Nuevo, y harás nuevas?

Solo algunas, no terminé el PFC, pero ya le estoy poniendo remedio. No tengo resoluciones de año nuevo, solo ideas de cosas que hacer.

3. ¿Se casó alguien cercano a ti?

Sí, dos grandes amigos que tengo desde hace mucho tiempo. Les deseo mucha felicidad.

4. ¿Nació alguien cercano a ti?

Creo que no, pero teniendo en cuenta que vivo en mi mundo piruleta…

5. ¿Murió alguien cercano a ti?

Una tía de mi padre con la que echaba unas risas cada vez que iba al pueblo.

6. ¿Qué países visitaste?

Portugal, Finlandia y Reino Unido, o al menos estuve en ellos.

7. ¿Qué te gustaría tener en 2011 que no has tenido en 2010?

¡La carrera terminada!

8. ¿Qué fechas de este año permanecerán en tu memoria?

14 de febrero, 6 de marzo, 19 de marzo, 16 de octubre (me guardo mis razones, pero más de uno sabrá cuales son).

9. ¿Cuál es tu mayor logro del año?

Creo que empezar a ponerme en serio con el PFC es uno :-P

10. ¿Cuál ha sido tu mayor fracaso?

Desarrollo web. Aún me falta un hervor, pero me gusta mucho.

11. ¿Has sufrido una enfermedad o herida?

Soy invulnerable :-P

12. ¿Qué ha sido lo mejor que has comprado?

Cada regalo que ha despertado felicidad a quien lo ha recibido; aunque no han sido muchos… ¡¡soy un poco rata!!.

13. ¿El comportamiento de quién merece celebración?

El de todos aquellos que apoyan y ayudan a organizaciones como WikiLeaks, los que luchan contra las injusticias y por la auténtica igualdad de todos los seres humanos sin ningún tipo de distinción.

14. ¿La actitud de quién te ha hecho sentir deprimido u horrorizado?

La de los gobiernos que se venden a los intereses del mercado y el mejor postor.

15. ¿Donde se ha ido la mayor parte de tu dinero?

En comer con mis amigos y mi novia, en disfrutar con éstos y en chorradas (no lo puedo evitar :-P).

16. ¿Qué te ha hecho mucha ilusión?

Estar con mi novia.

17. ¿Qué canción te recordará siempre el 2010?

La verdad es que el año pasado estuve poco musical… Diría que cualquiera de las de Tron Legacy.

18. Comparando con hace un año, estás ¿más contento o más triste?

Menos.

ii. ¿Más delgada o más gorda?

Un poco más gordo.

iii. ¿Más rica o más pobre?

Igual.

19. ¿Qué te gustaría haber hecho más?

Ganar dinero ¡bwajajajajaja! En serio, pasar más tiempo con mis amigos.

20. ¿Qué te gustaría haber hecho menos?

Estresarme con el trabajo.

21. ¿Cómo pasarás la Navidad?

En mi casa (ahora lo sé porque ya pasaron).

22. ¿Te has enamorado en el 2010?

Sí, todos los días y de la misma mujer.

23. ¿Cuantos rollos de una noche?

Ninguno.

24. ¿Tu programa de televisión favorito?

Cualquiera de Canal Cocina.

25. ¿Odias a alguien a quien no odiaras a estas alturas del año pasado?

No.

26. ¿El mejor libro que has leído?

No sé si he llegado a terminar alguno TT_TT

27. ¿Cúal ha sido tu mayor descubrimiento musical?

¿Ya dije que el año pasado estuve poco musical?

28. ¿Qué querías y conseguiste?

Viajar.

29. ¿Cuál es tu mejor recuerdo de 2010?

El viaje a Lisboa.

30. ¿Tu película favorita del año?

Tron: Legacy

31. ¿Qué hiciste en tu cumpleaños y cuantos cumpliste?

Quedé con mis amigos para tomar algo y cumplí 30.

32. ¿Qué es lo que hubiera hecho tu año mucho más satisfactorio?

Sinceramente no lo sé, pero trabajaré en descubrirlo ;-)

33. Describe tu concepto de la moda en 2010:

El mismo que el de moda en el * (sustituye * por cualquier cosa): un engañabobos.

34. ¿Qué te ha hecho permanecer cuerdo?

Todos mis amigos.

36. ¿Qué tema político te ha inquietado más?

WikiLeaks.

37. ¿A quién has echado de menos?

A Riva mientras estuvo fuera. A mis amigos cuando no tengo tiempo para verlos. A mi novia todos los días que no la veo.

38. ¿Quién es la mejor persona a la que has conocido?

Complicada pregunta. La verdad ya no sé a quién he conocido y a quién ya conocía y a los que he conocido no he tenido tiempo de tratar suficiente con ellos…

39. Dinos una lección valiosa que has aprendido de 2010:

Poner cera, quitar cera.

40. ¿Dirías que el 2010 ha sido un buen año a pesar de todo?

Sí, todos son buenos, solo hay que saber valorarlos.

Manifiesto por una Red Neutral

Los ciudadanos y las empresas usuarias de Internet adheridas a este texto manifestamos:

  1. Que Internet es una Red Neutral por diseño, desde su creación hasta su actual implementación, en la que la información fluye de manera libre, sin discriminación alguna en función de origen, destino, protocolo o contenido.
  2. Que las empresas, emprendedores y usuarios de Internet han podido crear servicios y productos en esa Red Neutral sin necesidad de autorizaciones ni acuerdos previos, dando lugar a una barrera de entrada prácticamente inexistente que ha permitido la explosión creativa, de innovación y de servicios que define el estado de la red actual.
  3. Que todos los usuarios, emprendedores y empresas de Internet han podido definir y ofrecer sus servicios en condiciones de igualdad llevando el concepto de la libre competencia hasta extremos nunca antes conocidos.
  4. Que Internet es el vehículo de libre expresión, libre información y desarrollo social más importante con el que cuentan ciudadanos y empresas. Su naturaleza no debe ser puesta en riesgo bajo ningún concepto.
  5. Que para posibilitar esa Red Neutral las operadoras deben transportar paquetes de datos de manera neutral sin erigirse en “aduaneros” del tráfico y sin favorecer o perjudicar a unos contenidos por encima de otros.
  6. Que la gestión del tráfico en situaciones puntuales y excepcionales de saturación de las redes debe acometerse de forma transparente, de acuerdo a criterios homogéneos de interés público y no discriminatorios ni comerciales.
  7. Que dicha restricción excepcional del tráfico por parte de las operadoras no puede convertirse en una alternativa sostenida a la inversión en redes.
  8. Que dicha Red Neutral se ve amenazada por operadoras interesadas en llegar a acuerdos comerciales por los que se privilegie o degrade el contenido según su relación comercial con la operadora.
  9. Que algunos operadores del mercado quieren “redefinir” la Red Neutral para manejarla de acuerdo con sus intereses, y esa pretensión debe ser evitada; la definición de las reglas fundamentales del funcionamiento de Internet debe basarse en el interés de quienes la usan, no de quienes la proveen.
  10. Que la respuesta ante esta amenaza para la red no puede ser la inacción: no hacer nada equivale a permitir que intereses privados puedan de facto llevar a cabo prácticas que afectan a las libertades fundamentales de los ciudadanos y la capacidad de las empresas para competir en igualdad de condiciones.
  11. Que es preciso y urgente instar al Gobierno a proteger de manera clara e inequívoca la Red Neutral, con el fin de proteger el valor de Internet de cara al desarrollo de una economía más productiva, moderna, eficiente y libre de injerencias e intromisiones indebidas. Para ello es preciso que cualquier moción que se apruebe vincule de manera indisoluble la definición de Red Neutral en el contenido de la futura ley que se promueve, y no condicione su aplicación a cuestiones que poco tienen que ver con ésta.

La Red Neutral es un concepto claro y definido en el ámbito académico, donde no suscita debate: los ciudadanos y las empresas tienen derecho a que el tráfico de datos recibido o generado no sea manipulado, tergiversado, impedido, desviado, priorizado o retrasado en función del tipo de contenido, del protocolo o aplicación utilizado, del origen o destino de la comunicación ni de cualquier otra consideración ajena a la de su propia voluntad. Ese tráfico se tratará como una comunicación privada y exclusivamente bajo mandato judicial podrá ser espiado, trazado, archivado o analizado en su contenido, como correspondencia privada que es en realidad.

Europa, y España en particular, se encuentran en medio de una crisis económica tan importante que obligará al cambio radical de su modelo productivo, y a un mejor aprovechamiento de la creatividad de sus ciudadanos. La Red Neutral es crucial a la hora de preservar un ecosistema que favorezca la competencia e innovación para la creación de los innumerables productos y servicios que quedan por inventar y descubrir. La capacidad de trabajar en red, de manera colaborativa, y en mercados conectados, afectará a todos los sectores y todas las empresas de nuestro país, lo que convierte a Internet en un factor clave actual y futuro en nuestro desarrollo económico y social, determinando en gran medida el nivel de competitividad del país. De ahí nuestra profunda preocupación por la preservación de la Red Neutral. Por eso instamos con urgencia al Gobierno español a ser proactivo en el contexto europeo y a legislar de manera clara e inequívoca en ese sentido.

Preparando cambios

Así como suena. No es que vaya a escribir más en el blog, que es verdad que lo tengo algo abandonado, sino que estoy preparando un nuevo diseño del mismo. Cuando tenga completado el nuevo diseño lo publicaré para que lo pueda usar todo el mundo. Eso sí, hay que utilizar WordPress para poder utilizarlo.

Aunque claro este no es el único cambio y probablemente sea el menos importante porque aparte de lo anterior estoy decidido a terminar ya con el PFC. Por unas cuestiones o por otras no lo he terminado. La verdad es que pensándolo mucho es porque me quemé mucho durante la carrera (concretamente el segundo cuatrimestre de 4º) y esto hizo que me plantease de otro modo mi tiempo… ¡para peor!

La cosa es que me he ido ocupando mi tiempo con trabajo y me esto me ha hecho retrasar el tiempo que le dedico a cosas más importantes, como el PFC. Así que espero poder avanzar rápido y presentarlo pronto. El siguiente paso será el máster.

Servicios técnicos

Esta entrada la tenía pendiente desde ya hace algún tiempo.

A mediados/finales de septiembre, tras una semana preparando el ordenador para un trabajo (instalación de herramientas, pruebas de las mismas, etc.) se estropeó. Concretamente se estropeó la tarjeta gráfica. Para más señas el ordenador es un MacBook Pro de principios de 2008.

El fallo está reconocido por Apple y parece que el culpable es un mal proceso al realizar la soldadura del chio gráfico. Por suerte es un fallo reconocido y lo cubre una garantía extendida de Apple.

Lo malo es que he pasado un mes sin ordenador (realmente más de un mes) porque Apple no permite manipular sus máquinas a terceros, así que todas deben pasar por su servicio técnico y éste debe andar algo saturado. Esto en sí mismo no es un problema, pero si llamaran de vez en cuando para informar del estado de la incidencia en lugar de que tengas que perseguirles para saber qué le pasa al ordenador no estaría mal.

Ya por último, decir que tuve que llevar el ordenador dos veces al servicio técnico porque al parecer al cambiar la placa no debieron poner unos cables bien (no me dieron muchos detalles, así que poco más puedo decir al respecto) y al primer día ya dejó de funcionar de nuevo sin posibilidad de encender.

Por la primera vez que llevé el ordenador a arreglar fueron 3 semanas y algo de espera y por la segunda vez sólo 2. Sinceramente esperaba un servicio un poco más rápido.

Para terminar me gustaría agradecer a la gente de Clínica Micro el aguantarme y hacer de intermediarios con el servicio de Apple para poder enterarme de qué le pasaba a mi ordenador.

P.D.: Si tan saturado está el servicio técnico de Apple es que algo malo le debe estar pasando a su hardware, creo yo.

Sobre la Banda Ancha

Estos días estoy estudiando con mi padre la posibilidad de cambiar el contrato de ADSL que tenemos en casa y andamos viendo las distintas posibilidades que tenemos a nuestro alcance. Nuestros principales requisitos es que sea un paquete completo de teléfono + internet + televisión ya que queremos sustituir también a Digital +.

De momento hemos mirado dos compañías: Telefónica y Ono. La primera nos ofrece sólo hasta 6Mb y la segunda no da servicio a mi calle. Y aquí es a donde quería yo ir a parar. Todas las calles al rededor de donde yo vivo disponen de servicio con Ono. Vivo en una de las calles más céntricas de la población y es la única que no tiene acceso a opciones de una banda ancha algo más ancha que el resto (podríamos llamarlas banda anchas estrechas). Me pregunto cómo puede ser esto :-/

Hemos visto que Jazztel nos ofrece hasta 20Mb, pero no tiene servicio de televisión…

A parte de esto, y también relacionado con la banda ancha, se ha publicado un estudio de Cisco (yo lo he visto gracias a bandaancha). Me pregunto hasta qué punto se puede conseguir que internet de un buen servicio sin subir más la velocidad de subida. Digo esto porque cada vez más se está convirtiendo internet en un sistema de compartir fotografías, vídeo, etc. y antes de bajar algo primero hay que subirlo.