Sistemas & Desarrollo
6 meneos
108 clics
Secuencias de escape en el terminal, el nuevo XSS para administradores de Linux [ENG]

Secuencias de escape en el terminal, el nuevo XSS para administradores de Linux [ENG]

Hace un par de semanas, la lista de correo OSS sobre seguridad tuvo un hilo muy interesante sobre los peligros de las secuencias de escape dentro de un terminal. Aunque no obtuvo mucha atención entonces, hay que tener en cuenta que las secuencias de escape permiten hacer cosas divertidas en un terminal —como enviar mensajes de commit que parpadeen—, pero también tienen su lado oscuro.
5 meneos
107 clics
Construyendo aplicaciones web con Make [ENG]

Construyendo aplicaciones web con Make [ENG]

La mayoría de los desarrolladores web utilizan una herramienta de construcción de algún tipo. No me refiero a software de integración continua como Jenkins CI (un sistema de construcción muy popular), sino al software de nivel inferior que se utiliza para obtener dependencias y construir las aplicaciones. Y hay una increíble variedad: Apache Ant (XML), Rake (Ruby), Grunt (Javascript), Gulp (Javascript), Broccoli (Javascript), NPM (Javascript)… Pero la herramienta que me gustaría ver en detalle es el abuelo de todos ellos: Make.
5 meneos
202 clics

¿Qué lenguaje de programación tiene el futuro más brillante como reemplazo de C entre D, Go y Rust y por qué? [ENG]

A pesar de mi estatus y el sesgo evidente como cocreador de D, voy a hacer mi mejor esfuerzo para responder con franqueza. Sigo el desarrollo de Go y de Rust y también conozco cuáles son los trapos sucios de D. Además, animo a las personas con posiciones similares en las comunidades Rust y Go a compartir también su honesta opinión. En primer lugar, C++ tiene que estar en alguna parte en la pregunta. Ya sea para ser sustituido junto a C o para ser uno de los candidatos a sustituir al propio C, C++ es clave en la ecuación.
7 meneos
112 clics
Xinu, el sistema operativo que no es Unix para entornos embebidos [ENG]

Xinu, el sistema operativo que no es Unix para entornos embebidos [ENG]

Aunque Xinu comparte conceptos e incluso nombres con Unix, su diseño interno difiere por completo. Xinu es un pequeño y elegante sistema operativo que soporta la creación dinámica de procesos, asignación dinámica de memoria, comunicación de red, sistemas de archivos locales y remotos, consola y funciones de entrada/salida independientes del dispositivo. Su pequeño tamaño hace que Xinu sea adecuado para entornos embebidos.
5 meneos
113 clics
Técnicas de antidesensamblado usadas por malware [ENG]

Técnicas de antidesensamblado usadas por malware [ENG]

Es probable que los autores de malware implementen algún tipo de método para que a los analistas de este tipo de software malicioso les resulte difícil averiguar el código fuente durante el análisis estático. La implementación de estas instrucciones en ensamblador no causa ningún problema en la ejecución del programa, pero confundirá herramientas de análisis estático como IDA Pro a la hora de interpretar el código correctamente.
8 meneos
140 clics
Mi primer debug. Primeros pasos con gdb, Valgrind y strace

Mi primer debug. Primeros pasos con gdb, Valgrind y strace  

¿A quién no le ha pasado? Estas programando en C++ y de repente, cuando antes todo iba bien, ahora el programa se cierra inesperadamente (un crash) y no sabes el motivo. En algunos lenguajes como Rust, el propio compilador y el lenguaje evitan estas situaciones, pero en C++ la situación es mucho más estimulante. Recientemente, trabajando en Kovel, tuve uno de estos incidentes inesperados. Pero más inesperada fue su aparición, pues en Debian, donde programo actualmente, el programa se ejecutaba normalmente. Sin embargo en Windows el […].
5 meneos
118 clics
La técnica de «blur up» para cargar imágenes de fondo con CSS [ENG]

La técnica de «blur up» para cargar imágenes de fondo con CSS [ENG]  

Los filtros de imágenes en CSS han estado ahí durante un tiempo y, junto a otras técnicas como los diferentes modos de mezcla, nos traen nuevas posibilidades para la recreación y manipulación de elementos en el navegador que antes teníamos que hacer en editores gráficos. En esta entrada se explora una técnica usando uno de los más olvidados efectos de filtro —la función filter— así como a recrearla usando imágenes SVG.
5 meneos
163 clics
Aprendiendo a programar en el lenguaje de programación D [ENG]

Aprendiendo a programar en el lenguaje de programación D [ENG]

«Learning D» es la página web que acompaña al libro del mismo nombre escrito por Michael Parker. Esta página se ha creado para ir un poco más allá del libro y aprender más acerca del lenguaje de programación D.
7 meneos
155 clics
Análisis de rendimiento de datos: poner /tmp en un sistema de archivos tmpfs [ENG]

Análisis de rendimiento de datos: poner /tmp en un sistema de archivos tmpfs [ENG]

Poner /tmp en un sistema de archivos tmpfs hará que se mejore el rendimiento de la entrada/salida en sistemas Linux, se reduzca su huella ecológica y el uso de energía, se estire la duración de la batería en portátiles, se extienda la vida de los discos SSD y se proporcione mayor seguridad. De hecho, creo que deberíamos hacer esto de forma predeterminada en servidores Ubuntu, incluida la nube. Habiendo hecho tests con 502 servidores, cerca del 99 % podrían poner todos sus datos de /tmp en la memoria sin ningún problema.
9 meneos
247 clics
No tengo ni idea de qué estoy haciendo (pero) soy programador [ENG]

No tengo ni idea de qué estoy haciendo (pero) soy programador [ENG]

¿Por qué aprender por prueba y error es la mejor forma de tirar tu tiempo y el dinero del cliente? Cuanto más trabajo en diferentes proyectos y más colaboro con otros desarrolladores, más veo el enfoque de desarrollo “no tengo ni idea de qué estoy haciendo, pero lo voy a intentar”, lo que puede producir unos cuantos problemas. De lo que se saca una conclusión sencilla: es muy difícil ser un buen desarrollador.
6 meneos
87 clics
Presentación: HTTP/2 para desarrolladores de PHP [ENG]

Presentación: HTTP/2 para desarrolladores de PHP [ENG]  

La semana pasada tuve el placer de hablar en la conferencia PHP & Friends realizada en el FOSDEM (Bruselas). Las diapositivas para mi charla “HTTP/2 para desarrolladores de PHP” se pueden ver a continuación.
7 meneos
84 clics
La propiedad de CSS ‘background-clip’ y sus casos de uso [ENG]

La propiedad de CSS ‘background-clip’ y sus casos de uso [ENG]  

‘background-clip’ es una de esas propiedades que se conocen durante años pero que raramente se usan más allá de alguna pregunta en Stack Overflow. Hasta el año pasado, cuando empecé a crear mi gran colección de controles deslizantes (sliders). Algunos de mis diseños eran complejos y sólo disponía de un elemento por control (que solía ser un input) incluso sin poder usar pseudoelementos. Así que comencé a usar fondos, sombras y bordes, lo que hace que la propiedad ‘background-clip’ sea especialmente útil.
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 ).
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.
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
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]
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.
5 meneos
35 clics

Interfaces en Snappy [ENG]

Snappy es una plataforma moderna de software (gestión de paquetes autocontenidos) que incluye la capacidad de definir interfaces entre diferentes paquetes (snaps) para controlar la seguridad y el confinamiento, control exhaustivo de los cambios en el sistema y otras características de aislamiento de aplicaciones. En esta entrada se verá cómo funcionan las interfaces de los paquetes de Snappy.
6 meneos
120 clics

Aventuras programando en D [ENG]

Recientemente he desarrollado un gran proyecto usando el lenguaje de programación D inicialmente escrito en Python. Como raramente dejo C, C++ o Python y esta vez me he decidido por D, quiero comentar mis experiencias al respecto por si a alguien que esté pensando en usar D le pueda resultar interesante.
6 meneos
134 clics
Emacs como un IDE C++ [ING]

Emacs como un IDE C++ [ING]  

Vídeo de la CppCon 2015. Átila Neves nos cuenta como convertir Emacs en un IDE efectivo para C++.
8 meneos
79 clics
LXD, ZFS y ‘bridged networking’ en Ubuntu 16.04 [ENG]

LXD, ZFS y ‘bridged networking’ en Ubuntu 16.04 [ENG]

LXD funciona perfectamente bien con el almacenamiento basado en directorio, pero la velocidad y la fiabilidad se mejora en gran medida cuando se utiliza ZFS en su lugar. Ubuntu 16.04 es la primera versión que da apoyo oficial a ZFS y, habiendo configurado un ordenador con LXD en Elastichosts utilizando tanto ZFS como bridged networking, creo que sería un buen momento para documentarlo.
11 meneos
217 clics
Etcher - Una forma sencilla de instalar una distro Linux en un pendrive

Etcher - Una forma sencilla de instalar una distro Linux en un pendrive

Etcher es un software creado con Node.js, Electron, JS y HTML que nos permite grabar imágenes de distribuciones Linux en un pendrive para poder disponer de nuestro propio sistema operativo en cualquier ordenador.
8 meneos
202 clics

Curso de AngularJS y REST

Bienvenido al curso completo de AngularJS y REST con Java y Sprint en Español. Este curso pretende enseñarte como crear una aplicación web con AngularJS en la parte cliente y un servidor REST con Java y Spring.
6 meneos
141 clics

Interfaces de validación de formularios en HTML y CSS [ENG]  

Se puede hacer una cantidad impresionante de validaciones de formularios sólo usando atributos de HTML y hacer la experiencia de usuario mucho más limpia y sencilla gracias a los selectores de CSS, aunque se requieren unos pequeños trucos de CSS —que veremos a continuación— para que las cosas funcionen bien.
6 meneos
405 clics
Cinco razones por las que el lenguaje de programación D es una buena elección para el desarrollo [ENG]

Cinco razones por las que el lenguaje de programación D es una buena elección para el desarrollo [ENG]

El lenguaje de programación D es de propósito general, tiene tipado estático, sintaxis similar a C y C++ que compila a código nativo, etc. Estas son varias de las razones por las que este lenguaje de programación es una buena elección para desarrollar aplicaciones.

menéame