Archivos del sitio
Solución al cambio de monitor en Ubuntu 6.10
Acabo de comprobar que Google no lo sabe todo. Uno de los fallos más habituales de Ubuntu 6.10 es cambiar el monitor respecto al usado en el proceso de instalación. Como el XServer fue configurado para el otro monitor el rango de resoluciones y frecuencias no coincide y el invento casca.
Una primera solución es editar a mano el fichero /etc/X11/xorg.conf y limitar las resoluciones y Hz. Mala solución. Ubuntu cree que todos los rangos de frecuencia son aptos a todas las resoluciones, con lo cuál tienes que limitar la frecuencia a la resolución más alta:
Section "Monitor"
Identifier "AOC"
Option "DPMS"
HorizSync 30-96
VertRefresh 50-60 <--- Refresco limitado a la resolución más alta
EndSection
Si buscamos en google siempre dan la misma solución: reconfigurar xserver con sudo dpkg-reconfigure xserver-xorg. Esto es matar moscas a cañonazos, pues el Xserver está bien, es solo el monitor.
¿Solución entonces? Dejar que el monitor ponga los modos, no Linux, y como me recomendó mi hermano vamos a imitar a Windows. Toca el xorg.conf comentando (o borrando) la configuración manual del monitor, tal que:
Section "Monitor"
Identifier "AOC"
Option "DPMS"
# HorizSync 30-96
# VertRefresh 50-60
EndSection
De este modo delegamos en el monitor la responsabilidad de establecer los modos, que los enviará al ordenador mediante DPMS. Windows usa este procedimiento hace siglos, Ubuntu alguna vez lo descubrirá, o descubrirá que no es necesario sobreescribir manualmente la configuración DPMS porque quién mejor que el propio monitor para decirnos lo que puede y no puede hacer.
Configuración de un entorno completo de programación en 5 minutos
Os dejo una pequeña guía para la instalación de un entorno de desarrollo completo en Linux(Ubuntu 6.10).
Instalación de Postgres
- Instalamos el servicio
sudo apt-get install postgresql-8.1
- Cambiamos el password por defecto del usuario postgres
sudo su postgres -c “psql template1″
ALTER USER postgres WITH PASSWORD ‘postgres’;
- Instalamos un cliente gráfico
sudo apt-get install pgadmin3
Con esto ya estamos listos para utilizar postgresql.
Instalación de java
sudo apt-get install sun-java6-jdk
Instalación de Eclipse
sudo apt-get install eclipse
Una vez instalado, es recomendable configurarlo para que utilice mas memoria.
sudo gedit /usr/bin/eclipse
Modificamos la variable VMARGS para amentar la memoria
VMARGS=”-Xms740m -Xmx1256m -XX:MaxPermSize=128M”
Instalación de los plugins WebTools, Subeclipse y Maven para Eclipse
Ejecutamos eclipse (menu Applications/Programming/Eclipse)
Desde el menu “Help/Software Updates/Find and Install” seleccionamos “Search for new features to install” y de los muchos sitios de actualización desponibles, seleccionamos “Callipsto Discovery Site” y añadimos los siguientes sites:
http://subclipse.tigris.org/update_1.2.x ( Para la integración con Subversión)
http://m2eclipse.codehaus.org/ (Para la integración con Maven, yo prefiero la consola, pero es cuestión de gustos)
pulsamos Finish. Una vez hecho esto, seleccionamos los componentes WebTools, Subversion , Maven y listo.
Instalación de Tomcat
sudo apt-get install tomcat5.5
Instalación de Maven
Para su instalación en primer lugar necesitamos descargarlo de http://maven.apache.org ( y seguimos las instrucciones de instalación). Una vez descargado procedemos a configurar las variables de entorno.
En Linux/Mac:
sudo gedit /etc/profile
#Variables MAVEN
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
export M2_HOME=/home/borrego/java/maven
export PATH=$M2_HOME/bin:$PATH
Instalación de netbeans
Si optamos por la última versión de NetBeans, la instalación es trivial ya que se basa en Java Web Start.
Abrimos la página http://nbi.netbeans.org/m11/download.html y pulsamos en Lauch.
Con un poco de suerte y si la conexión a internet es rápida, en 5 minutos tendremos el sistema preparado.
Comunicación anónima por internet
Un amigo que reside en China, país que controla toda la red, me contó recientemente que ha encontrado un buen método para saltarse al gran hermano chino.
Usa Tor, un sistema para navegar de forma anónima por internet, y de esta forma poder evitar la sinrazón china de censurar ciertos contenidos. También es útil para saltar los “analytics” que aprenden? de tus búsquedas.
Para más información sobre Tor, visitad su web: http://tor.eff.org/
Yo mismo he sufrido esta censura en cosas tan ridículas como no poder ver mi propio blog que escribí cuando estuve en el
T T- Í Í- BB -EE -TT (y lo pongo así para que no censuren este blog….faltaría má
Usando Hibernate 3.0: Delete ValueObject Where …
No todas las implementaciones de persistencia JPA soportan usando EJBQL, el uso UPDATE y DELETE con clausula WHERE, pero Hibernate si es una de ellas. Si bien, recientemente nos llevamos una desagradable sorpresa al comprobar que Hibernate no soportaba la clausula LIMIT, no podemos si no congratularnos de que sinembargo si que dispongamos de esta otra funcionalidad implementada.
A continuacion va un pequeño ejemplo de uso de DELETE con WHERE en lugar de por Id:
String ejbql = "DELETE "+ fooPersistentVOClass.getSimpleName() + " WHERE "+where;
manager.getTransaction().begin();
deletedEntities= manager.createQuery(ejbql).executeUpdate();
manager.getTransaction().commit();
Ojo que executeUpdate() no devuelve necesariamente el numero de columnas borradas en la operacion, devuelve el numero de entidades eliminadas.
Mas informacion en:
http://www.hibernate.org/hib_docs/entitymanager/reference/en/html/batch.html
Tetris 1D
Toda la magia del mitico Tetris condensada en una dimension.
http://www.tetris1d.org/
Maven 2.0.5( Nueva versión en la calle)
Acaba de salir la última versión de Maven, la 2.0.5. Y por lo que he podido ya comprobar, además de la lista de features oficial, soluciona muchos de los problemas que estábamos teniendo ahora.
Os recomiendo que os actualicéis lo antes posible, http://maven.apache.org/download.html, es una instalación limpia y sin efecto secundarios, lo ideal es que en el plazo de 10 días todos estemos ya actualizados.
Como notas a destacar, ya no es necesario que indiquemos la versión snapshot del plugin de integración con Eclipse( <version>2.3-SNAPSHOT</version>), ahora nos bastara con indicar:
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<wtpversion>1.5</wtpversion>
</configuration>
</plugin>
Además, sera mucho mas sencillo utilizar el repositorio Maven interno de la empresa ya que ahora soporta Single Repository de una forma mas sencilla.
Parece que poco a poco Maven va ganando en estabilidad, confirmando que aunque al principio era reticente al cambio, he tenido que aceptar que Maven ya ha dejado de ser solo una gran idea en la incubadora( estoy pensando en las versiones anteriores 1.x y 2.0.0) para convertirse en una opción madura.
Ya no tengo dudas,fue un acierto la migración de toda la empresa a la metodología Maven.
Programar es como el Sexo
Porque…
- Puedes hacerlo por dinero o por diversión.
- No se enseña lo suficiente en la escuela pública.
- Todos los que lo hicieron hacen bromas de los que no.
- Si una sola cosa pequeña sale mal puede arruinarlo todo.
- Algunas veces es divertido hacerlo usando juguetes caros.
- No es un buen tema de conversación durante las comidas.
- Un error y tienes que darle soporte por el resto de tu vida.
- Una vez que comenzaste, sólo te detienes cuando estas exhausto.
- Todos actúan como si fueran los primeros en descubrir una nueva técnica.
- Se necesita de otra persona experimentada para realmente apreciar lo que estás haciendo.
- Algunas personas son buenas haciéndolo por naturaleza.
- Pero otras personas no se dan cuentan cuán malas son, y tu perderías el tiempo tratándo de explicárselo.
Artículo original Programar es como el Sexo.
Traducir Firefox y Thunderbird en Ubuntu 6.10
Si acabas de instalar Ubuntu 6.10 lo más probable es que estos 2 programas los tengas en inglés. Para resolverlo pon desde consola de comandos:
sudo aptitude install mozilla-firefox-locale-es-es
sudo aptitude install thunderbird-locale-es-es
Y ale, a disfrutar en la lengua de Cervantes. No he probado con Synaptic o Apt pero debe funcionar igual.
Triggers PostgreSQL
Me pidieron hace unos días una solución a inserciones en Base de datos, de tal manera que algunos valores que cumplieran ciertas características, se vieran modificados justo antes de almacenarse. Concretamente se trata de hacer que determinados campos de cada tabla se insertaran automáticamente en mayúsculas, teniendo ya toda la lógica de acceso e inserciones en la BD creada.
La solución es bien sencilla. Todos pensamos en un trigger, pero … ¿en postgreSQL?. Sí no hay ningún problema.
Imaginemos que tenemos una tabla PERSONA que tiene entre otros los campos NOMBRE, APELLIDOS, FECHA DE NACIMIENTO y queremos simplemente cambiar el nombre y apellidos de la persona a mayúsculas antes de cada inserción. Pues lo único que tendriamos que crearnos es un TRIGGER que se ejecute antes de cada ÍNSERT o UPDATE y que ejecute una función que cambie a mayúsculas los campos requeridos, es decir:
CREATE OR REPLACE FUNCTION UPPER_PERSONA() RETURNS trigger AS '
BEGIN
NEW.nombre := upper(NEW.nombre);
NEW.apellidos := upper(NEW.apellidos);
RETURN new;
END
' LANGUAGE plpgsql;
CREATE TRIGGER persona BEFORE INSERT or UPDATE
ON persona FOR EACH ROW
EXECUTE PROCEDURE UPPER_PERSONA(nombre, apellido);
Instalar TOAD con wine en Ubuntu
Para todos que tienen Ubuntu instalado en su máquina (cada día somos más y más) y quieran utilizar este programa cliente de base de datos Oracle, he encontrado un artículo donde configurarlo paso a paso en vuestro sistema.
La url es: http://ubuntulife.wordpress.com/2007/02/04/instalar-toad-con-wine/
Busca esto rápido
Encuentra lo que buscas de forma sencilla usando el buscador.
Categorías
Encuentra artículos a través de sus "tags"
Archivos mensuales
Encuentra artículos según el mes en el que fueron escritos.