Link Log

Una manera de perder el tiempo…

Que comodidad…

with one comment

He estado recibiendo comentarios de que los programas que están aquí publicados no compilan, pero en realidad si compilan, el problema es que al publicarse puede que haya problemas con alguno que otro carácter, pero todo se soluciona revisando el código.

Pero si por alguna razón solo quieren copiar y pegar y que todo funcione y ser felices por siempre, no es problema del que publica los códigos aquí, supongo que los que están buscando algún programa o código esta aprendiendo, pues bien, no se aprende nada copiando y ni siquiera revisan lo que copian ni tampoco revisan los mensajes de error.

Pero bueno, seguiré publicando código, tal vez a algunas personas si les sirvan y puedan entender la manera en que lo escribí, pero si no, no es mi problema.

Written by Link X

October 18, 2009 at 11:06 pm

Posted in General

Tagged with ,

El hijo ya tiene 6 años

with one comment

Es curioso, de seguro este blog no es muy visitado por amantes de los deportes, y es que la mayoría de los temas son de programación, sistemas operativos y Linux. Pero cada ves que juegan el América vs los hijos malcriados azules, las visitas se incrementan demasiado.

Que haya mas juegos de estos dos equipos, así se incrementan mis visitas y el numero de juegos sin que le puedan ganar al América.

Y pronto cumplirá los 7 años, están invitados a la fiesta de cumpleaños, abra piñata…
Padre e Hijo

Written by Link X

August 24, 2009 at 11:50 pm

Posted in General

Firefox en Linux

with 2 comments

No soy el único que piensa que Firefox en Linux sigue siendo igual de pesado desde las versiones 2.x, que no tiene muchos cambios (por lo menos apreciables por el usuario) desde tales versiones, aunque ya vaya por la 3.5.x.

Lo que es realmente curioso, es que la versiones de Windows y Mac si hay novedades, tanto internas como visuales, se aprecia el cambio de versiones pasadas, el navegador se integra con el sistema y da un buen rendimiento para poder navegar cómodamente.

¿Pero por que en Linux no es así?, digo, yo se que los usuarios de Linux no somos el gran porcentaje que son los de Windows, pero tampoco lo usamos dos personas, además de que hay muchas compañías que usan Linux como estación de trabajo, pero aun así nos dan un producto mal hecho, o hecho sin ganas.
Por que nadie me va a negar que Firefox para Linux es muy feo, pesado y no se integra para nada a ningún escritorio, ni siquiera a Gnome, con el cual supuestamente tienen buena comunicación.

Y por mas optimizaciones que se le hagan hacen que la aplicación sea un poco menos tragona de recursos.

Los de Mozilla tal vez crean que nos hacen el gran favor por darnos el “gran” producto que ellos tienen, que debemos estar agradecidos por tener semejante aplicación gratuitamente…
Pero, ¿realmente nos tenemos que conformar con usar una aplicación echa sin ganas y solo para aumentar su uso?, ¿no hay ninguna otra aplicación que pueda sustituir a Firefox?

No se que piensen o hagan los demas usuarios, pero a mi Firefox ya me tiene hasta la madre con el uso excesivo de memoria y de procesador, por que no creo que una aplicación consuma 300mb de ram y use casi el 100% del procesador, y ni hablar de cuando la pagina visitada tiene alguna animación de flash…

Written by Link X

August 7, 2009 at 7:55 pm

Posted in Firefox, Linux

Tagged with , ,

A chingazos se arreglan las cosas

leave a comment »

Una de las peores cosas que le pueden pasar a las personas (sin contar muertes, enfermedades ni ese tipo de cosas, yo digo de cosas estúpidas con las que uno vive) es que se descomponga el control de la televisión…

Si ya se mas o menos lo que dirán (sobretodo si solo usan la computadora y no ven la tv.), y es que sin el control uno ve lo que pasan en el canal en el que se quedo por ultima vez antes de morir el querido amigo…

A mi me paso eso, estaba acostado viendo la televisión (cambiando los canales hasta dar varias vueltas por todos sin encontrar nada bueno) cuando de repente no quiso seguir funcionando, yo sabia que no eran las baterías por que son nuevas, pero de todas maneras las probé con otro aparato que tenia a la mano.
Como buen mexicano le dí unos golpesitos para ver si se componía (…), pero no quiso funcionar y paso lo que tenia que pasar… me enoje y lo tome de una esquina y lo use como palo para golpear una silla (así como lo hacen los de la migra cuando agarran a alguien cruzando a EU) salieron volando pequeños pedazos de plástico por todos lados…

Cuando me tranquilice, de curiosidad me fije si funcionaba, y si, ya funciona bien, aunque tengo que tratarlo con cuidado por que no quedo muy bien que digamos, pero ya funciona, y eso es lo importante.

P.D.: El mouse esta fallando…

Written by Link X

August 3, 2009 at 2:47 am

Posted in Jaladas, Personal

¿Que pasa con JDownloader?

leave a comment »

De ves en cuando uso JDownloader para bajar una que otra cosa de internet, sobre todo de megaupload (regularmente lo dejo en la noche, en el día megaupload no baja nada…), bueno, abrí el programa para bajar unas cosas y me lleve la “agradable” sorpresa cuando me salió con otro tipo de idioma (digo yo que es otro idioma…):

jdownloader

Cabe decir que esto solo me pasa cuando se ejecuta en Windows, nunca me ha salido en Linux.

Written by Link X

July 26, 2009 at 9:00 am

Posted in Errores, Windows

Ubuntu 9.04

leave a comment »

Ya tenia mucho tiempo sin usar una versión de Ubuntu (también sin escribir nada en el blog…), había usado un poco Kubuntu, pero esa es otra historia…

Lo que vi bien fue la velocidad de arranque, esa si avanzo mucho, ahora en menos 20 segundos ya se esta en la ventana de inicio (que por cierto también mejoraron), lo demás, sigue siendo igual, con los mismos colores horrendos de siempre.

Pero como dijo el dermatólogo, vamos al grano, el sistema no me dio muchos problemas (solo la molestia de tener aplicaciones que no escogí, deberían poner la opción de que uno escoja que es lo que quiere instalar), tuve algunos problemas con firefox y banshee, pero de ahí en adelante todo bien.

El verdadero problema fue cuando quise pasar unos datos de la memoria usb al disco duro (y viceversa), había muchos archivos pequeños (en algunos casos con solo pocos bytes), en esos momentos Ubuntu daba las nal… digo, se bloqueaba por completo, teniendo que reiniciar con el botonazo, algo que no hacia desde hacer mucho tiempo.

Pensando que seria un error como muchos otros que suceden una ves, volví a tratar de pasar esos archivos, y se volvió a congelar el sistema completamente, y así una y otra vez cada vez que quería pasar archivos pequeños al disco duro.

Cabe señalar que Ubuntu estaba sobre una partición ext4 y no he sabido de alguna noticia donde se diga que ext4 da problemas con archivos pequeños, y aunque así fuera, una distribución como pretender ser Ubuntu no puede permitir esos errores, les falto probar mas el sistema antes de liberarlo.

Así que, si eres de los que manejar archivos pequeños y quieres usar Ubuntu, haz pruebas en ext3 o mejor aun en ReiserFS y así evitarse los problemas que tuve.

Written by Link X

July 25, 2009 at 8:40 am

Reloj en Java

with 7 comments

Bueno, después de mucho mucho tiempo, aquí traigo de nuevo otro programa en Java, este programa solo es un simple reloj analógico (ya saben, esos que tienen manecillas).

Bueno, acá el reloj resultante:

Reloj en Java

Reloj en Java

Acá el código:

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;

public class RelojProyecto extends JFrame{
    public static void main(String[] args) {
        RelojProyecto app = new RelojProyecto();
        app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    Reloj Cara;

    public RelojProyecto() {
	super( "Reloj Proyecto" );
	setVisible( true );
	setResizable( false );
        Container content = this.getContentPane();
        content.setLayout(new BorderLayout());
        Cara = new Reloj();
        content.add(Cara, BorderLayout.CENTER);
        this.pack();

        Cara.start();
    }
}

class Reloj extends JPanel {

    private int horas;
    private int minutos;
    private int segundos;

    private static final int   espacio = 10;
    private static final float dosPi = (float)(2.0 * Math.PI);
    private static final float tresPi = (float)(3.0 * Math.PI);
    private static final float rad = (float)(Math.PI / 30.0);

    private int tamano;
    private int xCentro;
    private int yCentro;
    private BufferedImage muestra;
    private javax.swing.Timer t;

    public Reloj() {
        this.setPreferredSize(new Dimension(300,300));
        t = new javax.swing.Timer(1000,
              new ActionListener() {
                  public void actionPerformed(ActionEvent e) {
                      update();
                  }
              });
    }

    public void update() {
        this.repaint();
    }

    public void start() {
        t.start();
    }
    public void stop() {
        t.stop();
    }
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D)g;
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

        int ancho = getWidth();
        int alto = getHeight();
        tamano = ((ancho < alto) ? ancho : alto) - 2*espacio;
        xCentro = tamano/2 + espacio;
        yCentro = tamano/2 + espacio;

        if (muestra == null
                || muestra.getWidth() != ancho
                || muestra.getHeight() != alto) {

            muestra = (BufferedImage)(this.createImage(ancho, alto));
            Graphics2D gc = muestra.createGraphics();
            gc.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            caraReloj(gc);
        }

        Calendar now = Calendar.getInstance();
        horas   = now.get(Calendar.HOUR);
        minutos = now.get(Calendar.MINUTE);
        segundos = now.get(Calendar.SECOND); 

        g2.drawImage(muestra, null, 0, 0);

        Manecillas(g);
    }

    private void caraReloj(Graphics g) {

        g.setColor(new Color(209, 234, 255));
        g.fillOval(espacio, espacio, tamano, tamano);
        g.setColor(Color.black);
        g.drawOval(espacio, espacio, tamano, tamano);

        for (int seg = 0; seg<60; seg++) {
            int inicio;
            if (seg%5 == 0) {
                inicio = tamano/2-10;
            } else {
                inicio = tamano/2-5;
            }
            diseno(g, xCentro, yCentro, rad*seg, inicio , tamano/2);
        }
    }

        private void Manecillas(Graphics g) {
        int radioSegundero = tamano/2;
        int radioMinutero = radioSegundero * 3/4;
        int radioHora   = radioSegundero/2;

        float fsegundos = segundos;
        float anguloSegundero = tresPi - (rad * fsegundos);
        diseno(g, xCentro, yCentro, anguloSegundero, 0, radioSegundero);

        float fminutos = (float)(minutos + fsegundos/60.0);
        float anguloMinutero = tresPi - (rad * fminutos);
        diseno(g, xCentro, yCentro, anguloMinutero, 0, radioMinutero);

        float fhours = (float)(horas + fminutos/60.0);
        float anguloHora = tresPi - (5 * rad * fhours);
        diseno(g, xCentro, yCentro, anguloHora, 0, radioHora);

	Font font = new Font("Arial", Font.BOLD, 16);
	g.setFont(font);
	g.drawString( "12", 140, 40 );
	g.drawString( "1", 205, 55 );
	g.drawString( "2", 245, 100 );
	g.drawString( "3", 265, 155 );
	g.drawString( "4", 245, 210 );
	g.drawString( "5", 205, 255 );
	g.drawString( "6", 145, 270 );
	g.drawString( "7", 90, 255 );
	g.drawString( "8", 45, 210 );
	g.drawString( "9", 25, 155 );
	g.drawString( "10", 45, 100 );
	g.drawString( "11", 80, 55 );
	Font font1 = new Font("Arial", Font.BOLD, 12);
	g.setFont(font1);
	g.drawString( "RELOJ", 130, 80 );
	g.drawString( "QUARTZ", 125, 220 );
    }

    private void diseno(Graphics g, int x, int y, double angulo, int minRadius, int maxRadius) {
        float sine   = (float)Math.sin(angulo);
        float cosine = (float)Math.cos(angulo);

        int dxmin = (int)(minRadius * sine);
        int dymin = (int)(minRadius * cosine);

        int dxmax = (int)(maxRadius * sine);
        int dymax = (int)(maxRadius * cosine);
        g.drawLine( x+dxmin, y+dymin, x+dxmax, y+dymax);
    }
}

Written by Link X

May 18, 2009 at 9:09 pm

Posted in Java

Tagged with ,

Escritorio KDE 4

with one comment

En estos días que estoy de vacaciones y que no tengo nada que hacer… y no hay nada que hacer…
Me propuse probar dos distribuciones con la ultima tecnología. OpenSUSE 11.1 y Mandriva 2009.

En ambas el escritorio era KDE 4.1.3 (creo que openSUSE incluía cosas del 4.2), pues bien, ambas traen un muy buen aspecto visual, así que por eso no hay ningún problema.

Los problemas en ambas eran similares, ya que son por KDE 4.

Dolphin
Bueno, este se cae a cada rato y además es lento, sobretodo cuando se da click en algún icono y este se queda unos segundos pausado.

Amarok 2
Bueno, este se entiende que no sea igual que la versión 1.4.x, pero no trae soporte para reproductores (por lo menos no lo traían esas distribuciones), no me gusta la manera en que ahora se muestra la colección y faltan muchas cosas, aunque de seguro se agregaran poco a poco.

Gwenview
Es cierto que se ve mejor, pero la barra de miniaturas que aparece cuando se pone en pantalla completa debería de poder quitarse.
Además no se ven las animaciones de los gif.

K3B
La versión para KDE 4 aun no esta disponible.

Network Manager KDE
En openSUSE trae la de KDE 3, pero también esta disponible el de KDE 4, aunque este ultimo no conecta con las redes wifi.

Es cierto que KDE 4 es un escritorio prometedor y es de lo mejor gráficamente hablando, pero se debería de hacer mas revisiones para optimizar el código y resolver los problemas y ya después agregar innovaciones.

En este momento si se hablara de rivales, el principal rival de KDE 4 es KDE 3, ya que este ofrece un escritorio estable, altamente configurable pero sobretodo ya sumamente probado.

Written by Link X

December 27, 2008 at 4:33 am

Posted in Kde, Mandriva, openSuse