[Tips] Evitar cierre inesperado de SSH

En algunos casos, debido principalmente, a que nuestro proveedor de Internet puede entender que una conexión que no produce ninguna comunicación en un tiempo debe de ser cerrada, nuestra conexión con un equipo remoto es finalizada inesperadamente.

Existe una solución bastante sencilla para evitar este problema. Desde el blog de nuestro colega LoPsT, leo el resultado a este problema.

Bastará con modificar el fichero ssh_config y añadir la siguiente línea, que nos indica que cada 60 segundos se envía un AYA (are you alive?) evitando que el proveedor piense que la conexión se encuentra inactiva, así: read more

Leer más » 5 Comentarios

Reemplazar OpenOffice, instalar LibreOffice en Ubuntu

Como muchos sabréis, Libreoffice está actualmente disponible para Ubuntu 10.10 y 10.04 a través de los repositorios ppa.

libreoffice

A través de los siguientes pasos reemplazaremos OpenOffice por LibreOffice:

1. Para eliminar OpenOffice lanzaremos el siguiente comando (este paso es opcional ya que ambas suite pueden convivir en el mismo sistema):

ahornero@6581-D:~$ sudo apt-get purge “openoffice*.*”

2. Para añadir LibreOffice al repositorio de Ubuntu:

ahornero@6581-D:~$ sudo add-apt-repository ppa:libreoffice/ppa
ahornero@6581-D:~$ sudo apt-get update read more

Leer más » 10 Comentarios

Curso Java – 4. Explicación detallada del primer programa

En este episodio del curso se explicará detalladamente el primer programa en lenguaje Java creado en el capítulo anterior. Este primer programa era el típico ‘Hola mundo’ donde se mostraba la frase ‘¡Hola mundo!’ en pantalla:

public class HolaMundo
{
  public static void main(String[] args)
  {
    System.out.println("Hola mundo");
  }
}

Si eres un principiante en Programación Orientado a Objetos (POO) esta explicación puede contener términos y definiciones que nunca habrás escuchado. En Wikipedia tienes un excelente artículo sobre POO que deberías leerlo antes de seguir con el curso: Programación Orientada a Objetos. read more

Leer más » 15 Comentarios

¿Cómo formatear un USB o disco duro extraíble en Ubuntu?

Para formatear un sistema de ficheros en Ubuntu o cualquier otra distribución, no solemos tener en el menú contextual un botón de “Dar formato…” o algo similar. Sin embargo, sí que tenemos las herramientas necesarias.

gnome-format

Si queréis interfaz gráfico podéis usar gnome-format, un programa del proyecto Gnome que ya está discontinuado pero que hace bien su trabajo. Podréis encontrarlo en vuestro repositorio.

mkfs

La herramienta de los sistemas tipo Unix para esta labor es mkfs. Veamos qué debemos hacer para formatear desde la consola un dispositivo extraíble. read more

Leer más » 3 Comentarios

Curso C# con Mono – Herencia

Siguiendo con características propias de los lenguajes de alto nivel con orientación a objetos, llegamos a la herencia.

¿Qué es la herencia?

En programación orientada a objetos, la herencia es el mecanismo básico para crear nuevas clases (hijas o derivadas), basándonos en clases anteriores (a la que llamaremos padre, base o superclase). La relación es similar a la que se produce en muchas situaciones de la vida cotidiana, por ejemplo en el campo de la biología en las relaciones padre-hijo.

Gracias a este mecanismo, podemos basarnos en clases anteriores, para crear nuevas clases sobre trabajo ya hecho, de forma que extendemos la funcionalidad de la clase padre hacia un campo nuevo, sin tener que volver a reescribir todo el contenido de la misma.

Ejemplos

Hay multitud de casos de este tipo. Por ejemplo, la clase padre excepción, provee unos métodos y atributos generales para todas las excepciones posibles. De ella derivan excepciones concretas, por ejemplo de división entre cero, que además de los métodos y atributos ya existentes, añaden funcionalidad extra, pero reutilizando toda la funcionalidad de la clase padre.

Otro ejemplo clásico es el de los controles de una interfaz gráfica. La clase control es la padre de todo un abanico de clases hijo. La clase control tiene por ejemplo la situación (todos los controles tienen situación) pero cada clase hijo aporta nuevas funcionalidades (por ejemplo, sus propios eventos).

Implementación

Veremos la implementación en C# con un ejemplo concreto. Ya que están tan de moda los vehículos eléctricos, vamos a implementar una serie de clases, con herencia, que reflejen la siguiente realidad:

  • Clase padre: motor, tendrá las características propias de toda clase de motores, gestionaremos potencia (entero en kW) y par (decimal en Nm)
  • Clase hijo: eléctrico, contendrá información exclusiva de los motores eléctricos, intensidad (entero en amperios), potencial (entero en voltios)
  • Clase hijo: de combustión interna, gestionará información de este tipo de motores. Cilindrada (entero en cc.), número de cilindros (entero) y emisiones de CO2 (decimal en gr/km)

public class Motor{ int potencia; decimal par; public int Potencia { get { return this.potencia; } set { potencia = value; } } public decimal Par { get { return this.par; } set { par = value; } } } public class Electrico : Motor{ int intensidad; int potencial; public int Intensidad { get { return this.intensidad; } set { intensidad = value; } } public int Potencial { get { return this.potencial; } set { potencial = value; } } } public class CombustionInterna : Motor{ int cilindrada; int cilindros; public int Cilindrada { get { return this.cilindrada; } set { cilindrada = value; } } public int Cilindros { get { return this.cilindros; } set { cilindros = value; } } } read more

Leer más » 8 Comentarios

Instalar Ubuntu en HTC HD2

Si el otro día comentábamos cómo instalar Ubuntu en un smartphone Samsung Galaxy, hoy veremos cómo hacerlo sobre una HTC HD2, y usando la reciente interfaz Unity.

El port de Ubuntu para HTC, la Ubuntu 0.3 para HTC HD2, utiliza Ubuntu 10.10 con la reciente interfaz Unity (Mutter), ofreciendo mayor rendimiento y estabilidad, así como un núcleo actualizado que proporciona una gran mejora en la vida de la batería.

Si somos ese tipo de usuarios atrevidos y deseamos obtener más información acerca de la instalación, guías paso a paso y los enlaces de descarga para llevar a cabo la instalación sobre nuestro dispositivo HTC HD2, os ofrecemos el siguiente enlace desde el foro de XDA developers. Descarga de Ubuntu 0.3 para HTC HD2 desde Hotfile. read more

Leer más » 2 Comentarios

Temas hijos en WordPress

Cuando tenemos un blog montado con WordPress, a pesar de la variedad de temas disponibles tanto en el repositorio oficial como en otros medios, al final siempre nos gusta hacerle una serie de modificaciones, ya sea para traducir algo o cambiar unos colores. read more

Leer más » 4 Comentarios

Instalar Ubuntu en Samsung Galaxy

En los últimos meses hemos visto cómo algunos aventurados han portado Ubuntu para poder ejecutarse en una gran cantidad de dispositivos, desde el iPod Touch al Google Nexus One.

Lo último que os presentamos es la posibilidad de instalar Ubuntu en un Samsung Galaxy (concretamente en el modelo S). Gracias a una entrada en el foro de XDA-developers y de sus numerosas colaboraciones, han publicado una guía fácil de seguir paso a paso para los propietarios de este terminal que desean añadirle un toque de *buntu. read more

Leer más » 5 Comentarios

Curso C# con Mono – Tratamiento de excepciones

Una característica común a este tipo de lenguajes de alto nivel, es la presencia del manejo de excepciones. read more

Leer más » 5 Comentarios

Comandos básicos de SVN

Hasta ahora siempre había utilizado herramientas con interfaz gráfica para interactuar con un repositorio subversion, RapidSVN en Linux y TortoiseSVN en Windows.

Esta tarde he tenido que hacer una excepción, haciendo unas prácticas de una asignatura he interactuado con el repositorio SVN directamente con el comando svn; pienso que usarlo mediante comando es bastante útil, sobre todo en entornos en los que usar una GUI es imposible o para solucionar algún problema, preferimos hacerlo directamente sin una vista sobre una aplicación más pesada. Sea cual sea vuestro caso, a continuación os dejo un breve resumen de los comandos básicos de svn: read more

Leer más » 4 Comentarios