Archive for 2011

Instalar NVidia driver en CEntOS 6

sábado, agosto 20th, 2011

Primero debes descargar el driver desde NVidia desde su sitio.
CEntOS 6 viene con un kernel nouveau, por lo que hay que deshabilitarlo antes de instalar el driver de NVidia, sino no instalará.
Primero crea un archivo en la carpeta /etc/modprobe.d

touch /etc/modprobe.d/disable-nouveau.conf

luego incluye la linea

blacklist nouveau options nouveau modeset=0

Luego debes editar la linea del /etc/grub.conf e incluir el parametro rdblacklist=nouveauto

Al reiniciar podrás instalar NVidia Driver. Por mi parte cambie el inittab a 3, para reiniciar, instale el driver y volvi el inittab a 5, y listo.

Adobe Flash en Firefox 6 en Linux

sábado, agosto 20th, 2011

Para instalar adobe Flash Player debes descargar desde aquí a Flash Player, en mi caso la versión de 64bits. Al descomprimir instala los archivos y deja un archivo libflashplayer.so dentro del directorio.
En el directorio de firefox creas la carpeta plugins sino existe y copias este archivo dentro de la carpeta plugins y listo, luego about:plugins

Instalando Firefox 6 en Centos 6

sábado, agosto 20th, 2011

CEntOS 6 es una distribución basada en Red Hat, y viene con firefox 3.6.9, y cuando ya tenemos disponible la versión 6, creo que es bastante retrasado.
Así que descargue la versión 64bits de firefox, renombre el anterior

mv /usr/bin/firefox /usr/bin/firefox3.6.9

y luego

tar -xvf firefox-6.0.tar.bz2
ln -s /opt/firefox/firefox /usr/bin/firefox

Y listo

Instalando RTL8192SE en Linux

sábado, agosto 20th, 2011

El primer problema que tuve en CEntOS 6 es que no reconoció la wifi, mi tarjeta es una realtek RTL8191SE, debes descargar el driver desde aquí y seguir las instrucciones, o sea, como root

make
make install
reboot

Eso es lo que dicen las instrucciones, el reboot es el paso más sencillo, sino tendrías que seguir una serie de pasos un poco más complicados y que cambia de distribución en distribución. En mi caso funciono para Fedora 15 y CEntOS 6.

Volviendo a Linux: CEntOS 6

viernes, agosto 19th, 2011

Por mi trabajo, me he preocupado de tener un buen notebook como equipo de trabajo, el problema que conlleva esto es que cuando te vuelcas a linux y esperas que todo saldrá bien… sorry… nada resulta.
Al parecer es facil instalar linux en equipos sencillos, cuando le añades 8 procesadores, una nvidia de 1GB RAM… te pasa la cuenta. Ni Ubuntu 11.04, ni OpenSUSE 11.4, ni Fedora 15 instalaron en mi equipo, todos al reiniciar quedaban pegados, sin ninguna posibilidad de meterme a la linea de mando. Aun cuando Fedora 15 actuó mejor, cada vez que reiniciaba debía reconfigurar muchas de las opciones que ya estaban configuradas, pero me harte, un poco… bastante diría yo.
Me decidi a instalar linux, debido a que windows 7 de 64bits tiene al 80% de sus programas corriendo en 32bits… ¿que gano yo entonces con tener un equipo poderoso? no sentí ninguno, al menos con Windows 7.
Pero tampoco las versiones de Desktop de linux me estaban ayudando, así que la decisión drástica fue CEntOS 6.
Para los conocedores, entenderán que no elegí el Linux más «usuariamente» amistoso. Esta bien, al menos parte sin problemas, así que me sigue animando tenerlo, y correr el 100% de mis programas en 64bits.

Ejecutar un audio constante en Android

viernes, julio 29th, 2011

Cuando se programa un juego por lo general se requiere escuchar dentro del juego una musica constante. Para ello se genera un clase para que este audio constante pueda ejecutarse en un loop infinito

import android.app.Activity;
import android.os.Bundle;
import cl.aro.android.AudioConstante;

public class Main extends Activity{
	AudioConstante audio;
	
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
//      startService(new Intent(this, servicio.class));
        audio = getAudioConstante(R.raw.uno);
        audio.play();
        setContentView(new juegoView(this));
    }

    protected AudioConstante getAudioConstante(int id) {
    	return new AudioConstante(getBaseContext(), id);
    }
}

El codigo de la clase de audio sería

package cl.aro.android;

import android.content.Context;
import android.media.MediaPlayer;

public class AudioConstante {
	private MediaPlayer mediaPlayer;
	private boolean estaSonando = false;
	private boolean enLoop = false;

	public AudioConstante(Context ctx, int resID) {
		mediaPlayer = MediaPlayer.create(ctx, resID);
		mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
			@Override
			public void onCompletion(MediaPlayer mp) {
				estaSonando = false;
				if (enLoop) {
					mp.start();
				}
			}
		});
		mediaPlayer.start();
	}

	public synchronized void play() {
		if (estaSonando)
			return;
		if (mediaPlayer != null) {
			estaSonando = true;
			mediaPlayer.start();
		}
	}

	public synchronized void stop() {
		try {
			enLoop = false;
			if (estaSonando) {
				estaSonando = false;
				mediaPlayer.pause();
			}
		} catch (Exception e) {
			System.err.println("Error");
		}
	}

	public synchronized void loop() {
		enLoop = true;
		estaSonando = true;
		mediaPlayer.start();
	}

	public void release() {
		if (mediaPlayer != null) {
			mediaPlayer.release();
			mediaPlayer = null;
		}
	}
}