4.12.09

Solo sumarme a cierta iniciativa

Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de Internet manifestamos nuestra firme oposición al proyecto, y declaramos que:

  1. Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.
  2. La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.
  3. La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.
  4. La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.
  5. Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.
  6. Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.
  7. Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.
  8. Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.
  9. Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.
  10. En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.

24.3.09

Tempest

Hace mucho mucho tiempo leí el criptonomicon donde se habla entre otras muchas muchas cosas de Phracking van Eck, una técnica que se basa en usar las ondas electromagnéticas que emanan de un monitor para capturar la información que se esta mostrando, esto parece un poco guerra de las galaxias pero ... funciona.

A todo este tipo de tecnología rara le llaman a modo genérico Tempest, y funciona mejor de lo que cabria pensar, el señor van Eck escribió sus cosas en 1985 y lo que se ve en el vídeo esta al alcance general, se muestran cosas bastante caras etc pero lo que se maneja en gobiernos, espionaje etc tiene que ser flipante.




Enlaces curiosos para frikear un rato
Tempest Wikipedia
Van Eck Phreacking

15.3.09

Buena documentacion

When you feel compelled to add a comment, consider rewriting the code to make it clearer.

Si te sientes obligado a añadir un comentario considera reescribir el codigo para hacerlo mas claro.

(visto en la documentacion de Java ... cuanta razon tienen)

8.3.09

libreria de cadenas de C (II)

strcmp: devuelve 0 si las dos cadenas son iguales, un numero menor que 0 si la segunda es "mayor" que la primera y mayor que cero si la primera es "mayor" que la segunda.

int
strcmp(char *s1, char *s2)
{
unsigned c1, c2;

for(;;) {
c1 = *s1++;
c2 = *s2++;
if(c1 != c2) {
if(c1 > c2)
return 1;
return -1;
}
if(c1 == 0)
return 0;
}
}

Lo interesante del código es que casi no necesita explicación, y seria bastante difícil hacerlo de una forma mejor o mas corta, solo si c1 es igual a c2 se pasará al segundo if, si además c1==0 también c2==0, es decir que las dos cadenas han terminado y son iguales.

Una curiosidad es que se suele poner el tipo que devuelve la función en una linea separada y así poder buscar mas fácilmente con grep.

La libreria de cadenas cd C (I)

Cuando aprendí a programar siempre me pedian que escribiera funciones de prueba que, compararan cadenas, copiaran cadenas etc. y siempre me pregunté como lo harian los que de verdad sabian o mejor dicho como lo harian las librerias del sistema.

Ultimamente me he estado pegando con plan9 y he visto el codigo de varias funciones de cadenas del sistema, asi que ahi va una explicación rapida.

strchr: devuelve un puntero a la primera posicion de ch si este está en s1, o NULL si no está.

char*
strchr(char *s, int c)
{
char c0 = c;
char c1;

if(c == 0){
while(*s++)
;
return s-1;
}

while(c1 = *s++)
if(c1 == c0)
return s-1;
return 0;
}
Lo primero es que si el carácter que estamos buscando es el carácter 0, esto es NULL (en C se pone un NULL al final de cada cadena) entonces lo único que hacemos es avanzar el puntero de la cadena hasta encontrar ese NULL.

Como se usa un post incremento s++, hay que devolver s-1 ya que s era NULL y además le hemos avanzado una posición mas.

En caso contrario se va avanzando el puntero de la cadena y a la vez asignándoselo a una variable que se compara con el carácter pedido, si aun así no se ha encontrado se devuelve NULL (0).

Éste código ha salido de plan9