Controlar ventilador en Ubuntu

Últimamente venía notando que mi equipo no dejaba de usar los ventiladores aunque pensara que no estaba haciendo un uso excesivo de la CPU como para que requiera mejor ventilación. Así pues, me doy cuenta de que el sensor de los ventiladores no es detectado y que siempre están al 100%.

Para algunos estos puede ser una ventaja, pero esta claro que en el día en que vivimos y con la de avances tecnológicos que tenemos, usar un dispositivo sin control mientras que sí podemos controlarlo puede parecer absurdo, de hecho lo es. El ventilador debe de ser controlado en función del nivel de temperatura de nuestro equipo. read more

Leer más » 14 Comentarios

Cursos PHP orientado a objetos – Crear una clase (atributos y propiedades)

Lo primero que haremos será declarar la clase con sus atributos en PHP. La operación es muy similar a la declaración de un struct en C o de otro elemento similar en otro lenguaje.

Comenzaremos definiendo los atributos. Delante de cada uno indicamos el tipo de atributo del que se trata (público, privado o protegido). Si no indicamos nada, el atributo será considerado público (además, es posible que nos lance algún tipo de advertencia el intérprete de PHP).

¿Qué es eso de público, privado y protegido?

  • Público (public): Se puede acceder desde fuera de la clase.
  • Privado (private): Sólo se puede acceder desde dentro de la clase.
  • Protegido (protected): Se puede accede desde dentro de la clase y desde clases herederas.

Como éste es un artículo de introducción a la programación orientada a objetos con PHP no voy a centrarme demasiado en definir estos términos, ni otros relacionados como la herencia o el polimorfismo.

Pasemos a implementar ya la creación de nuestra clase usuario siguiendo el diseño propuesto en el punto anterior.

class Usuario{
	private $id;
	private $nombre;
	private $apellidos;
	private $codigoPostal;
}

Pero si son privados, ¿cómo accedemos a los atributos? La solución es crear métodos, funciones propias de la clase, pública que accedan al atributo.

¿Qué ventajas tenemos con esta metodología? Aunque en este caso el acceso va a ser directo, en casos donde haya que realizar una comprobación, nos aseguramos que los objetos de la clase siempre tienen datos válidos, además de ocultar la implementación interna de la clase, creando una caja negra mucho más útil en grandes proyectos. Por ejemplo, un método “setNIF” en el que antes de igualar el atributo al valor enviado por el usuario, se compruebe si la letra del NIF es válida, y en caso de no serlo, no se almacene el nuevo valor.

Veamos la implementación de esos métodos dentro de la clase.

function getId(){ return $this->id; } function setId($id){ $this->id = $id; } function getNombre(){ return $this->nombre; } function setNombre($nombre){ $this->nombre = $nombre; } function getApellidos(){ return $this->apellidos; } function setApellidos($apellidos){ $this->apellidos = $apellidos; } function getCodigoPostal(){ return $this->codigoPostal; } function setCodigoPostal($codigoPostal){ $this->codigoPostal = $codigoPostal; } read more

Leer más » 4 Comentarios

Estimación

Leer más » 4 Comentarios

Biolab Disaster, adictivo plataformas en HTML5

En Linux Hispano nos encantan los juegos creados en plataformas estándares y libres. Especialmente, por lo menos para mí, los creados en HTML y Javascript. Prueba de ellos son los pasados juegos como Angry Birds y Fred Jones.

En esta ocasión tengo el placer de presentaros Biolab Disaster, un excelente plataformas creado gracias a la etiqueta canvas de la nueva versión de HTML.

Es un plataformas donde manejas a un científico en busca de la salida. Por el camino encontrarás a mutantes que deberás eliminar, para hacer más difícil el juego puedes obtener todas las probetas de cada nivel. Aunque un poco corto, el juego es lo mejor que he visto hasta ahora usando dichas tecnologías. Espero que lo disfrutéis tanto como yo. read more

Leer más » 4 Comentarios

Buscar archivos grandes en Linux

Con una simple consulta con el comando find y haciendo un pipe de la salida a awk para formatearla con el nombre de fichero (ruta) y el tamaño obtengo los archivos del sistema (/) con un tamaño superior a 100 MB.

Lanzándolo como superusuario habilitamos la búsqueda para rastrear sobre rutas en las que no tenemos los permisos suficientes con un usuario común. Así:

ahornero@6581-D:~$ sudo find / -type f -size +100000k -exec ls -lh {} \; | awk ‘{ print $8 “: ” $5 }’

Y la salida obtenida, tiene en mi caso, la siguiente forma: read more

Leer más » 4 Comentarios

Lo mejor de mi RSS del 6 al 12 de junio

Leer más » 1 Comentario

Curso PHP orientado a objetos – Introducción

Aunque PHP nació como un lenguaje orientado a la programación procedimental, con el tiempo se fue adaptando a las necesidades de los desarrolladores y comenzó a añadir características propias de los lenguajes orientados a objetos.

Esta es la primera entrada de un mini curso de varias entregas en el que trataremos de explicaros cómo usar los mecanismos propios de la orientación a objetos en este lenguaje tan popular del lado del servidor.

Clases, atributos y operaciones

Simplificando mucho, una clase es la representación software de un elemento de la vida real. Si para un determinado problema, que es el que vamos a utilizar, nos importan los usuarios, tendremos la clase “usuario”. La representación software serán los datos y el comportamiento del mismo que nos importe de cara a nuestro sistema. Imaginemos un sencillo sistema de gestión de usuarios que almacene los siguientes datos: read more

Leer más » 2 Comentarios

Generar contraseñas aleatorias desde la terminal con Makepasswd

Existen muchas formas de generar una contraseña desde tu terminal o línea de comandos. En este tutorial encontraréis hasta diez maneras diferentes.

Sin embargo, otra manera de hacerlo es con Makepasswd, siendo ésta mi preferida. Esta aplicación ocupa apenas unos kB y es muy sencilla de utilizar.

Para instalarlo entra en tu terminal y escribe lo siguiente:

sudo apt-get install makepasswd

Para generar una contraseña sólo tienes que escribir lo siguiente:

makepasswd

Y automáticamente generará una contraseña aleatoria. Si ejecutas makepasswd --help tendrás una completa ayuda con las diferentes opciones. read more

Leer más » 6 Comentarios

Los lenguajes de programación más populares en junio de 2011

Como sabéis, sobre todo los más seguidores, cada cierto tiempo siempre me gusta realizar un análisis de los lenguajes de programación más populares para conocer cómo se mueve el mercado con respecto al mes del año pasado. Recordad que todos los meses Tiobe realiza un análisis de los lenguajes más populares según los resultados en los motores de búsquedas.

En el primer puesto está el lenguaje Java. A pesar de las últimas críticas que está cosechando y de su lento progreso con respecto a otros lenguajes sigue siendo líder en el entorno empresarial. Especializarte en este lenguaje es fundamental si quieres aumentar en gran medida tus posibilidades de encontrar trabajo en empresas IT. Además, es el lenguaje que se utiliza principalmente para usar la API de Android. read more

Leer más » 19 Comentarios

Eliminar un enlace simbólico

No sé si será vuestro caso, pero yo los uso día a día y me ayudan a no tener que recordar todas las rutas dónde accedo. Los enlaces simbólicos son un enlace a un fichero o directorio que se encuentra en una ruta diferente dentro de la estructura de directorios.

Existe otro tipo de enlace en los sistemas UNIX, el enlace duro o hard link, en donde el acceso es indistinguible del acceso real, y el borrado del mismo elimina su origen.

Personalmente, prefiero los enlaces simbólicos, básicamente por dos motivos: Es posible realizar enlaces simbólicos para apuntar a objetos que se encuentran en otros dispositivos o particiones; y que cualquier usuario puede crear un enlaces simbólicos. read more

Leer más » 3 Comentarios