¿Vamos a la playa? Espera, que miro el tiempo en la terminal

El título del artículo os dejado totalmente despistados, pero se trata de algo tan sencillo como consultar el tiempo desde la terminal. En la vida del sysadmin no todo es trabajo, también tenemos derecho a que el astro Sol nos lance un poco de cobre al cuerpo.

¿Vamos a la playa? Espera, que miro el tiempo en la terminal

Con la llegada del verano que mejor que estar al día del tiempo y de cómo aprovecharemos el día. En mi caso he probado este pequeño truco usando como cliente SSH KiTTY, del que ya os hablé hace poco read more

Leer más » 1 Comentario

Explain Shell, entendiendo cada comando (ampliación)

explain_shell_linuxhispano

Me encuentro en la red este curioso proyecto, ExplainShell.com. El proyecto, que ya nos adelantó el pasado año Manuel Ignacio mediante su entrada Aprende Shell de Ubuntu Linux con Explain Shell, se trata de un servicio en la nube que nos brinda la posibilidad de descomponer un comando y explicárnoslo paso a paso.

Es muy útil para usuarios nóveles o para los que le pica la curiosidad de cómo se haría esto o aquello por shell scripting y deciden ver el comportamiento por esta vía. Útil y curioso al mismo tiempo, en la imagen que encabeza esta entrada simplemente mostramos la descomposición del comando ping -c 3 linuxhispano.net pero las posibilidades son múltiples. Abajo algunos ejemplos: read more

Leer más » 3 Comentarios

El mejor tutorial en línea de C++ en inglés

cpp-logo-dribbble

Para aprender un lenguaje de programación qué mejor que un buen tutorial que te enseñe desde el principio los entresijos de dicho lenguaje.

Siendo C++ un lenguaje popularísimo es normal que en internet existan miles y miles de tutoriales tanto en libros de texto como en páginas web.

En mi opinión, el mejor tutorial en línea que me ha ayudado a aprender realmente C++ es el tutorial de la página de Cplusplus.com.

El único inconveniente es que está en inglés. En español está el gran curso de C con clase, sin embargo, no lo veo tan actualizado y tan bien condensado como el anglosajón. read more

Leer más » 4 Comentarios

Manejo de Hilos en Java – Tutorial

En este pequeño tutorial veremos como manejar diferentes procesos en Java utilizando Hilos mediante la clase Thread. Un Thread es un hilo de ejecucion en un programa en java, el cual permite tener multiples instancias de hilos corriendo de forma simultanea en una aplicacion. Los hilos tienen un valor denominado prioridad, el cual puede pedir a java que en una situacion en que tenga que elegir cual proceso ejecutar inclinarse por uno u otro hilo, por default los hilos en java se inicializan con la misma prioridad.

En java existen dos formas distintas de crear un nuevo hilo, heredando de la clase Thread o implementando la Interfaz Runnable. Si utilizamos la opcion de implementar la interfaz Runnable, mas tarde tendremos que utilizarlo de parametro en una nueva instancia de la clase Thread para inicializarlo. Veamos un Ejemplo utilizando estas dos formas de crear hilos en java, se crearan dos hilos, uno creado heredando de la clase Thread y otro implementandolo de la interfaz Runnable, tambien veremos la forma de inicializarlos y el resultado al ejecutarlo, Veamos.

Logo Java

  • CODIGO

Clase Main

public class Main { public static void main(String args[]){ //Creamos el hilo 1 que hereda de la clase Thread Hilo1 hilo1 = new Hilo1(); //Creamos el hilo 2 que implementa la clase Runnable Hilo2 hilo2 = new Hilo2(); /* * Establecemos prioridad * (podemos jugar con valores de 1 y 10 * y veremos cual proceso termina primero * y cual segundo dependiendo de el valor * que asignemos aqui. */ hilo1.setPriority(10); //iniciamos los procesos hilo1.start(); new Thread(hilo2).start(); } } read more

Leer más » 4 Comentarios

Integración de sistemas y servicios distribuidos con OpenLDAP

Me ha llegado desde una lista de correo el siguiente manual sobre OpenLDAP. Me gustaría compartirlo con vosotros mediante esta vía para darle difusión.

ldap_linux_hispano

Prefiero no replicar contenido. Podéis encontrarlo desde el siguiente enlace.

Leer más » 1 Comentario

Instalar MyPaint en Ubuntu

Con la reciente llegada de la versión 1.1 aprovecho la ocasión para comentarios cómo instalar esta aplicación dedicada al arte de pintar. MyPaint se centra en el lienzo y se olvida de los accesos y herramientas, son accesibles desde cualquier parte pero por defecto se muestran ocultas de esta forma podremos centrar nuestro propósito a lo que realmente queremos, pintar.

mypaint_linux_hispano

Bien, si nos animamos a probarlo os indico cómo instalarlo en vuestro sistema. Para hacerlo, como siempre, abrimos un terminal:

ahornero@6581-D:~$ sudo add-apt-repository ppa:achadwick/mypaint-testing
ahornero@6581-D:~$ sudo apt-get update
ahornero@6581-D:~$ sudo apt-get install mypaint mypaint-data-hires

Desafortunadamente,

Leer más » 1 Comentario

Cómo censurar palabras en PHP

En función de nuestro propósito es posible que en algún caso necesitemos controlar las palabras que se escriben. Es muy común el caso de los foros, incluso supongo que para los gestores de contenido orientados a foros proveen alguna extensión para realizar esta tarea.

Bien, lo que vamos a hacer simplemente es reformatear una cadena de texto que puede contener palabras obscenas o malsonantes por otras de menos vulgares con el lenguaje PHP. Con el siguiente ejemplo lo entenderéis perfectamente:

<?php
function censurar($texto){

   $buscar = array(
   '/puta/i',
   '/joder/i',
   '/gilipollas/i'
   );
   $reemplazar = array(
   'preciosa',
   'recorcholis',
   'bonito'
   );
   return preg_replace($buscar,$reemplazar,$texto);
}

$texto = 'joder! Me cago en tu puta madre gilipollas';
echo censurar($texto);
?>

Obteniendo como resultado: 

Leer más » 3 Comentarios

Curso-Tutoriales en PDF de C# mono

Saludos a toda la comunidad.

Tenéis a vuestra disposición una serie de tutoriales de C# con mono, actualmente hay 6 temas pero iré publicando más. Los temas están en formato pdf para más comodidad y portabilidad ; )

Tutorial Mono - Programación en C#

http://stringinarray.wordpress.com/category/tutorial-csharp-mono/

Puntos tratados en los 6 temas:

Tema 1 – Introducción a tecnología NET con Mono y fundamentos de C#

Leer más » 4 Comentarios

TextMate 2 en Ubuntu

Esta podría ser una entrada de cómo instalar TextMate 2, el conocido editor de código de Mac OS, en una distribución de Linux. No se trata de un tutorial, sino de un anticipo de lo que nos espera tras la liberación del código de TextMate 2 por sus autores.

El código fuente se encuentra en GitHub. Desde el blog de TextMate anunciaron el pasado 9 de agosto la liberación de su código bajo licencia GPL3.

Podéis seguir las actualizaciones y novedades de este hecho sobre Twitter (mediante este hashtag #textmate) o desde la lista de correo para desarrolladores (requiere registro).

Leer más » 6 Comentarios

Instalar Skype 4.0

Si ya teníais Skype instalado con anterioridad bastará con que actualicéis desde los repositorios. En caso contrario, es muy sencillo, sólo habrá que añadir desde la Ubuntu Software Center el repositorio “Canonical Partners”, para ello:

  • Abrirmos Ubuntu Software Center
  • Vamos a Edit -> Software Sources
  • Nos dirigimos a la pestaña Other Software
  • Y seleccionamos: Canonical Partners

¿Qué nos aporta la versión 4 de Skype? Antes de nada, muchos de los que criticaron la compra de Skype por parte de Microsoft estarán alucinando con el “buen soporte” que está recibiendo para la comunidad de usuarios de Linux. Bien, vemos que nos tenemos:

Leer más » 4 Comentarios

Cambiar la dirección de un sitio WordPress

Es frecuente que por las razones que sean, no sólo de producción en plan: “quiero cambiar de dominio” sino por pruebas para poder echar a andar un proyecto WordPress en un servidor que no está en producción, tengamos que cambiar la dirección del mismo.

Logo WordPress

La propia arquitectura de WordPress está pensada para ser flexible en este aspecto. En este artículo, comentaremos cómo hacerlo desde el punto de vista técnico, no entraremos en cuestiones aparte como informar a los buscadores sobre el cambio de URL, básico para evitar pérdida de posicionamiento.

Transporte de datos

Lo primero que debemos hacer es asegurarnos de que el contenido PHP, JavaScript, imágenes, etc. esté accesible desde el nuevo dominio. Si cambiamos de servidor debería copiarlo usando FTP, SCP o la opción que más os guste.

Base de datos

Este es el punto más interesante. ¿Por qué? A priori, en muchos manuales leeremos que sólo hay que cambiar en la tabla de opciones, wp_options, los siguiente valores:

Leer más » 8 Comentarios

Arrays asociativos en PHP: crear, editar, añadir, eliminar, extraer y eliminar elementos

Los arrays asociativos en PHP, son una de las herramientas más útiles para manejar información. A diferente de los arrays secuenciales, equivalentes a los vectores de C, el acceso no se hace al elemento iésimo, si no que lo hacemos a una clave, al estilo de las tablas hash.

Veamos un ejemplo con personas a las que se les referencia a través de su NIF. Como podéis imaginar, el acceso a través de ese dato es inmediato.

Creación

La creación es inmediata, nos limitamos a llamar a la función array seguida de los parámetros que serán sus elementos. Escribimos los elementos con esta forma: “clave” => “valor”.

 $personas = array('30303030A' => 'Javier Carazo', 
'31313131B' => 'Francisco Gil');

Añadir o editar elementos

Para añadir elementos no necesitaremos otra cosa que hacer una asignación, es decir, ni siquiera deberemos indicar que el elemento es nuevo. Será la misma operación la de añadir y la de editar.

Leer más » 5 Comentarios

GIT: Descarga, actualiza y sube tu código a Internet

Una de las ventajas del Software Libre es que la gran mayoría de los proyectos cuentan con unos repositorios donde los desarrolladores van colgando los últimos cambios en el código, por lo que siempre podemos descargarnos la ultima versión para probarlo (si bien como usuario final no se debería de hacerlo debido a la posibilidad de que haya un bug que nos provoque fallos en el sistema) o para ayudar en la búsqueda de fallos y subir los cambios o avisar de ello.

Hay varios sistemas de repositorios diferentes, como el archi-conocido Subversion, Bazzar o el cada vez mas usado GIT (creado por Linus Torvals para los repositorios del Kernel en sustitución de Subversion).

Si somos usuarios de Debian/Mint/Ubuntu y derivados nos bastara con instalar el paquete git-core:
sudo apt-get install git-core

Y si usamos Arch Linux:
sudo pacman -Ss git

Una vez instalado abrimos una terminal y nos movemos a la carpeta donde bajaremos el código del programa y ejecutamos:
git clone

Leer más » 13 Comentarios

Manejar tiempos con ‘setTimeout’ en Javascript

Cuando necesitas interactuar con el usuario resulta fundamental manejar el tiempo para que ocurran determinados eventos. En Javascript hay varias funciones para administrar los tiempos y una de ellas es setTimeout.

Esta función, cuando se ejecuta, espera una cantidad de milisegundos hasta que llama otra función. Aquí os dejo un ejemplo con su código para clarificarlo.

Ejemplo

Código fuente del ejemplo read more

Leer más » 6 Comentarios

Instalar Chromeless

Hace unas semanas os hablé de cómo instalar Webian Shell, un navegador fullscreen basado en Chromeless. Este proyecto está orientado básicamente a la creación de un navegador Web liviano, sencillo y ágil.

Bien, veamos como instalarlo en nuestro sistema:

Hacemos un checkout del repositorio del mozilla en gibhub:

ahornero@6581-D:~$ git checkout http://github.com/mozilla/chromeless.git

Si todo ha ido bien, comprobamos el contenido del directorio que nos acabamos de traer. Debe de ser el siguiente: read more

Leer más » 1 Comentario