Sistemas & Desarrollo
10 meneos
382 clics
Promedio de carga (load average) de Linux: resolviendo el misterio [ENG]

Promedio de carga (load average) de Linux: resolviendo el misterio [ENG]

El promedio de carga (load average) es una métrica importante en la industria. Mi empresa gasta millones en instancias en la nube basándose en esta y otras medidas, pero en Linux hay algo de misterio en torno a ella. El load average en Linux no sólo mide tareas ejecutables, sino que también mide tareas en el estado de sueño ininterrumpido. ¿Por qué? Nunca he visto una explicación, por lo que en este artículo voy a resolver este misterio además de mostrar algunos valores como referencia para todo el mundo cuando trata de interpretarlos.
11 meneos
111 clics
DwarFS, un sistema de archivos diseñado para reducir los datos redundantes

DwarFS, un sistema de archivos diseñado para reducir los datos redundantes

Marcus Holland-Moritz (un inginerio de software de Facebook) dio a conocer mediante una publicacion las primeras versiones de DwarFS, un sistema de archivos de solo lectura diseñado para maximizar la compresión y reducir los datos redundantes. Este sistema de archivos usa el mecanismo FUSE y se ejecuta en el espacio del usuario, el código está escrito en C++ y se distribuye bajo la licencia GPLv3. DwarFS se asemeja a los sistemas de archivos como SquashFS, cramfs y CromFS en sus tareas , y se puede usar para crear imágenes en vivo y reducir el tamaño de archivos con una gran cantidad de duplicados y datos duplicados (por ejemplo, almacenamiento de imágenes de máquinas virtuales).
10 meneos
212 clics

Cómo auditar SSH tanto en servidores como en clientes en sistemas Linux/UNIX [ENG]

Todos los desarrolladores y usuarios de Unix saben cómo utilizar un cliente ssh. OpenSSH es una implementación ampliamente utilizada del protocolo de comunicación de Internet Secure Shell (SSH). En los viejos tiempos, la gente de Unix usaba Telnet, que era inseguro. Por otro lado, SSH permite intercambiar datos utilizando un canal seguro entre dos hosts. Por lo tanto, todos los servidores Linux y Unix que se ejecutan en la nube o en el hogar necesitan un servidor OpenSSH para la administración y la automatización de TI.
12 meneos
140 clics
Examinando btrfs, el sistema de archivos perpetuamente a medio terminar de Linux [ENG]

Examinando btrfs, el sistema de archivos perpetuamente a medio terminar de Linux [ENG]

Btrfs, abreviatura de “B-Tree File System” y frecuentemente pronunciado “butter” o “butter eff ess”, es el sistema de archivos más avanzado presente en Linux. De alguna manera, btrfs busca suplantar ext4, el sistema de archivos predeterminado para la mayoría de las distribuciones de Linux. Pero btrfs también tiene como objetivo proporcionar funciones de próxima generación que rompan el molde simple del "sistema de archivos", combinando la funcionalidad de un administrador RAID, un administrador de volúmenes y más.
7 meneos
140 clics

Gestionando equipos remotos: cómo comenzar [ENG]

Digamos que estás gestionando una empresa convencional y que quieres experimentar con el trabajo remoto. Tienes un equipo sin experiencia en este tipo de trabajo pero, bueno, no puede ser tan difícil, ¿verdad? Puedes tener la tentación de decir: “bien, a partir de ahora, cualquiera puede trabajar desde su casa”. Resiste la tentación. Antes de decirle a la gente que puede trabajar de forma remota tienes que estar seguro de puedes gestionarlo.
6 meneos
49 clics
Código de conducta para el desarrollo de software abierto [ENG]

Código de conducta para el desarrollo de software abierto [ENG]

Este código de conducta resume nuestras expectativas para con los participantes dentro de la comunidad Atom así como medidas para la presentación de informes sobre comportamiento inaceptable. Nos comprometemos a proporcionar una comunidad acogedora e inspiradora para todos y esperamos que nuestro código de conducta sirva para ser honrado. Cualquier persona que viole el código de conducta puede ser expulsado de la comunidad.
6 meneos
100 clics
Construyamos un intérprete simple de un lenguaje de programación (Parte 1) [ENG]

Construyamos un intérprete simple de un lenguaje de programación (Parte 1) [ENG]

Realmente no importa si eres novato o desarrollador de software con experiencia: si no sabes cómo funcionan los compiladores e intérpretes, no sabes cómo funcionan los ordenadores. Es así de simple. Así que, ¿sabes cómo los compiladores e intérpretes funcionan? Quiero decir, ¿estás 100 % seguro de que sabes cómo lo hacen? Pero no te preocupes. Si sigues esta serie y construyes un intérprete y un compilador conmigo, aprenderás cómo funcionan. Al menos eso espero.
6 meneos
80 clics
Construyamos un intérprete simple de un lenguaje de programación (Parte 2) [ENG]

Construyamos un intérprete simple de un lenguaje de programación (Parte 2) [ENG]

La lección aprendida del libro “The 5 Elements of Effective Thinking”, donde un virtuoso de la trompeta da una clase donde pide que se toquen notas complejas —sus alumnos lo hacen bien— y luego notas simples —donde sus alumnos no lo hacen tan bien—, aplicada al software es que para llegar a ser un profesional no sólo hay que conocer las herramientas más complejas, sino también los principios más simples que hacen funcionar dichas herramientas. Ahora, sigamos con el desarrollo de nuestro intérprete. [1ª parte: menea.me/1gqb8 ]
8 meneos
132 clics

Tutorial para diseñar una CPU básica [ENG]

Siguiendo este tutorial podrás diseñar una CPU básica para la que podrás escribir su propio ensamblador. Luego podrás ir a presumir delante de tus amigos de lo bueno que eres.
6 meneos
48 clics

DMD, el compilador de referencia de D, ya está totalmente escrito en D [ENG]

DMD, el compilador de referencia del lenguaje de programación D, estaba escrito en C++ desde sus inicios. Pero una vez que el lenguaje se ha ido estabilizando, este compilador ha sido totalmente reescrito en el propio lenguaje, algo que se conoce como self-hosted compiler. [Enlace directo al pull request de GitHub: github.com/D-Programming-Language/dmd/pull/4923 ]
7 meneos
56 clics

Portando Linux a una nueva arquitectura, parte 2: el código inicial [ENG]

En la primera parte de esta serie (www.meneame.net/m/SysDevs/portando-linux-nueva-arquitectura-parte-1-ba ) hemos sentado las bases para portar Linux a una nueva arquitectura de procesador explicando los pasos preliminares (sin llegar a escribir ningún código fuente). Este artículo continúa desde allí profundizando en el código de arranque, lo que incluye desde el código necesario para arrancar Linux hasta la creación del primer hilo del kernel.
6 meneos
104 clics

Ocho trucos de GNU/GDB que deberías conocer [ENG]

A pesar de su edad, GDB sigue siendo una herramienta increíblemente versátil y flexible, y dominarla le puede ahorrar enormes cantidades de tiempo al tratar de depurar errores en el código. En esta entrada se compartirán 10 consejos y trucos para usar GDB para depurar de manera más eficiente.
6 meneos
211 clics
smallpt: iluminación global en 99 líneas de código C++ [ENG]

smallpt: iluminación global en 99 líneas de código C++ [ENG]  

smallpt es un procesador de iluminación global. Está escrito en 99 líneas de C++, es de código abierto y crea la escena mostrada en la imagen utilizando el algoritmo Monte Carlo de trazado de trayectorias.
7 meneos
88 clics

Introducción a Brotli, un nuevo algoritmo de compresión para Internet [ENG]

En Google creemos que el tiempo de los que los usuarios de Internet es útil y que no deberían tener que esperar mucho tiempo para que una página web cargue. Porque rápido es mejor que lento, hace dos años publicamos el algoritmo de compresión Zopfli. Este recibió una respuesta positiva en la industria que se ha integrado en muchas soluciones de compresión. Sobre este algoritmo y otras necesidades de compresión modernas, hoy estamos muy contentos de anunciar que hemos desarrollado y abierto un nuevo algoritmo de compresión para la web: Brotli.
8 meneos
187 clics

Las seis etapas de la depuración de programas informáticos [Humor] [ENG]

Las seis etapas de la depuración: 1. Esto no puede ocurrir. 2. Esto no ocurre en mi máquina. 3. Esto no debería ocurrir. 4. ¿Por qué ocurre esto? 5. Oh, lo veo. 6. ¿Cómo ha podido estar funcionando esto?
7 meneos
143 clics
Pinguy Builder, la herramienta definitiva para crear tu propia distribución de Linux

Pinguy Builder, la herramienta definitiva para crear tu propia distribución de Linux

Aunque existen muchas herramientas para crear tu propio pendrive de instalación o tu DVD de instalación de Linux, la verdad es que existen pocas herramientas que te permitan ir más allá y crear tu propia distribución de Linux personalizada. Una de las herramientas más famosas es Linux From Scratch pero para usarlo hay que tener conocimientos muy avanzados de Gnu/Linux. Hace poco apareció una herramienta que no necesitaba tantos conocimientos pero tampoco lo puede usar un novato, es una herramienta llamada Pinguy Builder.
7 meneos
135 clics
Seis tipografías monoespaciadas para programar y para el terminal en Fedora [ENG]

Seis tipografías monoespaciadas para programar y para el terminal en Fedora [ENG]  

Debido a que pasan la mayor parte de sus días usando terminales o editores, la mayoría de los administradores de sistemas y desarrolladores son bastante exigentes cuando se trata de elegir una tipografía monoespaciada para su uso. En esta entrada se muestran cinco tipografías monoespaciadas que se pueden instalar fácilmente desde los repositorios oficiales de Fedora para que los editores de texto y/o los terminales tengan una interfaz un poco más agradable.
8 meneos
198 clics
Las principales 25 herramientas de monitorización de rendimiento y de depuración en Linux [ENG]

Las principales 25 herramientas de monitorización de rendimiento y de depuración en Linux [ENG]

He compilado 25 herramientas de monitorización de rendimiento y depuración que son útiles cuando se está trabajando en entornos Linux. Esta lista no es completa, sin embargo tiene suficientes herramientas como para que se pueda probar y elegir las adecuadas en cada situación.
7 meneos
121 clics
Como cifrar imágenes en base64 en Linux para insertarlas en CSS

Como cifrar imágenes en base64 en Linux para insertarlas en CSS

Para insertar imágenes codificadas en base64 en el propio CSS el primer paso es realizar una optimización de dicha imagen. Para ello podemos usar cualquier herramienta de edición gráfica, como por ejemplo GIMP. El siguiente paso es obtener la codificación en base64 de nuestra imagen, para lo que usaremos el comando base64 que viene instalado en la mayoría de distribuciones de Linux. El paso final es insertar el texto obtenido en el CSS usando la función url() de la forma: url("data:image/png;base64,XXXXXXXX").
10 meneos
199 clics
Expresiones regulares: Rust vs. F# vs. Scala vs. D vs. Elixir vs. Haskell vs. Nemerle [ENG]

Expresiones regulares: Rust vs. F# vs. Scala vs. D vs. Elixir vs. Haskell vs. Nemerle [ENG]

Implementemos la siguiente tarea en diferentes lenguajes de programación: leer los primeros 10 millones de líneas de un archivo de texto con un formato determinado y luego encontrar los espacios de nombres de Microsoft e imprimirlos en la forma más común (es decir, similar a “Microsot.Win32.IAssemblyEnum”). Finalmente, calculemos los tiempos de ejecución en cada lenguaje de programación.
10 meneos
163 clics

Siete escándalos respecto al comportamiento del preprocesador de C [ENG]

Un escándalo es cuando se usan principios morales cuestionables que causan daño público. Y escándalo es una palabra perfecta para definir el comportamiento del preprocesador de C. Fui consciente de esto cuando hice mi propio compilador de C, así que he recopilado los siete escándalos más sonados que he descubierto.
13 meneos
120 clics

Todo sobre la programación de señales en Linux [ENG]

El artículo describe cómo funcionan las señales en Linux y cómo se manejan usando el API de POSIX. Se cubrirán las funciones en todos los sistemas modernos de Linux, cosa que también se puede aplicar a la mayoría de los sistemas POSIX (a menos que se indique lo contrario). Para seguir bien el artículo se recomienda tener un conocimiento básico acerca de señales.
12 meneos
108 clics
Cómo descargar correctamente un archivo en PHP

Cómo descargar correctamente un archivo en PHP

Muchas veces nos encontramos con la necesidad de gestionar la descarga de archivos, por ejemplo para securizar la descarga o para obligar que un archivo no se visualice sino que se descargue. En este tutorial veremos como optimizar las descargas para realizarlas de la forma correcta.
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.
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.

menéame