Sistemas & Desarrollo
6 meneos
99 clics

Fusionar el historial de BASH de diferentes sesiones SSH en un mismo servidor [ENG]

Es posible que hayas observado de vez en cuando que, después de haber ejecutado comandos en varias sesiones SSH contra un mismo servidor, no aparezcan estos en el historial de BASH. Para solucionarlo, Linux y BASH proporcionan una solución muy sencilla para fusionar todos los historiales de comandos que se hacen en todos los terminales (tty) de las distintas sesiones SSH en un sólo historial.
7 meneos
117 clics
Espacios de nombres de red en el kernel de Linux [ENG]

Espacios de nombres de red en el kernel de Linux [ENG]

Los espacios de nombres (namespaces) en Linux son una característica relativamente nueva que es esencial para implementar contenedores. Un espacio de nombres envuelve un recurso global del sistema en una abstracción que es ligada sólo a los procesos dentro de dicho espacio de nombres proporcionando aislamiento de recursos. En este artículo se explicará el espacio de nombres de red y se mostrará un ejemplo práctico.
12 meneos
393 clics
¿Qué pasa cuando ejecutas “rm -rf” en una máquina con Linux? [ENG]

¿Qué pasa cuando ejecutas “rm -rf” en una máquina con Linux? [ENG]  

He hecho un pequeño vídeo para mostrar qué pasa exactamente al ejecutar “rm -rf” en una máquina con Linux. Spoiler: realmente no pasa nada, a no ser que utilices el parámetro --no-preserve-root. Aún así, por favor, no ejecutes nunca jamás estos comandos en servidores. Algunos no permiten que lo ejecutes, pero otros, generalmente más antiguos, felizmente borrarán todo el sistema.
5 meneos
73 clics

Microkernels L4: lecciones después de 20 años de investigación y despliegue [ENG]

El microkernel L4 tiene 20 años de uso y evolución. Además, tiene una comunidad de usuarios y desarrolladores muy activa junto con versiones comerciales desplegadas en sistemas a gran escala y críticos. En este artículo se examinarán las lecciones aprendidas después de 20 años de diseño y desarrollo de microkernels L4, desde sus orígenes hasta las últimas implementaciones. [Este artículo es un extracto, pero se puede descargar la publicación completa en PDF: www.nicta.com.au/pub-download/full/8988 615 KB]
4 meneos
64 clics
Tutorial: cómo poner seguridad en GitLab Pages con TLS y Let's Encrypt [ENG]

Tutorial: cómo poner seguridad en GitLab Pages con TLS y Let's Encrypt [ENG]

En esta entrada hablaremos de cómo usar HTTPS (con TLS) en GitLab Pages usando un certificado de Let's Encrypt.
6 meneos
66 clics
Desplegar un servidor de IRC en Ubuntu [ENG]

Desplegar un servidor de IRC en Ubuntu [ENG]  

A pesar de su gracioso nombre, InspIRCd es uno de los servidores de IRC de código abierto más sencillos de instalar desde que tiene paquete en los repositorios de Ubuntu. En estrada veremos cómo instalarlo y cómo configurarlo.
8 meneos
117 clics

Docker en LXD [ENG]

Desde los primeros tiempos de los contenedores de Linux (alrededor de 2006) tenemos que distinguir entre contenedores de aplicaciones y contenedores de sistema. En esta entrada se mostrarán sus pequeñas diferencias y se mostrará cómo usar Docker (contenedor de aplicaciones) en LXD (contenedor de sistema).
10 meneos
168 clics
La guía definitiva sobre las llamadas al sistema de Linux [ENG]

La guía definitiva sobre las llamadas al sistema de Linux [ENG]  

Esta entrada explica cómo funcionan las llamadas al sistema (system calls) del kernel Linux. Además, también explica diferentes métodos de creación de llamadas al sistema, cómo hacer llamadas al sistema de forma manual, los puntos de entrada y de salida de las llamadas al sistema en el kernel, las funciones relacionadas en glibc, errores y mucho, mucho más.
6 meneos
66 clics
El error palinopsia: ¿está VirtualBox leyendo tu correo? Reconstrucción del framebuffer desde la VRAM [ENG]

El error palinopsia: ¿está VirtualBox leyendo tu correo? Reconstrucción del framebuffer desde la VRAM [ENG]  

Este documento describe un método de lectura y muestra de los framebuffers usados previamente por ciertas populares tarjetas gráficas. En los cuatro portátiles probados, el contenido de la memoria VRAM no fue borrada después de un reinicio, por lo que fue posible que la memoria VRAM del anfitrión fuera leída por un huésped VirtualBox, con lo que se podría leer información confidencial de un anfitrión confiable desde un huésped no confiable.
17 meneos
248 clics

Por qué no uso preprocesadores de CSS [ENG]

Siempre que digo que no uso preprocesadores de CSS obtengo extrañas miradas de gente que no imagina escribir CSS sin un preprocesador como Less o Sass. Así que tengo que defender mi elección y explicar los porqués una y otra vez. Alguna gente lo entiende, la mayoría no. O no quieren. Así que aquí está un intento de explicar el razonamiento de mi elección.
15 2 0 K 61
15 2 0 K 61
7 meneos
154 clics
Simulación de gráficos de juegos en monitores CRT [ENG]

Simulación de gráficos de juegos en monitores CRT [ENG]  

En los últimos años he lanzado una serio de juegos indie cuyos gráficos eran de tipo pixel art modificados con un filtro para simular un monitor CRT. En varias ocasiones me han preguntado cómo funciona este simulador y si podría ser adaptado a otro tipo de software (como emuladores u otros populares motores de juegos), entre otras cosas, así que en esta entrada contaré la historia y la motivación de esta simulación de monitor CRT junto con notas prácticas sobre su implementación.
11 meneos
146 clics
Un breve vistazo a cómo varios editores de texto gestionan sus datos textuales [ENG]

Un breve vistazo a cómo varios editores de texto gestionan sus datos textuales [ENG]

Esta es una reseña de cómo varios editores de texto gestionan sus datos textuales dentro de la memoria. Los programadores queremos las mejores herramientas para el trabajo, pero ¿qué significa lo mejor? Para algunos lo mejor de la edición de alta eficiencia física. Otros prefieren que sus editores sean totalmente eficaces para sacarles el máximo partido. Hay una carrera para conseguir estas características y en este artículo se muestra qué han elegido sus desarrolladores para conseguirlas.
5 meneos
38 clics
Introducción para desarrollar componentes de LLVM en Go [ENG]

Introducción para desarrollar componentes de LLVM en Go [ENG]

LLVM es una infraestructura para crear compiladores. Fue creada por Chris Lattner en 2000 y lanzada en 2003. Desde entonces, ha evolucionado en un proyecto paraguas que alberga multitud de utilidades. La principal característica de LLVM es un IR, es decir, su lenguaje intermedio de representación de código. La idea es que puedas compilar cualquier lenguaje de programación en IR y este en cualquier código máquina o bytecode. En este tutorial veremos cómo empezar a hacer un frontend de LLVM desarrollado en Go.
6 meneos
137 clics
Introducción a LXD 2.0, el gestor de contenedores a través de LXC en Linux [ENG]

Introducción a LXD 2.0, el gestor de contenedores a través de LXC en Linux [ENG]

Como está cerca de salir la versión 2.0 de LXC, LXD y LXCFS, creo que es una buena idea hablar sobre las cosas nuevas que van a venir en esta versión del proyecto desde que comenzó hace año y medio. En esta serie de entradas hablaré de qué es LXC y LXD, de la instalación y configuración, de los primeros pasos con contenedores y de su API, entre otras muchas cosas.
8 meneos
119 clics

Introducción a la arquitectura ARMv8 de 64 bits [ENG]

La arquitectura ARM es una arquitectura de tipo RISC (Reduced Instruction Set Computer). Originalmente ARM significaba “Acorn RISC Machine” pero hoy su significado es “Advanced RISC Machines”. En los últimos años los procesadores ARM, gracias a la difusión de los teléfonos inteligentes y las tablets, se han convertido en procesadores muy populares, sobre todo gracias a sus reducidos costes y mayor eficiencia energética comparados con procesadores CISC.
7 meneos
98 clics
Gestiona contraseñas desde la línea de comandos con “pass” [ENG]

Gestiona contraseñas desde la línea de comandos con “pass” [ENG]  

“pass” es un gestor de contraseñas simple y flexible para la línea de comandos que sigue la filosofía Unix. La aplicación guarda cada contraseña en un archivo GPG cifrado y permite organizarlos en forma de jerarquía.
5 meneos
183 clics

Comparación entre C++ y D [ENG]

Comparación de características entre los lenguajes de programación C++ y D, incluyendo algunas características de la futura versión de C++, C++17.
5 meneos
146 clics
NodeOS ya no es un sistema operativo de juguete [ENG]

NodeOS ya no es un sistema operativo de juguete [ENG]  

Esta versión de NodeOS parece que ha tenido poco movimiento, pero el hecho es que ha tenido grandes progresos más allá de la repercusión del proyecto, entre ellos, encontrar un error que ha permanecido oculto durante año y medio. Eso puede volver loco a cualquiera.
8 meneos
194 clics
Diez paquetes de SublimeText para desarrolladores web

Diez paquetes de SublimeText para desarrolladores web  

SublimeText es una de los editores de texto líderes del mercado; la extensibilidad de su sistema de paquetes le hace muy flexible. Cada desarrollador puede seleccionar los paquetes que más le interesan para cada proyecto. Vamos a revisar algunos de los más interesantes para desarrolladores web, empezando por Package Control, el gestor de paquetes de Sublime; debemos instalarlo para poder acceder al resto.
8 meneos
140 clics
Entendiendo los archivos y las unidades de systemd [ENG]

Entendiendo los archivos y las unidades de systemd [ENG]

Cada vez más distribuciones de Linux están adoptando systemd como sistema de inicio. Este potente software puede gestionar varios aspectos del servidor, como pueden ser servicios, puntos de montaje y estados del sistema. En systemd, una unidad (unit en inglés) se refiere a un recurso que el sistema es capaz de manejar. Este el primer objeto con el que systemd trabaja. Estos recursos son definidos en archivos de configuración llamados “unit files”.
6 meneos
62 clics

Manual de referencia básica de ZFS en Ubuntu [ENG]

A continuación se muestra un manual básico sobre la gestión de sistemas de archivos ZFS. Para mayor información sobre ZFS, consulte la excelente documentación escrita por Aaron Toponce (pthree.org/2012/04/17/install-zfs-on-debian-gnulinux ).
9 meneos
115 clics
Diez trucos para el editor Vi/Vim (volumen 2) [ENG]

Diez trucos para el editor Vi/Vim (volumen 2) [ENG]  

En esta entrada es la segunda parte de los trucos para el editor de texto Vi/Vim [Primera parte: www.meneame.net/m/SysDevs/diez-trucos-editor-vi-vim-volumen-1-eng ]. Vim (Vi IMproved) es la versión moderna del editor Vi, el editor de texto orientado a la consola originalmente creado para entornos Unix, que se encuentra presente o es instalable en todas las distribuciones de Linux.
10 meneos
145 clics
Diez trucos para el editor Vi/Vim (volumen 1) [ENG]

Diez trucos para el editor Vi/Vim (volumen 1) [ENG]  

En esta entrada se muestran diez útiles trucos del editor de texto Vi/Vim. Vim (Vi IMproved) es la versión moderna del editor Vi, el editor de texto orientado a la consola originalmente creado para entornos Unix. Vim está presente o es instalable en todas las distribuciones de Linux. Se podría preguntar, ¿por qué Vim? La respuesta es que principalmente por tres razones: Vim siempre está ahí; Vim es extremadamente potente; y Vim es altamente configurable.
7 meneos
158 clics

Cómo guardar una contraseña de forma segura en 2016 [ENG]

El problema: se necesita que la gente se pueda crear una cuenta con una contraseña para acceder a determinada aplicación. ¿Cuál es la forma más segura de implementar esta característica? La solución sencilla: usar libsodium, una biblioteca que proporciona algoritmos de cifrado de contraseñas para la mayoría de lenguajes. Además, a partir de la versión 1.0.9, libsodium ofrece el algoritmo Argon2, el último ganador de la Password Hashing Competition.
9 meneos
151 clics
Preparándose para HTTP/2: una guía para diseñadores y desarrolladores web [ENG]

Preparándose para HTTP/2: una guía para diseñadores y desarrolladores web [ENG]

El protocolo de transferencia de hipertexto (HTTP) es el protocolo que regula la conexión entre el servidor y los navegadores de los clientes web. Por primera vez desde 1999 tenemos una nueva versión de este protocolo que promete sitios web mucho más rápidos. En este artículo vamos a ver los conceptos básicos de HTTP/2 que se aplican a los diseñadores y desarrolladores web. Además, se explicarán algunas de las características clave del nuevo protocolo mirando la compatibilidad de los navegadores y de los servidores.

menéame