Sistemas & Desarrollo
43 meneos
679 clics
Hay una persona en Astorga de la que depende la marcha de la economía mundial

Hay una persona en Astorga de la que depende la marcha de la economía mundial

El 8 de noviembre Marak Squires —desarrollador de varios proyectos open source— publicó una issue en el repositorio de GitHub de faker.js en la que afirmaba literalmente que se había cansado de trabajar gratis para las grandes corporaciones que usaban su software. A principios de enero, decidió subir una última versión de «faker.js» que eliminaba todo su código y otra de «colors.js», que ejecutaba un bucle infinito que imprimía caracteres aleatorios, y provocó que todas las aplicaciones que los usaban empezaran a fallar en cadena.
35 8 2 K 57
35 8 2 K 57
114 meneos
3011 clics
La velocidad del tiempo [ENG]

La velocidad del tiempo [ENG]

¿Cuánto tiempo se tarda en leer la hora? ¿Cómo medirías el tiempo? Estas extrañas preguntas salieron a la luz en 2014 cuando Netflix estaba cambiando los servicios de CentOS Linux a Ubuntu, y ayudé a depurar varios extraños problemas de rendimiento, incluido el que describiré aquí. Si bien es poco probable que vuelva a encontrarse con este problema específico, lo interesante es este tipo de problemas y el método simple de depurarlo: una combinación pragmática de herramientas de observación y experimentación.
62 52 0 K 52
62 52 0 K 52
12 meneos
136 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.
9 meneos
165 clics
Entender la pila de audio en sistemas Unix [ENG]

Entender la pila de audio en sistemas Unix [ENG]

El audio en Unix es un pequeño zoológico, hay tantas siglas para proyectos y API que es fácil perderse. ¡Abordemos ese problema! La mayoría de los artículos son confusos porque utilizan jerga técnica de audio o porque apenas rascan la superficie y dejan a la gente sin pistas. Poco de conocimiento puede ser peligroso. En este artículo intentaré cerrar la brecha al no requerir ningún conocimiento previo y al mismo tiempo brindar una buena descripción general de todo el panorama de audio de Unix.
10 meneos
207 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.
21 meneos
269 clics

Guía de programacion de módulos del kernel Linux [ENG]

Este libro es una guía de programación de módulos del kernel Linux que se puede distribuir libremente. Inicialmente se centró en la versión 2.2 del kernel hasta que su autor principal, Ori Pomerantz, dejó de tener tiempo para mantenerlo actualizado, con lo que sus mantenedores han cambiado a lo largo de los años hasta que, finalmente, Jim Huang se hizo cargo de su actualización para cubrir hasta las versiones 5.x del kernel Linux.
17 4 0 K 26
17 4 0 K 26
209 meneos
5293 clics
Mejora tus scripts en BASH con sólo 15 minutos de tutorial [ENG]

Mejora tus scripts en BASH con sólo 15 minutos de tutorial [ENG]

Los consejos y trucos que se muestran a continuación para hacer mejores scripts en BASH aparecieron originalmente como uno de los episodios de “Testing on the Toilet” (TOTT) de Google. Esta es una versión revisada y mejorada.
122 87 0 K 54
122 87 0 K 54
9 meneos
110 clics
Servicios “trampa” para detener la ejecución de ransomware

Servicios “trampa” para detener la ejecución de ransomware

Ollie Whitehouse de NCC Group ha publicado SWOLLENRIVER, una interesante herramienta bajo licencia AGPL que implementa una serie de procesos canarios que se controlan entre sí. Si estos servicios se detienen (a través de net stop o similar) y no durante el cierre del equipo, disparará un token Canary DNS e hibernará el host. Si a algunos no os suenan los Canary Tokens deciros que es un concepto muy interesante en el mundo Deception/honeypots. Es como los clásicos web bugs que se incluían en los correos electrónicos, imágenes transparentes que se cargaban mediante una URL única embebida en una image tag, alertando al “cazador” que está monitorizando.
11 meneos
217 clics
Cómo hackear la unidad de gestión Bosch lcn2kai que traen algunos vehículos Nissan [ENG]

Cómo hackear la unidad de gestión Bosch lcn2kai que traen algunos vehículos Nissan [ENG]  

Mi Nissan Xterra vino con una unidad de gestión con pantalla táctil, navegación incorporada, pantalla de cámara marcha atrás, funciones multimedia y conectividad para teléfonos inteligentes. Algunas de las funciones más avanzadas solo están disponibles a través de la aplicación NissanConnect, que requiere registro y suscripción. Nunca lo he usado y ni siquiera estoy seguro de si todavía es compatible. ¿No sería estupendo si pudiéramos ejecutar código en el dispositivo e incluso desarrollar nuestras propias extensiones y aplicaciones?
15 meneos
307 clics
Guía completa de LLVM para creadores de lenguajes de programación [ENG]

Guía completa de LLVM para creadores de lenguajes de programación [ENG]  

Esta es una parte de una serie de publicaciones donde se crea una lenguaje de programación que soporta concurrencia y orientación a objetos llamado Bolt. En esta parte concretamente se habla de usar LLVM como backend de dicho lenguaje de programación para crear el código ejecutable a partir del lenguaje intermedio (IR) de LLVM proveniente del análisis sintáctico y semántico de fases previas.
13 2 0 K 43
13 2 0 K 43
11 meneos
109 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).
209 meneos
3805 clics
Arrancar un 486 desde un disquete con el kernel Linux más reciente y estable hasta a la fecha [ENG]

Arrancar un 486 desde un disquete con el kernel Linux más reciente y estable hasta a la fecha [ENG]  

En agosto de 2019 participé en un concurso cuyo desafío era sincronizar un archivo MIDI con un sintetizador de voz cantando la letra. En el concurso de esta semana la idea era encontrar un ordenador con un 486 como procesador (pizza box form factor) y hacerlo funcionar, así que me puse a buscar uno por Internet. Después de encontrarlo, el reto era iniciar una versión reciente de Linux, cosa que no fue trivial. Finalmente, después de configurar el kernel de forma mínima y generar un pequeño initramfs, conseguí meterlo en un disquete e iniciar el equipo.
112 97 3 K 52
112 97 3 K 52
10 meneos
380 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.
41 meneos
482 clics
Construye tú mismo una estación meteorológica. Parte 1 [ENG]

Construye tú mismo una estación meteorológica. Parte 1 [ENG]

En esta serie de publicaciones, cubriremos cómo construir una estación meteorológica IoT alimentada por un tablero web y un bot de Telegram. Primero comenzaremos desde la vista de pájaro y cubriremos la arquitectura de lo que vamos a hacer.
9 meneos
115 clics
El microkernel seL4 ha sido verificado formalmente para procesadores RISC-V [ENG]

El microkernel seL4 ha sido verificado formalmente para procesadores RISC-V [ENG]

El kernel de un sistema operativo es el software que funciona a más bajo nivel en un ordenador. Es el código que funciona en modo privilegiado (S-Mode en RISC-V), por lo que es el responsable principal y único de la seguridad del sistema. Que un kernel, en este caso seL4, esté formalmente verificado significa que su implementación en C es funcionalmente correcta, ya que ha sido matemáticamente verificada mediante software probando que está libre de errores.
9 meneos
477 clics
Peculiaridades de TypeScript: cómo sus inconsistencias hacen que el lenguaje sea más complejo [ENG]

Peculiaridades de TypeScript: cómo sus inconsistencias hacen que el lenguaje sea más complejo [ENG]

TypeScript tiene un gran número de casos especiales y sorpresas en el compilador que dejan a los ingenieros rascándose la cabeza desconcertados. Mientras que estos comportamientos de forma individual no son muy perjudiciales, como un todo pueden hacer que sea más difícil para nuevos ingenieros formar un modelo mental en torno a este lenguaje. Aquí están tres de mis peculiaridades favoritas de TypeScript que hacen que los nuevos ingenieros se frustren continuamente.
136 meneos
1696 clics

Nuevo en PHP 8 [ENG]

Se espera que PHP 8, la nueva versión principal de PHP, se lance a fines de 2020. Está en un desarrollo muy activo en este momento, por lo que es probable que las cosas cambien mucho en los próximos meses. En esta publicación mantendré una lista actualizada de lo que se espera que venga: nuevas características, mejoras de rendimiento y cambios importantes. Debido a que PHP 8 es una nueva versión principal, hay una mayor probabilidad de que su código se rompa. Sin embargo, si se ha mantenido al día con las últimas versiones, la actualización no debería ser demasiado difícil, ya que la mayoría de los cambios importantes ya no se usaban en las versiones 7. *.
73 63 3 K 49
73 63 3 K 49
14 meneos
421 clics

Utilidad `wc` programada en D: 712 caracteres y sin saltos condicionales [ENG]

Después de leer el artículo “Superando a C con 80 líneas de Haskell: wc” pensé que podría hacerlo mejor en D. Así que escribí la misma utilidad, `wc`, en el lenguaje de programación D.
10 meneos
271 clics

Hackeos para operaciones con bits [ENG]

En la página Bit Twiddling Hacks hay una estupenda, antigua y esotérica recopilación de operaciones a nivel de bits para llevar a cabo todo tipo de funciones con valores numéricos de forma conveniente. Quien dice «conveniente» dice «de forma óptima» porque por lo general estas opciones requieren menos pasos y son más rápidas, o evitan ciertas operaciones de los procesadores que pueden añadir ciclos y resultar más lentas. [Vía Microsiervos]
150 meneos
7033 clics
Mitos que los programadores creen acerca de las cachés de las CPU [ENG]

Mitos que los programadores creen acerca de las cachés de las CPU [ENG]

Como ingeniero informático que ha pasado la mitad de una década trabajando con cachés de Intel y el Sun he aprendido un par de cosas acerca de la coherencia de las cachés. Este fue uno de los conceptos más difíciles de aprender en la universidad, pero una vez que se entiende realmente, empiezas a darle una gran valoración a los principios de diseño del sistemas.
74 76 2 K 41
74 76 2 K 41
20 meneos
223 clics
LizardFS, sistema de archivos distribuido, escalable y de código abierto

LizardFS, sistema de archivos distribuido, escalable y de código abierto

LizardFS es un sistema de archivos de clúster distribuido que permite dispersar datos en diferentes servidores, pero proporciona acceso a ellos en forma de una única partición grande, que se realiza por analogía con las particiones de disco tradicionales. La sección montada con LizardFS admite atributos de archivo POSIX, ACL, bloqueos, sockets, canales, archivos de dispositivo, enlaces simbólicos y duros. El sistema no tiene un solo punto de falla, todos los componentes son redundantes.
15 5 0 K 46
15 5 0 K 46
41 meneos
1221 clics
Envío erróneo o controvertido, por favor lee los comentarios.

Los archivos de ordenador como unidad de trabajo se están extinguiendo [ENG]  

Me encantan los archivos. Me encanta cambiarles el nombre, moverlos, ordenarlos, hacer una copia de seguridad, subirlos a Internet, restaurarlos, copiarlos y, oye, incluso desfragmentarlos. Creo que son geniales como metáfora de una forma de almacenar información. Me gusta el archivo como unidad de trabajo. Si necesito escribir un artículo, va en un archivo. Si necesito producir una imagen, está en un archivo. Pero he notado que estamos comenzando a alejarnos del archivo como una unidad fundamental de trabajo.
25 16 10 K 44
25 16 10 K 44
28 meneos
858 clics

Tipografías para programación menos conocidas [ENG]  

En los últimos meses me han interesado, incluso fascinado, las fuentes de programación. Como programadores, miramos texto todo el día: código, registros, salidas de comandos, herramientas de monitoreo, etc. Si vamos a ver texto todo el día, también podríamos hacer que sea fácil y agradable para nuestros ojos leer ese texto.
19 9 0 K 47
19 9 0 K 47
184 meneos
2110 clics
Nuevo inspector de websockets en las herramientas de desarrollo de Firefox [ENG]

Nuevo inspector de websockets en las herramientas de desarrollo de Firefox [ENG]  

El equipo de Firefox DevTools y nuestros colaboradores han trabajado arduamente durante el verano logrando que Firefox 70 estuviera repleto de mejoras. Estamos especialmente entusiasmados con nuestra nueva función de inspección de WebSocket. Para usar el inspector en este momento hay que descargar Firefox Developer Edition y luego abrir el panel Red de DevTools para encontrar la pestaña Mensajes. Pero lo primero es agradecer el trabajo a Heng Yeow Tan, el estudiante de Google Summer of Code (GSoC) responsable de la implementación.
92 92 2 K 41
92 92 2 K 41
222 meneos
3543 clics
El monumental impacto del lenguaje de programación C [ENG]

El monumental impacto del lenguaje de programación C [ENG]

C es un lenguaje tan fundamental que muchos de nosotros olvidamos cuánto ha cambiado. Técnicamente un lenguaje de alto nivel en el sentido de que requiere que un compilador para que el código sea ejecutable, aunque es lo más parecido al lenguaje ensamblador que a la gente le gusta tener en estos días (fuera de entornos especializados de poca memoria). También se considera que es el lenguaje que hizo posible casi todos los lenguajes que vinieron después.
107 115 0 K 61
107 115 0 K 61
« anterior1234511

menéame