Destapando las Vergüenzas

Uno de los mayores mitos mientras aprendes a programar es que los elementos privados son inaccesibles, y por ello seguros. Esto es aplicable sólo a lenguajes orientados a objetos con elementos privados, como java.

Así ves a una cantidad enorme de aspirantes a programador que gastan la mitad del tiempo pensando cómo hacer un código blindado frente ataques. Aunque ninguno sabe de qué ataques se defiende, o qué implicaciones tiene privatizar o publicar algo.

Sin embargo, no es más que una sensación de falsa seguridad. Tenemos herramientas en el lenguaje para acceder a estos campos. En Java, por ejemplo, tenemos la siguiente clase:


public class Secreto {
	private int miSecreto = 5;
}

Podemos acceder a ese valor así:


import java.lang.reflect.Field;

public class Ganzua {
	public static void main(String[] args) throws Exception {
		Secreto secreto = new Secreto();
		Field campo = Secreto.class.getDeclaredField("miSecreto");
		campo.setAccessible(true);
		System.out.println(campo.getName() + " = " + campo.get(secreto));
	}
}

Hoy lo he hablado Pablo, mi compañero de habitación en warp. En Python no hay nada privado, siguen el «somos todos adultos», permitiendo al programador usar algo delicado.

Tampoco creo que eso sea lo mejor. Tiene que haber cosas privadas para marcar lo que no tiene importancia en el exterior. Si no tiene importancia no es mostrado ni en la documentación, ni en los autocompletados. De esta manera agilizas la programación.

Eligiendo Cámara con Flickr: Sony vs. Nikon

Después de ver las fotos de Koke, me han entrado ganas de comprarme una cámara. Hace unos años perdí todas las fotos que tenía en mi ordenador (reinstalando windows:@), y desde entonces ya no he vuelto a hacer fotos. Ahora que dispongo de mil formas de replicar mis datos y las cámaras ofrecen calidades más que respetables, puede que sea buen momento para volverme a aficionar al flash.

Aunque me haya encaprichado de las cámaras reflex, que parece que hagan las fotos solas, voy a comprarme una compacta primero. Sé que la compacta la llevaré siempre encima.

Estoy dudando entre una «Sony Cyber-shot DSC-W90» y una «Nikon Coolpix S600». La nikon me da más confianza, pero la sony tiene una pantalla táctil enooooooooorme. Por otro lado, la nikon acepta tarjetas SD, mientras que la sony sólo acepta su formato propio stick-duo.

Como al final lo que cuenta es cómo queda la imagen, me he ido a Flickr y me he puesto a ver ejemplos de fotos hechos con cada cámara. ¿Qué opináis Sony o Nikon?

QR-Code

Hola! Hoy, en el primer aniversario de mi blog, os voy a hablar de los QR-Codes (Es) (En).

QR-Code Triángulo de las merluzas

Son como códigos de barras, pero en dos dimensiones. En ellos se puede codificar información como números, SMS, Direcciones a páginas web, o información personal. En concreto el de arriba contiene la dirección del triángulo de las merluzas.

Se leen con un programa del móvil que les saca una foto y los traduce.

Estos códigos se pueden usar para muchas cosas. En Japón, las hamburgesas de McDonalds llevan en el envoltorio un QR-Code que lleva a su información nutricional. También se usan en campañas publicitarias, en los carteles se ponen QR’s con la página de la promoción. En general, para cada lugar impreso donde ponemos una dirección web, podemos poner un QR-Code. Esto nos evita tener que escribir la dirección a mano.

Otros usos son, ponerlo en tu tarjeta de visita con tu información personal. Así la otra persona no tiene que copiar tu nombre y número de teléfono a mano. Puede ser útil para enviar SMS, ya que permite codificar un número de teléfono y un texto. De esa manera no tienes que enviar «alta» al 7FOO, basta con hacer una foto al QR-Code. También hay quien Inventa sus propios usos (Mola, yo quiero jugar).

En fin, esto del QR es una tecnología muy curiosa y con muchas posibilidades. La pena es que nuestras pésimas y caras conexiones móviles a internet no nos permitan sacarle todo el jugo.

PD: Los QR-Codes también se pueden usar como los códigos de barras actuales.

Ubuntu 7.10

En Breves se lanzará la nueva versión de Ubuntu, la 7.10 Gutsy Gibbon o (gibón vigoroso). Ubuntu, para que lo entiendan los profanos, es esa cosa que uso en el ordenador en vez de Windows.

Las distribuciones de linux, como ubuntu, suelen tener varias peculiaridades. No sólo en la forma de instalar los programas, o guardar las configuraciones. Por ejemplo los nombres de las versiones de Debian son los personajes de Toy Story. En Ubuntu, el número de la versión corresponde al año y al mes. Este mes es octubre (10) de 2007, pues esta version es la 7.10. También se usa un nombre en clave (gutsy gibbon), que es el nombre de un animal y un adjetivo; ambos comienzan por la misma letra. Desde la version Breezy Badger (Tejón ventoso), los nombres han ido en orden alfabético: Dapper Drake, Feisty Fawn, Gutsy Gibbon.

Este post viene a raíz de un post que ha escrito eckelon en su blog. Ya que fui yo el que le presenté a ubuntu, quiere que explique cómo empecé a usarlo.

Mi primer contacto con linux fue en mi primer año de carrera. le pedí una fedora 1 a un amigo de Grulla (el grupo de usuarios de linux de la universidad de la almunia). A parte de que fedora no me acababa de convencer, mi ordenador se conectaba a internet por modem.

Después de estar unas semanas intentando hacer funcionar el modem, desistí y lo borré. Linux sin internet pierde mucho :D.

Al año siguiente ya habíamos contratado ADSL en casa y tenía acceso por wifi (por lo menos tenía drivers para linux :D). Así que pensé volverlo a intentar con Linux.

En la universidad todo el mundo hablaba de Ubuntu, que si ubuntu para aquí, que si ubuntu para allá, que si ubuntu en los foros… Los de Grulla pidieron mogollón de cedes de ubuntu y los repartieron por la universidad.

Así que por eso empecé a usar Ubuntu y no otra distribución, porque fue la que me cayó en la mano en el momento en el que de verdad quería usar Linux.

A los dos o tres meses ya no es sólo que estuviera a gusto con Ubuntu, sino que borré el windows. Otro mes después me aburría que mi ordenador no me diera fallos y por eso empecé a usar las versiones en desarrollo.

Desde aquella Warty Warthog han pasado ya 7 versiones de Ubuntu por mi ordenador, y ahora que gutsy es estable… Habrá que probar Hardy Heron ;).

Guerra del Software Libre

Hago una parada en mis vacaciones, después de volver de gibraltar y antes de irme a cenar por ahí, para escribir un mini-post.

Hace tiempo que llevo diciendo que la próxima gran guerra ya se está librando. Las armas no son ni metralletas ni tanques, sino teclados y cables de fibra óptica.

Parte de la historia de esta guerra está contada en el siguiente artículo:

http://etsiit.ugr.es/alumnos/mu01/guerraSoftware.html

Disfrútenlo.

PD: Creo recordar que el artículo original que leí era más caxondo. Si alguno encuentra otras versiones, avisadme.