Archivos para marzo, 2011

La obra interminable

Publicado: marzo 21, 2011 en Humor
Etiquetas:,

Visto en Perú Fail

Anuncios

Más que frase, es un extracto de un gran artículo sobre el último derbi de Madrid, con victoria del Real Madrid (sí, otra vez) …

Florentino avala para ser presidente del Madrid, Cerezo se hizo con el Atlético sin poner una sola peseta; los socios del Real eligen a su presidente, los del Atlético no tienen ni voz ni voto; el Madrid es el club con más ingresos, el Atlético es uno de los más endeudados; el Madrid ficha a los mejores, el Atlético se descapitaliza para traspasarlos. Este Madrid juega a fútbol y corre, este Atlético corre y no juega a fútbol; el Madrid cuenta con Casillas y un grupo que le apoya, el Atlético tiene a Kun y grupo que le estorba; este Madrid tiene una plantilla de verdad, este Atlético cuenta con una de mentira; el Madrid tiene defensas que pegarían una patada a su madre con tal de ganar, este Atlético no puede ganar porque tiene a jugadores que son madres; el Madrid tiene pegada y puntería, este Atlético tiene puntería de pega; el Madrid tiene oficio, este Atlético tiene ataques de pánico; el Madrid siempre sale de situaciones embarazosas, al Atlético sólo le falta quedarse embarazado; el Madrid no puede presumir de ser segundo, este Atlético saca el confeti si entra en Europa; para el Madrid es un fracaso no ganar títulos, para este Atlético los títulos son un placebo de su dramática realidad. Como canta Alejandro Sanz, no es lo mismo.

Visto en El Hacha de Rubén Uría

P.D. Lean el blog del hacha Rubén Uría. Es de los pocos periodistas deportivos de verdad que quedan en España, y escribe como los dioses.

Con motivo de un post anterior, estuve googleando sobre como insertar un bloque de código Java en este blog, ya que dejarlo como texto plano no es una opción visualmente atractiva.

Pues bien, hay dos maneras posibles. Una es usando la etiqueta code, como si fuera una etiqueta html (dentro de los símbolos < y >), pero el resultado no es muy vistoso. Sólo cambia el tipo de letra y poco más:

package com.me;

public class Pruebas {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Apéndice de método generado automáticamente

}

}
La segunda opción me parece mucho más interesante y vistosa. La encontré en el blog hasta dónde podré llegar, que también está alojado en wordpress.com. Sólo debes encerrar tu código entre las etiquetas sourcecode y especificar el tipo de lenguaje que quieres con el atributo lang. Es decir, lo siguiente:

[sourcecode lang="tipo_lenguaje"]
[/sourcecode]

Con esto, el código Java del ejemplo se vería así:

package com.me;

public class Pruebas {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Apéndice de método generado automáticamente

	}

}

Como lo ves? Mucho mejor no?

Soy Ingeniero Electrónico pero actualmente trabajo en Informática. En este blog suelo comentar cualquier tontería que se me venga a la cabeza o vea por ahí, pero nunca he hecho una entrada de tipo técnico. Se me presentó un caso poco común en el trabajo y dado que me parece bastante útil la solución, lo comparto aquí.

En el proyecto donde estoy ahora, manejamos aplicaciones web que recuperan divera información de las bases de datos de la empresa. Al recuperarlas, por la arquitectura y lógica con la que se diseñaron las aplicaciones, se almacena cada registro en una Hashtable usando como clave el nombre del campo, y luego las junta todas en un Vector para que sea más sencillo trabajar con dichos datos. En este caso teníamos un Vector con datos como estos:

[{ COD_USUARIO="A100001", PUNT_1=9.45, PERCENT_1=0, PUNT_2=7.45, PERCENT_2=0},
 { COD_USUARIO="A100002", PUNT_1=7.89, PERCENT_1=0, PUNT_2=3,75, PERCENT_2=0},
 { COD_USUARIO="A100003", PUNT_1=3.67, PERCENT_1=0, PUNT_2=7.36, PERCENT_2=0},
 { COD_USUARIO="A100004", PUNT_1=5.54, PERCENT_1=0, PUNT_2=8.35, PERCENT_2=0},
 { COD_USUARIO="A100005", PUNT_1=6.28, PERCENT_1=0, PUNT_2=9.58, PERCENT_2=0}]

Con esta información, debíamos realizar algunos cálculos que requerían que los datos estuvieran ordenados ascendentemente en un caso, usando como referencia la columna PUNT_1, y en otro la columna PUNT_2.

Lo más sencillo es usar un ORDER BY a la hora de recuperar los datos y almacenar los resultados en dos Vectores distintos, pero las queries tardaban mucho en ejecutarse y lo mejor era acceder a la base de datos lo menos posible. Había que recuperar los datos una sóla vez y luego ordenar el Vector de acuerdo al criterio que se pidiera.

Googleando un poco, encontramos varios ejemplos que explicaban como ordenar un Vector haciendo uso del método sort de la clase Collections, pero siempre hablaban de vectores que contenían una sola columna de datos. Por ejemplo, algo así:

 [{"Uno"},
 {"Dos"},
 {"Tres"} ,
 {"Cuatro"} ]

Esto no nos servía de mucho ya que nuestro Vector cuenta con varias columnas. Entonces, encontramos un ejemplo en Developer Papercuts, que nos iluminó bastante. Haciendo uso de la interfaz Comparable, podíamos especificar el criterio de comparación entre dos elementos cualquiera, inclusive – como ya imaginarán – Hashtables.

(más…)

Leo Harlem – El alcohol

Publicado: marzo 5, 2011 en Humor, Videos
Etiquetas:, ,

Monólogo buenísimo sobre el alcohol …