Sistemas & Desarrollo
132 meneos
2911 clics
Envío erróneo o controvertido, por favor lee los comentarios.

¿Cómo funcionan los sistemas de archivos basados en FAT?  

Voy a dedicar unas entradas en el blog a hablar del funcionamiento de los sistemas de archivos, un componente fundamental en la gran mayoría de sistemas informáticos. Voy a empezar con los basados en FAT sin centrarme en ninguno en concreto (FAT16, FAT32, exFAT,…). En esencia un sistema de archivos es un método ordenado que permite guardar datos sobre un soporte físico para luego poder acceder a ellos. Históricamente ha habido muchos enfoques a este problema: los sistemas más usados usan archivos, directorios y enlaces.
67 65 22 K 47
67 65 22 K 47
63 meneos
924 clics
Envío erróneo o controvertido, por favor lee los comentarios.

Google "AMP"

Google AMP es un nuevo "estándar" de google. AMP significa "Accelerated Mobile Pages", es decir un formato para acelerar páginas vistas por móvil. ¿En qué consiste? En un subconjunto de HTML y CSS en el que se suprimen ciertas etiquetas que, al menos en teoría, ralentizan la descarga y el "renderizado", añadir algunas etiquetas especiales y algunos scripts. El servicio se lanzó en febrero de 2016, pero reconozco que es la primera noticia que tengo, ha despertado entusiasmos... y críticas.
48 15 9 K 37
48 15 9 K 37
46 meneos
1244 clics
Catorce de los proyectos de código abierto más activos en GitHub

Catorce de los proyectos de código abierto más activos en GitHub  

En GitHub hay miles, incluso decenas de miles de proyectos de software open source (y otras muchas cosas, que abogados, periodistas o escritores están apuntándose cada vez más al versionado). Tantos que uno puede no saber por donde empezar. Una manera muy interesante es el propio ranking de tendencias de GitHub, una especie de Los 40 Principales del software libre, ideal para encontrar proyectos en los que colaborar, forkearlos o simplemente inspirarse. Estos son actualmente los más calientes a fecha de noviembre de 2017.
35 11 1 K 49
35 11 1 K 49
65 meneos
2579 clics
Envío erróneo o controvertido, por favor lee los comentarios.

Cosas que (probablemente) no sabías de Python

Python es un lenguaje muy popular hoy en día. Aunque pueda no ser el mejor, su desempeño es bueno, con mucha documentación, librerías, es cómodo y fácil de aprender. Python además sigue la filosofía de baterías incluidas, es decir, de intentar llevar de serie casi todo lo que vayas a poder necesitar. En este artículo vamos a ver algunas partes de Python no tan conocidas pero igualmente interesantes y útiles.
54 11 21 K 31
54 11 21 K 31
43 meneos
701 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
41 meneos
484 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.
39 meneos
681 clics
Cómo funciona la virtualización, parte 1: introducción a la virtualización [ENG]

Cómo funciona la virtualización, parte 1: introducción a la virtualización [ENG]

El propósito de esta serie de artículos es explicar cómo funciona la virtualización en la arquitectura x86 internamente, ya que mucha de la información que se muestra en trabajos académicos es bastante difícil de entender para principiantes, así que estos artículos empezarán desde cero e irán mostrando los conceptos y el conocimiento según sea necesario. Esta serie incluye, entre otras cosas: introducción a la virtualización; VMWare y virtualización completa; Xen y paravirtualización; KVM y Qemu; y virtualización con Intel VT-x.
24 15 0 K 40
24 15 0 K 40
58 meneos
1023 clics
Envío erróneo o controvertido, por favor lee los comentarios.

jq, el sed del siglo XXI

sed es una herramienta presente en cualquier sistema UNIX. Se trata de un editor de texto en modo streaming. Aunque sed es una herramienta muy potente, con un lenguaje de programación propio que es Turing completo, la mayor cantidad de usos son sustituir o extraer datos usando expresiones regulares y los comandos s y p. jq es sed para el siglo XXI porque trabaja de forma nativa con JSON, es decir, trabaja con objetos, no con texto plano.
31 27 8 K 26
31 27 8 K 26
27 meneos
825 clics
Por qué Uber cambió sus bases de datos de Postgres a MySQL [ENG]

Por qué Uber cambió sus bases de datos de Postgres a MySQL [ENG]  

La primera arquitectura de Uber consistía en una aplicación monolítica escrita en Python conectada a una base de datos PostgreSQL. Desde entonces, esta arquitectura ha cambiado bastante a un modelo de microservicios y nuevas plataformas de datos. Entre ellas destaca el cambio de PostgreSQL por Schemaless, una capa de abstracción sobre MySQL que construye una base de datos distribuida. En este artículo se explican las motivaciones técnicas que llevaron a dicho cambio.
29 meneos
635 clics
¿Por qué usar un FPGA en lugar de una CPU o GPU? [ENG]

¿Por qué usar un FPGA en lugar de una CPU o GPU? [ENG]

Recientemente Intel compró Altera, uno de los mayores productores de FPGA. Intel pagó la friolera de 16.7 mil millones de dólares, por lo que es su adquisición más grande de la historia. Por otro lado, Microsoft está utilizando FPGA en sus centros de datos, y Amazon los está ofreciendo en sus servicios en la nube. Anteriormente, estos FPGA se usaban principalmente en ingeniería electrónica, pero no tanto en ingeniería de software. ¿Están los FPGA a punto de despegar para convertirse en alternativas serias a las CPU y GPU?
30 meneos
360 clics

La mejor manera de guardar tus 'dotfiles': un repositorio 'bare' de Git [ENG]

El único requisito previo es instalar Git. No hacen falta herramientas adicionales, ni symlinks; los ficheros se vigilan en un sistema de control de versiones, puedes usar diferentes ramas de git para diferentes máquinas y puedes replicar fácilmente tu configuración en una nueva instalación.
36 meneos
163 clics
Bundle de Symfony para crear un sistema de votos basado en Menéame

Bundle de Symfony para crear un sistema de votos basado en Menéame

He subido un Bundle de Symfony para crear un sistema de votos basado en Menéame. Se pueden menear entidades (artículos o lo que sea), votar negativo, manejar los clics, mostrar el widget principal de menear y/o la barra inferior con votos anónimos, de usuarios y negativos. Se puede definir el porcentage máximo de votos anónimos, así como los mínimos votos anónimos permitidos antes de aplicar el porcentage máximo. También se pueden modificar las posibles razones del voto negativo y añadir traducciones. Traducciones incuidas en español e inglés.
21 15 0 K 42
21 15 0 K 42
29 meneos
561 clics
GRV, herramienta para ver repositorios de Git desde el terminal de Linux [ENG]

GRV, herramienta para ver repositorios de Git desde el terminal de Linux [ENG]  

GRV es una herramienta de código abierto para mostrar repositorios de Git desde el terminal de Linux. Esta herramienta provee información para ver referencias, ramas y diferencias en solapas separadas. Tanto el comportamiento como el estilo puede ser personalizado a través de configuración. Además, las referencias y los commits pueden ser buscadas a través de su lenguaje de consulta.
21 8 0 K 39
21 8 0 K 39
28 meneos
748 clics
Shell inversa con Powershell mediante una imagen PNG

Shell inversa con Powershell mediante una imagen PNG  

Imagina que cualquier imagen que visualizas en una web a parte de ser una simple imagen es también la “herramienta” que utiliza un atacante para ejecutar una shell inversa desde tu ordenador. Aparentemente esa imagen es un simple fichero PNG, pero entre sus píxeles se encuentra embebido un script en Powershell con un payload de Meterpreter. La herramienta que posibilita hacerlo fácilmente es Invoke-PSImage de Barrett Adams, que inserta los bytes del script en los píxeles de una imagen PNG y además genera un “oneliner” para ejecutarlo desde […].
19 9 0 K 42
19 9 0 K 42
28 meneos
859 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
20 meneos
382 clics
Cómo funciona Git (parte 2)

Cómo funciona Git (parte 2)

En el primer post de esta serie comenzamos a destripar el funcionamiento interno de Git, revisando los diferentes tipos de datos que Git soporta internamente dejando nuestro repositorio de ejemplo con un solo archivo llamado hello.txt en el directorio base conteniendo dicho archivo el texto “Hello World”. Tras hacer nuestro primer commit y añadir un tag, nos quedó la siguiente estructura interna.
18 2 0 K 30
18 2 0 K 30
40 meneos
902 clics
Envío erróneo o controvertido, por favor lee los comentarios.

Introducción a la expansión de parámetros en BASH [ENG]

En BASH, las entidades que almacenan valores que llaman parámetros. Sus valores pueden ser cadenas o arrays creados con una sintaxis regular, pero también pueden ser números enteros o arrays asociativos con unos atributos y una sintaxis específica con la función ‘declare’. En BASH hay tres tipos de parámetros: parámetros posicionales, parámetros especiales y variables.
26 14 9 K 29
26 14 9 K 29
21 meneos
270 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
20 meneos
317 clics

La E/S es más rápida que la CPU: separemos conceptos y quitemos la mayoría de abstracciones del SO [ENG|PDF 444 Kb]

La E/S es cada vez más rápida en servidores que tienen NIC programables rápidos y memoria principal no volátil funcionando a cerca de la velocidad de DRAM, pero la velocidad de los procesadores monohilo se ha estancado. Las aplicaciones no pueden aprovechar las capacidades del hardware moderno cuando usan interfaces creadas alrededor de abstracciones que asumen que la E/S es lenta. Por lo tanto proponemos una estructura para un sistema operativo llamada parakernel que elimina la mayoría de las abstracciones del sistema operativo proporcionando interfaces que aprovechen el máximo potencial del hardware. El parakernel facilita la paralelización particionando los recursos de forma segura.
16 4 0 K 45
16 4 0 K 45
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
20 meneos
226 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
17 meneos
311 clics
¿Cómo funcionan los sistemas basados en inodos?

¿Cómo funcionan los sistemas basados en inodos?

Después de ver cómo funcionan de forma genérica los sistemas FAT, saltamos a los sistemas de inodos. Estos se han usado tradicionalmente en sistemas UNIX (UFS, ext2), así que tradicionalmente ha existido una cierta rivalidad en las redes entre FAT e inodos similar a la de Windows/Linux. Lo cierto es que a nivel técnico cada uno tiene fortalezas y debilidades.
41 meneos
1224 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
16 meneos
471 clics
Vue.JS 2.0, un gran alternativa a AngularJS

Vue.JS 2.0, un gran alternativa a AngularJS

En esta entrada vamos a ver Vue.JS, un framework de JavaScript potente y ligero diseñado para construir interfaces web, especialmente en aplicaciones SPA (Single Page App). Vue.JS destaca por su velocidad, sencillez y ligereza. De hecho, es tan ligero que resulta adecuado incluso para dispositivos IoT como el ESP8266 y el ESP32. ¿Cuál es el interés en Vue.JS? ¿Por qué es interesante frente a otras opciones como Angular, React o Knockout? ¿Qué tiene Vue.JS que le hace tan especial? Lo respondemos a continuación.
18 meneos
295 clics
El nacimiento de la shell BASH [ENG]

El nacimiento de la shell BASH [ENG]

El scripting de shell es una disciplina esencial para cualquier administrador de sistemas, y el shell predominante en el que las personas escriben scripts hoy en día es Bash. Bash viene por defecto en casi todas las distribuciones de Linux y las versiones modernas de MacOS y está programado que sea una aplicación nativa de Windows Terminal. Bash, se podría decir, está en todas partes. Entonces, ¿cómo se llegó a este punto? Todo comenzó con Unix…

menéame