29.12.04

Felicitación al mayor genio de la informática.

No quiero dejar pasar la ocasión de, en estas fiestas navideñas, felicitar al mayor genio de la informática de toda la historia, un visionario, un profeta adelantado a su tiempo, sin el cual esta ciencia y arte a la vez probablemente no existiría. No me refiero a Bill Gates, ni a Alan Turing, nia Dennis Ritchie, ni a Linus Torvarld, ni tampoco a Von Newman. Hablo del hombre que debe ser por méritos propios patrono de los informáticos (por encima de santa Tecla), el cual se merece todos los parabienes y homenajes, el hombre que tendría que tener una escultura en todas las escuelas de informática del mundo, el hombre que ha conseguido que en todas las casa y oficina hay un ordenador, y a veces, hasta más de uno, el hombre sin el cual no existiría Internet ni el 99% de los programas existentes en la actualidad..

Feliz navidad y próspero año nuevo para el hombre que inventó el copy&paste.

22.12.04

DumpTable

Saludos.

Actualmente estoy realizando un trabajo sobre herramientas de álgebra relacional, por lo que he tenido la necesidad de disponer de una herramienta que me permitiera volcar el contenido de una tabla de una base de datos en un archivo de texto que siguiera un formato concreto. Por ejemplo, a partir de una tabla, crear un archivo de texto con sentencias INSERT para cada registro de la tabla.

Por ese motivo he creado una sencilla herramienta llamada DumpTable que está a disposición de quien la quiera en la página de proyectos JavaHispano.net (http://javahispano.net/projects/dumptable/).

Para algunos alumnos de facultades que tienen que sufrir la herramienta WinRDBI en prácticas, puede resultarles de ayuda ya que pueden generar bases de datos para esta herramienta a partir de una tabla de una base de datos con lo cual se ahorran tener que pelearse con la incómoda interfaz de usuario y tener que introducir los registros a mano.

También incluyo documentación sobre su diseño, principalmente diagramas UML, por lo que puede ser interesante como ejemplo pedagógico (a imitar o a evitar, eso lo dejo a consideración de quien lo vea).

15.12.04

Proyectos open-source en Rediris y Knoppix.

Saludos.

En el servidor sunsite de rediris (http://sunsite.rediris.es/) se pueden encontrar gran cantidad de mirrors actualizados de muchos proyectos open-source interesantes (entre ellos varias distribuciones de Linux). Aparte de la ventaja de tenerlos todos en el mismo sitio, las velocidades de descarga de los archivos son bastante interesantes.

En cocnreto, en la carpeta de Knoppix (http://sunsite.rediris.es/mirror/knoppix/), he encontrado (además de las distribuciones), algunas utilidades interesantes y una lista con todos los paquetes que Knoppix incorpora, y la verdad es que me he llevado más de una grata sorpresa (por ejemplo, Knoppix es LAMP). Espero ir escribiendo más mensajes próximamente hablando de Knoppix y sus posibilidades.

12.12.04

Insertar un registro en MySQL con Java.

Saludos.

Hace poco un alumno me comentó como podía insertar un registro en una base de datos en MySQL. Por si a alguien le resulta de utilidad, copio a continuación el código que le envié de ejemplo:

Lo primero que se necesita (además de tener NySQL instalado y en ejecución), es un driver JDBC, por ejemplo MySQL Connector que se puede descargar de la página de MySQL (www.mysql.com). Junto con el driver se distribuye también documentación y archivos de ejemplo.

A continuación se incluye el código fuente de una clase más sencilla que las que acompañan al driver y que muestra como insertar un registro. Para que dicha clase funcione es necesario que el JAR (por ejemplo "mysql-connector-java-3.0.16-ga-bin.jar") se encuentre en el CLASSPATH.


import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import java.util.Properties;

public class InsertarRegistro {

protected Connection conn = null;
protected Statement stmt = null;


/**
* Conecta con la base de datos 'cliente' de un servidor
* MySQL local.
*/
public void conectar() throws Exception {
Class.forName("com.mysql.jdbc.Driver").newInstance();
this.conn = DriverManager.getConnection("jdbc:mysql:///Clientes");
this.stmt = conn.createStatement();
}

/**
* @throws Exception DOCUMENT ME!
*/
public void desconectar() throws Exception {
if (this.stmt != null) {
try {
this.stmt.close();
} catch (SQLException SQLE) {
;
}
}
if (this.conn != null) {
try {
this.conn.close();
} catch (SQLException SQLE) {
;
}
}
}

protected void insertarUnCliente() throws SQLException {
String sql = "INSERT INTO Clientes VALUES ('', 'entidad', " +
"'actividad'," +
"'direccion', " +
"'localidad', " +
"'codigo_postal', " +
"'telefono', '', '', '');";
stmt.execute(sql);
}


public static void main(String[] args) {
InsertarRegistro ie = new InsertarRegistro();
try {
ie.conectar();
ie.insertarUnCliente();
ie.desconectar();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Ok!");
}
}

10.12.04

Java pierde popularidad.

Saludos.

La notia ya tiene algunas semanas y ya ha sido comentada en otras páginas con mucha audencia, pero no me resisto a omentarlo aquí.
Al parecer, en una web (http://www.tiobe.com/tpci.htm) se dedican a calcular la popularidad de los distintos lenguajes de programación. En principio me pare que utilizan un método muy acertado (independientemente de su eficacia o no), que es, a grandes rasgos, contar enlaces en el Google.
Lo que me llama la atención no es tanto que Java baje posiciones, aunque se queda en el segundo puesto, sino que sea desbancado por el C de toda la vida (sin clases ni objetos), inventado allá por 1974, más o menos.
También me ha llamdo la atención ver el poco tirón que ese informe le adjudica a C#, un lenguaje que yo pensaba que estaba teniendo mucho tirón de la mano de Microsoft.

Mensaje inagural

Saludos a todos.

Este blog tratará de temas d eprogramación y relacionados con la informática y, especialmente, de lenguaje Java. En este blog espero ir escribiendo mensajes útiles que rcojan las herramientas, enlaces y experiencia de mi trabajo cotidiano.

Por cierto, el tírulo es un pequeño homenaje al juego Warcraft III, en versión doblada al español.