jueves, 4 de agosto de 2011

A veces a uno le falta teoría...

Antes que nada, no tengo formación teórica-pura de Programación Orientada a Objetos (POO). Lo que sé lo aprendí de libros varios que apuntan a enseñar programación orientada a objetos para un cierto lenguaje. Y tampoco tengo un conocimiento de compiladores+assembler lo suficiente bueno como para no estar preguntandome ésto. El lado bueno: al menos se me ocurre pensarlo :-)

Veamos éste caso:

class PublicFoo {
public:
  int mFoo;
}

Si, justo lo que no debiese hacerse en POO. Pero suponiendo que ya instancié un objeto con ésta clase y éste tuviese un valor, podría accederlo como:

PublicFoo data = new PublicFoo();
// De alguna manera se carga un dato...
int valor = data.mFoo;

Desde el punto de vista de acceso, debería ser inmediato. Si ahora usamos:

class PrivateFoo {
public:
  int foo() { return mFoo; };
  void setFoo(int foo) { mFoo = foo; };
private:
  int mFoo
}

Para obtener el valor de foo haríamos:

PrivateFoo data = new PrivateFoo();
// De alguna manera se carga un dato...
int valor = data.foo();

Lo que puede llegar a implicar que el compilador genere código para entrar en el método foo(), haciendo mas lento el acceso al valor.

Ahora, en éste otro caso:

class PrivateInlineFoo {
public:
  inline int foo() { return mFoo; };
private:
  int mFoo
}

Un acceso quizás sea tan rápido como en el primero, ya que se me ocurre que el compilador tenga el hint del inline para mejorar el acceso.

Seguramente me estoy perdiendo *mucho* a causa de mi ignorancia. Pero les cuento a que vino todo ésto: se me ocurrió pensar que pasaría si existiese una propiedad de visivilidad que permita que cualquiera acceda al valor de la propiedad de la clase para lectura, pero sólo la clase pueda modificar dicho valor. ¿sería mas "sencillo" programar?

En fin, nada mas mostrándole al mundo mis dudas e ignorancia :-)

domingo, 3 de julio de 2011

Una mandarina en Debian

Hace unos 16 dias (tarde me vengo a avivar.. ¿será porque lo compilé de fuentes?) Clementine, el reproductor de música multiplataforma insipirado en Amarok 1.4, está disponible en Debian.

El trabajo necesario para empaquetarlo fué mucho, y por eso agradezco a Thomas Pierson por eso :-)

Sugiero que no dejen de probarlo. Sabe mejor con una mandarina en mano ;-)

La imagen fué tomada de la Wikipedia.

viernes, 1 de julio de 2011

Carta abierta al presidente de CoNEAU

Bahía Blanca/Internet, 1º de Julio de 2011

Sr. Presidente de CoNEAU:

Tengo el gusto de dirigirme a Ud. para hacerle llegar mis inquietudes con respecto al software necesario para realizar las acreditaciones en las universidades nacionales de nuestro país.

Permitame primero comentarle acerca de mi situación actual: yo fuí empleado de la Universidad Nacional del Sur hasta el 31 de Diciembre de 2011. Hace unos pocos dias unos ex compañeros de trabajo me pidieron si no podía colaborar llenando la "ficha docente". Mas allá de que no estoy obligado a hacerla debido a que no soy mas un agente de dicha universidad, soy Argentino y creo que colaborar es una de las actividades que nos engrandece como pueblo y nación.

Para tal actividad se requiere del uso de un software (lo cuál encuentro totalmente entendible). Lamentablemente dicho software sólo corre bajo el sistema operativo Windows de Microsoft. Como presidente de la comisión encargada de evaluar pares seguramente estará al tanto de que no todo el sistema académico ni privado (como es mi posición actual) usa esa plataforma. Mi caso particular es ése: yo soy usuario de GNU/Linux [0], software libre[1], legal y gratuito. Comprar una licencia de Windows, además de costoso, va contra mi libertad de saber que es lo que mi máquina está haciendo. Y usted sabe que una buena formación académica lleva a que uno pueda saber como funcionan las cosas, mucho mas aún en mi caso particular de Ingeniero Electrónico y el software que corro.


Resultado: me veo imposibilitado de ayudar a mi universidad a cumplir con vuestros requisitos.

Por supuesto, puedo entender que el desarrollo de un software tiene un costo. Pero permítame decirle que el costo de desarrollar un software multiplataforma es, hoy por hoy, el mismo que desarrollar un software atado a una sola plataforma. De hecho, si se tiene en cuenta los beneficios de realizarlo como multiplataforma, la inversión resulta ser mas redituable en términos de uso.

Aún mas, los costos de obtener una plataforma de desarrollo para dicho software se reduce a una conexión a Internet: existen bibliotecas de alto nivel y calidad sin costo alguno, como por ejemplo el caso de Qt [2], por nombrar solo una.


Finalmente, permitame ir un paso mas allá y proponerle que la implementación de dicho programa sea también software libre. Si mal no tengo entendido, la CoNEAU se trata de una evaluación de pares. Como tal, las herramientas utilizadas a tal efecto no son lo importante, sino la información que ellas manejan. La posibilidad de que los distintos pares sean capaces de evaluar y mejorar la herramienta, sin perjuicio de los datos que ella maneje, contribuye a la mejora de la misma y a la credibilidad en el sistema.

Atte.,

Lisandro Damián Nicanor Pérez Meyer
DNI 29508104

lunes, 27 de junio de 2011

Porqué parece que siempre tenemos solo dos opciones (o de como las matemáticas pueden ayudar a explicarnos la situación política actual)

Varias veces he pensado que la historia política siempre termina en votar por el partido A o por el partido B, sin siquiera poder considerar a C, porque si lo voto, obtiene pocos votos y evito que A (que realmente NO me gusta) gane. Entonces mejor voto a B.

Y acá es donde quizás alguno de ustedes quiera decirme "¡tenés que votarlo igual!". Bueno, mi idea con éste post es mostrar que hay razones matemáticas que muestran porqué estamos (al menos en parte) como estamos.

Antes de seguir, una aclaración: no estoy inventando nada. Ya lo inventó otro ;-) El contenido de lo que les quiero mostrar sale de un blog post de los tantos que ofrece CGPGrey. Pero sólo la parte audivisual, la parte teórica la pueden ver en la Wikipedia.

Otro detalle: los videos están en inglés, pero para el que le cueste, va un link a el texto de los mismos.

El primero muestra como funciona nuestro sistema de votación actual.



El texto lo pueden leer acá.

El segundo video muestra un método alternativo. Tiene muchas deficiencias (al igual que el anterior), pero una gran ventaja. Y no deja de ser sencillo de computar.



El texto lo pueden leer acá.


Por supuesto, si fuese por mí, usaría el método que se usa en Debian:  el método de votación Condorcet con el método de disminución secuencial Schwartz.

viernes, 27 de mayo de 2011

KDE SC 4.6.3 en inestable

El equipo Debian Qt/KDE hizo disponible hoy la versión 4.6.3 de KDE SC. El salto desde testing sería entonces desde KDE SC 4.4.5.

Muchas gracias a los mantenedores por su esfuerzo :-)

domingo, 1 de mayo de 2011

Qt 3 en busca de gente interesada en adoptarlo

Con KDE 3 casi ya no presente en inestable, el equipo Qt/KDE no está interesado en continuar manteniendo Qt3. Por ende, estamos buscando a gente interesada en adoptarlo.

Si te interesa que Qt 3 esté presente en Wheezy, éste es el momento de involucrarse. Por favor, leé este mail y respondé en la lista.

Y no, no es coincidencia que éste post se parezca a éste otro :-)