martes, diciembre 22, 2009

Tomcat no enciende.. error jvm.dll o Procrun

Bueno... hay veces que uno instala Tomcat.. y este no enciende.. este error se me ha aparecido... varias veces que he instalado un servidor windows (maldito windows!!)... pero siempre olvido apuntarlo.. y debo volver a buscar como corregirlo.. :-P.. y es que aun que se ve fácil... pero soy algo olvidadizo...

En fin.. lo unico que deben hacer es descargar el archivo msvcr71

Copiarlo en system32 dentro de tu windows_home... y ya.. a correr Tomcat... me imagino que Tomcat no incluye esta dependencias dentro de las descarga.. por cuestión de licencias..




jueves, diciembre 10, 2009

Google Chrome sobre Gentoo Linux 64... con flash!!!

Pues... ya hace tiempo que no escribía.. pero pues.. que mas da... asi esto de las gelatinas...



Hoy les enseñare como instalar Google Chrome en Gentoo amd64.. aunque funcionaria en teoria para x86 tambien...

Primero que nada... debo decir que esto solo funciona si ya han pasado su peregrinar hacia Gnome 2.28 y Firefox 3.5... con peregrinar me refieron... a la actualizacion del GCC, nss,nspr y pulseauido... si no han hecho esto.. es probable que no funcione.. por que Chrome usa todo esto...

Primero que nada descargamos el famoso deb de prueba.. en su sabor Debian/Ubuntu

http://www.google.com/chrome?hl=es

Ya descargado.. nos procedemos a entrar al .deb pueden hacerlo desde el file-roller (la aplicacion para descomprimir de Gnome, solo basta hacer doble click) o con dpkg.. etc... etc...

file-roller google-chrome-beta_current_amd64.deb

dpkg -X google-chrome-beta_current_amd64.deb .

Una vez ahi.. nos interesa el archivo data.tar.lzma... de nuevo tenemos al file-roller.. haciendo doble click sobre el.. y a tar con

tar xf data.tar.lzma

Bien... ahora tenemos la ruta opt/google/ que hay que mover en /opt/google

$ mv opt/google /opt/

una vez ahi.. entramos a /opt/google/chrome/ y establecemos permisos

$ chown root *
$ chgrp root *
$ chmod 755 google-chrome
$ chmod 755 chrome
$ chmod 4755 chrome-sandbox

Chrome.. utiliza la ruta de Debian/Ubuntu para las librerias nss y nspr... asi que hay que hacer enlaces para que las encuentre... donde el cree que estan..

$ ln -s /usr/lib/nss/libnss3.so /usr/lib/libnss3.so.1d
$ ln -s /usr/lib/nss/libnssutil3.so.12 /usr/lib/libnssutil3.so.1d
$ ln -s /usr/lib/nss/libsmime3.so.12 /usr/lib/libsmime3.so.1d
$ ln -s /usr/lib/nss/libssl3.so.12 /usr/lib/libssl3.so.1d
$ ln -s /usr/lib/nspr/libplds4.so/usr/lib/libplds4.so.0d
$ ln -s /usr/lib/nspr/libplc4.so /usr/lib/libplc4.so.0d
$ ln -s /usr/lib/nspr/libnspr4.so /usr/lib/libnspr4.so.0d

Bien.. ya tenemos instalado google-chrome copiamos el lanzador...

$ cp usr/bin/google-chrome /usr/bin/

Y ahora copiamos los plugins de flash.. java.. etc..

Entramos a nuestro directorio..

cd /home/usuario/.mozilla/plugins/

y creamos los enlaces..

Para flash
ln -s /opt/netscape/plugins/libflashplayer.so libflashplayer.so

Para java
ln -s /usr/share/java-config-2/nsplugin/sun-jdk-1.6-javaplugin.so IcedTeaPlugin.so

Para Moonlight
ln -s /usr/lib64/moon/plugin/libmoonloader.so libmoonloader.so

Para los de Quicktime.. video.. etc.. etc..

cp /usr/lib/mozilla-firefox/plugins/librhythmbox-itms-detection-plugin.* ./
cp /usr/lib/mozilla-firefox/plugins/libtotem-* ./

Y.. listo.. ya solo falta arrancar google chrome.. y probar un video!!! funcionan algunas extensiones, los temas.. y eso si.. corre mas rápido que Firefox.. a mi parecer..

domingo, junio 21, 2009

Dos botones con evento




import javax.swing.*;

import java.awt.*;

import java.awt.event.*;



public class MiVentana extends JFrame {



    JLabel etiqueta;

    JButton boton;

    JButton boton2;

    JTextField caja;

    Papel papel;



    public MiVentana() {

        setTitle("ventanitita");

        setSize(300, 200);

        iniciarComponentes();

    }



    public void iniciarComponentes() {

        getContentPane().setLayout(null);

        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        etiqueta = new JLabel();

        boton = new JButton();

        boton2 = new JButton();

        caja = new JTextField();

        papel = new Papel();

        papel.setTF(caja);



        etiqueta.setText("Mete un #");

        etiqueta.setFont(new Font("Arial", Font.BOLD, 12));

        getContentPane().add(etiqueta);

        etiqueta.setBounds(20, 20, 100, 20);



        boton.setText("Validar");

        boton2.setText("Mostrar imagen");

        boton.setToolTipText("has click");

        getContentPane().add(boton);

        getContentPane().add(boton2);

        boton.setBounds(20, 120, 100, 20);

        boton2.setBounds(20, 140, 100, 20);

        getContentPane().add(caja);

        caja.setBounds(20, 60, 100, 20);



        boton.addActionListener(

                new ActionListener() {



                    public void actionPerformed(ActionEvent evt) {

                        codigoBoton1(evt);



                    }

                });

        boton2.addActionListener(

                new ActionListener() {



                    public void actionPerformed(ActionEvent evt) {

                        codigoBoton2(evt);

                    }

                });

    }



    public void codigoBoton1(ActionEvent ev) {

        String cad = caja.getText();

        boolean pasa = true;

        for (int i = 0; i < cad.length(); i++) {

            if (!Character. isDigit(cad. charAt( i)) ) {

                pasa = false;

            }

        }

                



        if (pasa) {

            float valor = Float.parseFloat( caja. getText() );

            etiqueta.setText("resultado de " + valor * 10);

        } else {

            etiqueta.setText("ingresa dato validos");

        }



    }

    public void codigoBoton2(ActionEvent ev) {

        getContentPane().add(papel);



        papel.setBounds(120, 60, 100, 100);

    }

    public static void main(String args[]) {

        new MiVentana().setVisible(true);

    }

}



class Papel extends Canvas {



    JTextField tf;



    public void setTF(JTextField tf) {

        this.tf = tf;

    }



    public void paint(Graphics g) {



        g.setColor(Color.yellow);



        g.drawOval(40, 40, 20, 20);

        g.drawOval(45, 40, 10, 20);

        g.drawOval(40, 45, 20, 10);



        g.drawRect(0, 0, 99, 99);



    }

}

jueves, febrero 26, 2009

Desinstalar Substance en Netbeans 6.5



Substance es un look & feel para las aplicaciones java... realmente son muy buenos.. pero te hacen cambiar el estilo de programacion para que todo componente swing se cree en un SwingUtilities.invoke() o en un invokeAndWait()... o dentro de un evento... (asi es como deberia hacerse.. pero siempre hago caso omiso de esas cosas...)


En fin... hay un plugin para netbeans... para cambiar la apariencia.. sin embargo.. perdio mantenimiento... por un corto tiempo.. por lo que no es compatible.. al 100% con la version 6.5..


https://substance-netbeans.dev.java.net/

Sin embargo no funciona... a veces hasta traba el netbeans... por lo que intente desactivarlo... y pues.. no se puede... jeje... traba el sistema de paquetes.. y no deja instalar cosas nuevas.. ni desinstalarlas... ademas de trabar el diseñador de mildets..

En fin.. lo tuve que deshabilitar a la antigua.. me voy a..

~/.netbeans/6.5/config/Modules/org-jvnet-substance-netbeans.xml

Y cambiamos la linea

  1. <param name="enabled">true</param>



a..

  1. <param name="enabled">false</param>



Reiniciamos Netbeans.. y listo... ya no hay mas problemas raros con substance...

domingo, febrero 15, 2009

REALTECK FALSA!!!! RTL8139

Bueno hoy me pidieron arreglar una computadora... al sujeto este... le dijeron..

"Es que para se conecte a internet necesita una tarjeta de red..." ... y pues la compro... siendo que su maquina ya tenia una... jeje en fin... una persona me pidio una tarjeta de red... por que en su maquina pues efectivamente no tenia.. asi que... le vendi la otra... obviamente diciendole al primer sujeto.. que el no la necesitaba.. (aun seguia argumentando que si... aun despues que le enseñe el otro slot...)

La bronca fue que el driver.. no lo tenia.. lo mas facil.. era sacar los drivers del WINDOWS/inf.. pero esa maquina ni siquiera tenia instalado el driver.. entonces... revise en internet... y en el poderoso EVEREST.. y dije.. ah!!! tarjeta de real.. que bien!!... el driver... no funcionaba.. extraño..

El id del hardware es

PCI\VEN_1904&DEV_8139&SUBSYS_00000000&REV_01\3&267A616A&0&40

1904.... ese no es de Realtek.... entonces??? pues navegando por internet.. encontre la pagina de un sujeto.. que lo descubrio... tuvo que pagar una membresia en driverguide.. y poder asi.. bajar su driver...

http://elt0n.wordpress.com/2006/09/24/realtek-8139d-falsa/

Encontraran el driver hasta abajo...