Logo de Ubuntu Mate

Usar una máquina virtual como entorno de desarrollo integrado

Para programar una aplicación hace falta un ordenador con un sistema operativo y varias herramientas de desarrollo. Este entorno de desarrollo es relativamente sencillo de preparar. El problema puede aparecer si se trabaja en un equipo y cada programador tiene un entorno diferente. Las herramientas pueden ser las mismas pero con versiones ligeramente diferentes. Ésto en principio no es un problema pero puede suponerlo si hay cambios en esas versiones que afectan al código desarrollado.

Hay dos formas de afrontar este problema. La primera es usando todo el equipo las mismas versiones de las herramientas de desarrollo. Si se trabaja en varios proyectos al mismo tiempo con diferentes versiones de las librerías puede ser un poco complicado. La otra forma consiste en usar una máquina virtual que contenga todas las herramientas de desarrollo y sea la misma para todo el equipo.

Leer más

Menú de inicio de XUbuntu

Programar con Ubuntu Phone / Pebble

Android, iOs y Windows Phone son los tres sistemas operativos más populares que se pueden encontrar en los dispositivos móviles. Para llegar a este grado de implantación ha sido necesario por una parte la existencia de un sistema operativo maduro y por otra parte la creación de aplicaciones que le aporten valor añadido. Ambos factores no son independientes sino que están relacionados. Los programadores son personas más o menos humanos que quieren obtener ingresos de su trabajo (tienen el vicio de comer 3 veces al día). Para que sea rentable una aplicación es necesario que el número de usuarios que tiene un sistema operativo sea grande. De esta forma habrá más posibilidades de que alguno de los usuarios compre la aplicación. Lo contrario también ocurre ya que si vamos del lado de los usuarios, el sistema operativo que usarán será el que tenga más aplicaciones disponibles para trabajar.

Leer más

kMyMoney

Controlar los ingresos y los gastos con kMyMoney (III)

Los asientos planificados nos permiten introducir un asiento que tiene cierta periodicidad. Por ejemplo, podemos definir los ingresos que tenemos mensualmente con la nómina o los recibos que se cobran en diferentes fechas a lo largo del mes. Si definimos todos los asientos planificados que tenemos a lo largo del mes conseguimos dos cosas interesantes. La primera es que no se nos olviden los gastos pendientes al estar apuntados mientras que la segunda es obtener una previsión del dinero a lo largo del mes. En este artículo podréis encontrar un archivo de ejemplo de kMyMoney. El archivo contiene dos cuentas, una para el banco y otra para efectivo. Los saldos iniciales de cada una de ellas serán de 1000 € para la primera y de 50 € para la segunda. Sobre la cuenta del banco introduciremos los asientos planificados y veremos la evolución del saldo a lo largo del mes.

Leer más

Data Center

Asegurar un servidor privado virtual (II) – El sistema operativo

La seguridad en un servidor hay que verla como un conjunto que está formado por piezas pequeñas. Si una de esas piezas falla, el conjunto se ve comprometido. Podemos encontrar varias de estas piezas en un servidor privado virtual (VPS). La primera es el sistema operativo. Su función es gestionar todos los elementos del sistema y proporcionar la infraestructura al contenido que ve un usuario. Para mostrar la información al usuario es necesario abrir puertos por los que se manda la información. El último elemento es el gestor de contenidos que muestra la información al usuario.

Es necesario que todas las partes estén bien protegidas para evitar problemas. Hay dos tipos de servidores dependiendo de si están en pre-producción o en producción. La diferencia entre ambos es que en el primero podemos hacer pruebas mientras que en el segundo las pruebas están prohibidas. Un error en un servidor de producción puede afectar al contenido que mostramos al usuario. Si no tenemos un servidor de pre-producción podemos usar una máquina virtual para las pruebas. Podéis preguntar cualquier duda en los comentarios del artículo o bien en las redes sociales.

Leer más

Data Center

Asegurar un servidor privado virtual (I)

Un servidor proporciona muchos servicios a los usuarios: Web, repositorio de archivos o control de código fuente. Para realizar estas funciones necesita tener por una parte aplicaciones escuchando en unos puertos concretos y por otra parte que esos puertos sean accesibles desde el exterior. Los usuarios legítimos usarán los servicios de forma adecuada y los atacantes intentarán conseguir el acceso al servidor aprovechando vulnerabilidades o accesos remotos. Como no tenemos acceso físico al servidor propiamente dicho utilizaremos un acceso remoto siendo el más conocido la conexión SSH. Si bien se puede usar Telnet para la misma tarea, es un suicidio utilizar una herramienta que no realiza cifrado de los datos para las tareas de gestión.

El servidor de SSH escucha las peticiones por el puerto 22. A priori no sabe si la petición de conexión es legítima o no. Por esta razón se pide un usuario y una contraseña. Sólo el usuario que tiene la contraseña puede entrar, pero ésto no evita que los atacantes intenten acceder al servidor utilizando usuarios y contraseñas genéricos. ¿De qué forma podemos evitar estas conexiones? Si permitimos únicamente el acceso por una IP corremos el riesgo de perder el acceso al servidor si cambia nuestra IP. En cambio, si bloqueamos por países evitaremos una parte de los ataques pero no los que vengan del mismo país en el que gestionemos el servidor. Para conocer la forma de detectar los ataques y minimizar su efecto podéis leer esta serie de artículos.

Leer más

kMyMoney

Controlar los ingresos y los gastos con kMyMoney (II)

Con un poco de retraso llega el segundo artículo enfocado a kMyMoney. Junto con el artículo hay un archivo que se puede descargar y contiene los datos del ejemplo. Hay definidas dos cuentas, una corresponde a un banco con una cantidad inicial de 100 € y otra se utiliza para el efectivo y no tiene dinero. Se pueden realizar tres tipos de operaciones principales con los asientos (las entradas y salidas de dinero). La primera es el depósito y su función es añadir una cantidad concreta de dinero a una cuenta. La segunda es la transferencia y permite mover dinero entre cuentas. Por ejemplo, si sacamos dinero del cajero de una entidad estamos restando esa cantidad de la cuenta banco y añadiéndola a la cuenta efectivo. Por último tenemos la retirada en la que sacamos dinero de la cuenta.

El término cuenta no se refiere únicamente a una cuenta del banco sino que puede abarcar diferentes cosas. El dinero en efectivo es una cuenta así como el dinero que podemos tener en una tarjeta de prepago. Supongamos que tenemos 100 € en el banco. Tenemos que hacer las compras y para eso necesitaremos sacar 50 €. Después de hacer las compras añadiremos los gastos a kMyMoney creando un asiento por cada acción que hemos realizado.

Leer más

kMyMoney

Controlar los ingresos y los gastos con kMyMoney (I)

Controlar la economía propia o familiar se ha convertido en una necesidad importante en la situación actual. Esta tarea se puede realizar de varias formas: usando una libreta, una hoja de cálculo o con un programa especializado. La opción que nos facilita más la tarea es la última aunque requiere aprender a usar una aplicación. Hay muchas aplicaciones enfocadas a la economía familiar tanto comerciales como de código abierto. Después de probar varias la que mejor resultado me ha dado es kMyMoney.

Leer más

Logo Ubuntu

Instalación de GNU/Linux y algunas precauciones

Hoy se ha liberado la nueva versión de Ubuntu (13.10) con el nombre clave Saucy Salamander. Para que el proceso de instalación o actualización sea razonablemente seguro hay que seguir un par de pasos antes de empezar. Estos pasos no son obligatorios pero nos ahorrarán mucho tiempo si aparece algún problema y el equipo no arranca o perdemos todo el contenido. Recordar que no es lo mismo actualizar un programa que un sistema operativo. Si tenéis alguna duda antes de pasar a Ubuntu 13.10 podéis preguntar en el canal de soporte #ubuntu-es que está en la red de IRC Freenode.

Las versiones de Ubuntu tienen un tiempo de soporte (como el resto de distribuciones). En estos momentos tienen soporte todas las versiones a partir de la 12.04. Si usáis alguna versión anterior es obligatorio actualizar. Ubuntu 10.04 tiene actualizaciones únicamente para servidores. Por ejemplo hay actualizaciones para Apache o MySQL pero no para las aplicaciones de escritorio. Esta regla de versiones se aplica a Ubuntu y a sus derivados “oficiales” como Kubuntu (KDE), Xubuntu (Xfce) o Lubuntu (LXDE). Las distribuciones que usan Ubuntu como base tienen el mismo problema si usan los repositorios de Ubuntu.
Leer más

Logo Latex

Instalación de LaTeX en Windows

LaTeX es una herramienta que nos permite generar documentos con apariencia profesional. La curva de aprendizaje es grande. Si quieres crear un documento que tenga un par de hojas o tienes que entregarlo en un plazo cercano no es la opción más recomendable. En esos casos un procesador de textos como LibreOffice Writer resulta más sencillo. Que la curva de aprendizaje sea grande no quiere decir que sea complicado.

Para escribir un documento normal sólo usaremos un par de marcas del lenguaje y contaremos con la ayuda de herramientas que rellenarán la mayor parte del código. Al final del artículo hay un enlace a un proyecto de ejemplo que he creado. Lo podéis usar para comprobar que todo esté funcionando de forma correcta. Comencemos con el artículo…

Leer más

Imagen de Java (http://pixabay.com/es/icono-java-taza-caf%C3%A9-tema-28201/)

Java, Flash y los plugins en el navegador

Hasta hace relativamente poco podíamos decir que GNU/Linux era menos vulnerable que Windows ante los fallos de seguridad. Si bien esto se cumple para la mayoría de los casos esta situación está cambiando. Podemos definir un vector de ataque como una forma de aprovechar un fallo de seguridad para acceder al sistema del usuario o conseguir algún resultado por lo general malo para el usuario. Un vector de ataque que busque versiones vulnerables de los programas no tiene mucho efecto en GNU/Linux como consecuencia de las actualizaciones automáticas que realizan la mayoría de las distribuciones. Por esta razón los atacantes buscan nuevas formas de realizar los ataques usando los elementos que menos se actualizan: los plugins de los navegadores. Dentro de este grupo encontramos los plugins de Java y de Flash.

Leer más