Sistemas & Desarrollo
14 meneos
526 clics
Una mirada constructiva a TempleOS [EN]

Una mirada constructiva a TempleOS [EN]

TempleOS es de alguna manera una leyenda dentro de la comunidad de los sistemas operativos. Su único autor, Terry A. Davis, ha gastado los últimos 12 años creándolo desde 0. Por desgracia, Terry sufre de esquizofrenia y tiene tendencia a aparecer en diferentes foros de programación con extraños y paranoicos comentarios, a menudo racistas. Quizás se puede ver templeOS como un sistema operativo de investigación: qué se puede conseguir cuando no se está bloqueado por el pensamiento establecido, la compatibilidad y la demanda del mercado.
13 1 0 K 39
13 1 0 K 39
11 meneos
703 clics
Los libros que como desarrollador de software no deberían faltar en tu estantería

Los libros que como desarrollador de software no deberían faltar en tu estantería  

Hace unos meses tuve la suerte de asistir a la JS CraftCamp de Munich, una interesantísima conferencia centrada en JavaScript desde el punto de vista del Craftsmanship. En ella, una de las sesiones que propuse en este Open Space y que resultó realmente enriquecedora, fue la de revisión de libros. La idea era simple: 45 minutos para hablar de libros que habíamos leído y por qué nos habían resultado de gran interés. La lista que salió como resultado fue muy larga, pero nunca os agobiéis por lo grande que pueda resultar una tarea.
7 meneos
190 clics

¿Cómo funciona la llamada al sistema ‘open’ en Linux? [ENG]

Como supongo que sabrás, nuestros programas interaccionan con el kernel mediante un mecanismo especial conocido como llamadas al sistema (system calls o syscalls). Si has escrito al menos un programa en C, sabrás que antes de hacer cualquier lectura y/o escritura a un archivo es necesario abrirlo. Para ello se utiliza la función ‘open’. En este caso es una función de la librería estándar (libc) y es ella la que se encarga de realizar la llamada al sistema por nosotros.
10 meneos
261 clics
Cómo cambiar los colores del comando ls en Linux

Cómo cambiar los colores del comando ls en Linux  

El comando ls es uno de los más utilizados cuando trabajamos en la consola; observamos que no hemos dedicado ningún artículo a este excelente comando en el blog, por lo que traemos el tutorial de cómo cambiar los colores de la salida del comando ls. De igual manera, vamos a dar una explicación breve de este comando y su uso basándonos en la información oficial y en varios métodos encontrados en la web con la misma finalidad, por lo que esté artículo va a ser una recopilación de varios métodos probados y funcionando.
12 meneos
494 clics
osTicket: el mejor sistema de tickets de código abierto

osTicket: el mejor sistema de tickets de código abierto  

He trabajado en par de empresas bastante grandes de mi natal Venezuela, en ambas, el departamento de soporte tenía muchas complicaciones a la hora de gestionar los problemas técnicos de los usuarios, las mismas, se fueron solucionando con el uso de diversas tecnologías, pero sobretodo con la puesta en marcha de un sistema de gestión de tickets. En este caso, y después de analizar varias propuestas (RT, OTRS, GLPI y osTicket), mi opinión es que el mejor es osTicket.
21 meneos
278 clics
Googler, una herramienta de línea de comandos para buscar en Google desde el terminal [ENG]

Googler, una herramienta de línea de comandos para buscar en Google desde el terminal [ENG]  

Googler es una potente herramienta desarrollada en Python para acceder a las búsquedas de Google (web y noticias) desde la línea de comandos en cualquier terminal de Linux.
11 10 0 K 41
11 10 0 K 41
15 meneos
243 clics
Lecciones aprendidas en 25 años de desarrollo del kernel Linux [ENG]

Lecciones aprendidas en 25 años de desarrollo del kernel Linux [ENG]

Debido a la celebración de los 25 años del inicio del desarrollo del kernel Linux en 2016, mucha gente nos ha preguntado el secreto de la longevidad y el éxito del proyecto. Generalmente me río y bromeo ya que no tengo ni idea. El proyecto se ha enfrentado a numerosos desacuerdos y desafíos. Pero ya hablando en serio, la razón que nos ha hecho llegar hasta aquí tiene mucho que ver con la capacidad de la comunidad para hacer instrospección y cambiar su modo de trabajar.
15 meneos
587 clics
¿Crees que sabes mucho de C? [ENG]

¿Crees que sabes mucho de C? [ENG]

Muchos programadores dicen que saben C. Tiene la sintaxis más famosa, tiene más de 44 años de historia y no tiene características oscuras. ¡Es fácil! Bueno, muchos programadores dicen que saben C. Lo más probable es que lo hayan aprendido en la universidad y que tengan algún tipo de experiencia en ello, porque en realidad no hay mucho más que saber. Pero en realidad C no es tan simple. Pero si piensas que sí lo es, prueba a hacer este test.
13 2 0 K 37
13 2 0 K 37
13 meneos
595 clics
Aplicando el requerimiento del “buen gusto” en la programación de Linus Torvalds [ENG]

Aplicando el requerimiento del “buen gusto” en la programación de Linus Torvalds [ENG]  

En una reciente entrevista a Linus Torvalds, el creador de Linux, este hizo un apunte sobre programar con “buen gusto”. ¿Buen gusto? El entrevistador le pidió algunos detalles al respecto y Linus presentó un trozo de código. Código que era un ejemplo de programación de “mal gusto” para poder hacer un contraste inicial. Entonces, ¿qué es programar con “buen gusto”?
8 meneos
186 clics
Cómo el depurador (debugger) pone los ‘breakpoints’ [ENG]

Cómo el depurador (debugger) pone los ‘breakpoints’ [ENG]  

Estoy fascinado con los depuradores (debuggers). Tanto que escribí un pequeño y muy básico depurador como uno de mis recientes proyectos. En esta entrada voy a escribir lo que he aprendido acerca de cómo un depurador establece un breakpoint.
10 meneos
200 clics

Buenas prácticas en el desarrollo de interfaces de línea de comandos [ENG]

Las interfaces de línea de comandos se siguen usando para la administración de infraestructuras de software. Aunque la mayoría de estas herramientas suelen ser internas, su calidad no debe ser diferente a las herramientas públicas. Para ello es conveniente seguir una serie de buenas prácticas durante su desarrollo.
10 meneos
161 clics
Cómo evitar errores usando C++ moderno [ENG]

Cómo evitar errores usando C++ moderno [ENG]

Uno de los mayores problemas de C++ es tener un gran número de constructores cuyo comportamiento no está definido o simplemente es inesperado para el desarrollador. Estos problemas se identifican generalmente cuando se pasa el analizador estático que es, hasta donde sabemos, la parte donde mejor se detectan dichos errores, en la fase de compilación. Veamos qué técnicas de C++ moderno nos ayudan a escribir código simple y limpio para evitar este tipo de errores.
13 meneos
482 clics
Diez razones para migrar a MariaDB si todavía usas MySQL [ENG]

Diez razones para migrar a MariaDB si todavía usas MySQL [ENG]

La primera versión de MySQL fue lanzada en 1995 por MySQL AB. Aunque al principio fue lanzada como una base de datos para uso personal, pronto evolucionó a una base de datos empresarial. En 2008, Sun Microsystems compró MySQL y en 2009 Oracle compró Sun Microsystems. Fue debido a la desconfianza con la administración de Oracle sobre MySQL por lo que se creó un fork: MariaDB. Con el paso del tiempo, MariaDB ha reemplazado a MySQL en numerosos ámbitos, siendo estas diez razones las que consideramos más importantes para hacer la migración.
4 meneos
146 clics
Mosh: el terminal móvil [ENG]

Mosh: el terminal móvil [ENG]  

Mosh es un terminal remoto que permite itinerancia, soporta conectividad intermitente y proporciona echo local inteligente y edición de pulsaciones de teclado del usuario. Mosh es un reemplazo de SSH. Es más robusto y más responsable, especialmente sobre redes wifi y redes móviles. Además, Mosh es de código libre y está disponible para Linux, Windows y macOS, entre otras plataformas.
12 meneos
669 clics
Las características de los malos programadores [ENG]

Las características de los malos programadores [ENG]

Descripción de arquetipos de desarrolles de software terribles que pueblan el ecosistema de "programación defensiva".
12 meneos
372 clics
Doce ideas de la filosofía Clean que no pueden faltar en tu código

Doce ideas de la filosofía Clean que no pueden faltar en tu código

Si has oído conceptos como SOLID, conoces a personas como Uncle Bob, o eres un experto en arquitecturas, seguro que has oído hablar sobre Clean o el código limpio. Esta filosofía básicamente aglutina un conjunto de ideas que pretenden hacer que el código sea más fácil de leer, mantener, extender y menos propenso a errores. La idea original surgió gracias al libro del mismo nombre escrito por Robert C. Martin (Uncle Bob), y del que he querido extraer algunas ideas que creo que son interesantes.
13 meneos
201 clics

¿Cuántas instrucciones tiene la arquitectura Intel x86? [ENG]

Aunque parezca mentira, es sorprendentemente difícil dar una respuesta correcta. De hecho, todo depende de cómo se cuenten. Y los detalles al respecto son bastante interesantes. Para no dejarte colgado: Intel tiene un software para codificar y decodificar instrucciones llamado XED que indica que hay 1503 instrucciones en la arquitectura x86, pero depende de cómo se cuenten. Por ejemplo, “ADD” y “LOCK ADD” son diferentes instrucciones, pero algunos ensambladores las cuentan como una sola, ya que la segunda es igual que la primera más un prefijo.
11 2 0 K 56
11 2 0 K 56
13 meneos
263 clics

Lo básico sobre la seguridad de aplicaciones web [ENG]  

El desarrollo de páginas web modernas tiene muchos retos. Uno de ellos es la seguridad, que habitualmente está subestimada. Mientras que algunas técnicas, como el análisis de amenazas, son cada vez más reconocidas como esenciales para cualquier desarrollo serio, hay también otras prácticas básicas que todo desarrollador debería estar haciendo como alto rutinario.
11 meneos
170 clics
Cómo plantarle cara al ‘legacy code’

Cómo plantarle cara al ‘legacy code’

Aunque podemos tener una discusión profunda sobre lo que es y lo que no es legacy code, hay un aspecto concreto que para mí puede marcar la diferencia, y es la confiabilidad con la que somos capaces de realizar cambios sobre el producto a medida que estos son requeridos por negocio. Si en una base de código en la que ciertas tarjetas de nuestro Kanban se eluden sistemáticamente por parte de los desarrolladores, se tiene un claro síntoma de que hay una gran porción del sistema sobre la que nadie quiere asumir el riesgo de su modificación.
5 meneos
125 clics

Crear un mirror para un volumen lógico LVM existente

Al crear un mirror LVM se crean copias idénticas de los datos del volumen lógico en los distintos dispositivos que lo componen. La idea inicial es tener protección ante fallos de dispositivos aunque podemos dar otros usos interesantes a esta funcionalidad. Los vemos a continuación.
27 meneos
824 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.
8 meneos
218 clics

Xplain: explicando cómo funciona el sistema de ventanas X11 [ENG]  

¿Qué son las X? ¿Cómo interaccionan con mi tarjeta gráfica y mi teclado y ratón? ¿Para qué usan las X las aplicaciones? ¿Qué es Wayland y cómo encaja en el contexto? ¿Cuáles son los problemas de las X que nos han llevado a escribir un nuevo sistema de ventanas? Estas y otras preguntas son las que me han llevado a indagar sobre cómo funciona el sistema de ventanas de X11 y a escribir este artículo.
9 meneos
247 clics
Diez reglas de la NASA de escritura de código fuente crítico y seguro [ENG]

Diez reglas de la NASA de escritura de código fuente crítico y seguro [ENG]

Todo gran proyecto de software utiliza estándares de codificación y reglas de estilo. Estas reglas establecen las bases que se han de seguir a la hora de escribir software como, por ejemplo, “¿cómo se debe estructurar el código?”; o “¿qué característica del lenguaje usado se debe usar y cuál no?”. Los desarrolladores de la NASA son unos de los que las siguen para poder desarrollar código crítico y seguro. Aquí están las 10 principales reglas que usan.
11 meneos
252 clics

El bucle ‘for’ en BASH, el primero paso en la automatización en Linux [ENG]

Creo que dominar el bucle ‘for’ en BASH en Linux es una de las partes fundamentales que tienen que conocer los administradores de sistemas (y los desarrolladores), lo que lleva sus habilidades hasta el siguiente nivel. En la siguiente entrada explicaré cómo funciona un bucle ‘for’ en BASH y mostraré varios útiles ejemplos.
8 meneos
69 clics

Ejecutar chequeos de SSL Labs desde la línea de comandos

La herramienta Qualys SSL Labs es sin duda de lo mejor que hay en Internet para auditar el estado de los servicios SSL/TLS y PKI de un servidor. Como es lógico, ejecutar la herramienta vía web genera ciertas limitaciones, como por ejemplo la ejecución masiva o automatizada de tests. A través de la API y la herramienta ssllabs-scan podemos evitar estas restricciones usando la línea de comandos.

menéame