SISTEMAS & DESARROLLO
65 meneos
437 clics
Práctica funcionalidad de BASH: sustitución de procesos [ENG]

Práctica funcionalidad de BASH: sustitución de procesos [ENG]

Hace algún tiempo me surgió un problema en el trabajo donde tenía que comparar dos archivos descargados. La solución fue simple: descargar el primero archivo, descargar el segundo para finalmente ejecutar un diff entre ellos. Tres pasos: curl URL1 > file1; curl URL2 > file2; diff file1 file2. Pero antes de poder teclearlo, un compañero me quitó el teclado y escribió un raro código vudú que nunca había visto: diff <(curl URL1) <(curl URL2). ¿Qué rara sintaxis era esa? Más aún, ¿por qué iba el doble de rápido que mi solución?
55 10 1 K 50
55 10 1 K 50
8 meneos
190 clics
Cómo desarrollar tu propio cargador de arranque (boot loader) [ENG]

Cómo desarrollar tu propio cargador de arranque (boot loader) [ENG]

Este artículo está escrito para aquellos interesados en programación en lenguajes de alto nivel (C++, C#, Java) que a veces necesitan programar a bajo nivel en Windows. En nuestro ejemplo se tratará la programación a bajo nivel del cargador de arranque (boot loader). Además, se dedicará parte del tiempo a describir qué ocurre cuando un ordenador se enciende y se carga el sistema. Después de esto, se mostrará el proceso de escribir el código fuente de nuestro propio cargador de arranque.
30 meneos
263 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.
8 meneos
265 clics
La potencia de los recortes de código (snipples)

La potencia de los recortes de código (snipples)

Un recorte de código es una pequeña plantilla que podemos reutilizar dentro de un editor de textos. Esta plantilla se pega, en el texto que se está editando, al escribir una palabra y pulsar el tabulador. En el siguiente ejemplo, al escribir html5 y pulsar tabulador, se pega la plantilla correspondiente:
289 meneos
8452 clics

Consejos para crear scripts con suficiente calidad para ser de producción [ENG]

Los scripts de shell son una forma de automatizar tareas en sistemas Linux/Unix (u otros sistemas operativos). En esta entrada se darán consejos básicos para escribir scripts con la suficiente calidad como para ejecutarlos en producción, escritos de una forma clara y limpia y reportando correctamente los errores detectados dejando la mejor huella posible.
141 148 4 K 56
141 148 4 K 56
8 meneos
417 clics
Trucos para BASH [ENG]

Trucos para BASH [ENG]

Trucos para la shell BASH para acelerar el uso diario.
95 meneos
1999 clics
Envío erróneo o controvertido, por favor lee los comentarios.

Howto iDental  

Objetivo: iDental (Clínicas odontológicas low cost); WAF/IDS: CDN de Incapsula; Vulnerabilidad explotada: SQLInjection; Bypas de WAF: Script Base64; Programación: PHP; Java DataTable para la paginación de resultados; Base de Datos: MYSQL; Hosting: OVH. En un primer análisis comprobamos que el dominio dirige a una IP asignada a una CDN (Red de distribución de contenidos) de Incapsula Inc que actúa como WAF impidiendo escaneos con herramientas habituales. Un whois sobre el dominio nos indica que los datos de registro están […].
66 29 16 K 34
66 29 16 K 34
221 meneos
4742 clics
Análisis de Erebus, un ransomware para Linux

Análisis de Erebus, un ransomware para Linux

Esta semana hemos conocido que la empresa surcoreana NAYANA, proveedora de servicios web, sufrió un ataque de una variante del ransomware Erebus. El caso llamó la atención dado que infectó a 153 servidores, todos ellos con sistema operativo Linux, en el cual más de 3400 archivos se han visto afectados. En este artículo vamos a llevar a cabo un análisis sobre una muestra del ejecutable encargado de llevar a cabo la infección en esta última campaña de Erebus.
102 119 2 K 32
102 119 2 K 32
40 meneos
598 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
20 meneos
962 clics
Envío erróneo o controvertido, por favor lee los comentarios.
No pagues la tasa de los bucles ‘for’ [ENG]

No pagues la tasa de los bucles ‘for’ [ENG]

Una vez, haciendo una revisión de código de uno de mis compañeros, vi que usaba un bucle for cuando no era necesario (existía una declaración más legible) . Como chiste dije que habría que poner la “tasa bucle for” (for-loop tax) para cada bucle que se usase de forma innecesaria. Sin embargo, ese chiste me hizo pensar por qué la gente usa el bucle for, más propenso a errores, antes que otras soluciones mejores. La conclusión fue que nos enseñan cómo usar los bucles, pero apenas nos enseñan por qué se necesitan.
63 meneos
903 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
12 meneos
482 clics
En crudo y sin censura: raw sockets I (en C)

En crudo y sin censura: raw sockets I (en C)

Aprovechando que tengo que guardar reposo por un mini accidente laboral, he decidido ponerme con algo que llevaba posponiendo un tiempo (permitirme la redundancia): salsear un poquito con los sockets en C y ya de paso escribir una entrada en el blog. A lo largo de esta serie de entradas intentaré mostrar para qué podemos utilizar la programación de sockets (sobre todo los RAW) siempre mirando desde un prisma, digamos, oscuro. Soy consciente que no es un tema fácil de tratar, y mucho menos hacer que la lectura sea liviana a la […].
9 meneos
303 clics

Herramientas de línea de comandos más rápidas usando el lenguaje de programación D [ENG]

Esta entrada muestra cómo unas simples construcciones en el lenguaje de programación D pueden hacer que una ya rápida herramienta de línea de comandos se convierta en una especialmente rápida sin perder la simplicidad inherente del programa original. La solución es aplicable a muchos problemas de programación, no sólo a herramientas en línea de comandos. Esta entrada muestra cómo funcionan estas técnicas y por qué son efectivas.
8 meneos
88 clics
Ejecutar aplicaciones ZooKeeper sin usar ZooKeeper gracias a zetcd [ENG]

Ejecutar aplicaciones ZooKeeper sin usar ZooKeeper gracias a zetcd [ENG]  

Los sistemas distribuidos generalmente confían en protocolos de consenso para coordinar su trabajo. Estos protocolos garantizan que la información sea distribuida en orden y sin conflictos. La usabilidad de estos protocolos es evidente debido a la proliferación de varias implementaciones, como chubby, ZooKeeper, etcd, consul, etc. que, aunque difieren en filosofía, sirven los mismos datos. Como parte de etcd, el equipo ha desarrollado zetcd para servir peticiones de ZooKeeper sin ZooKeeper.
6 meneos
348 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.
9 meneos
478 clics
Aprendiendo de los 10 errores más comunes que comenten los desarrolladores [ENG]

Aprendiendo de los 10 errores más comunes que comenten los desarrolladores [ENG]

En esta lista se presentan los 10 errores más comunes que los nuevos desarrolladores (y a veces incluso los desarrolladores con experiencia) comenten, con el fin de aprender de los mismos y evitarlos. En esta lista se incluyen: no confiar en los datos de entrada del usuario; no hacer tests manuales, automatizarlos; no omitir la documentación; etc.
15 meneos
435 clics
La belleza de MIPS

La belleza de MIPS  

Todos los ordenadores, móviles y en general, cualquier dispositivo que lleva software necesita un procesador. Los procesadores se agrupan por familias, familias de procesadores que se programan igual, en un lenguaje llamado ensamblador. La más popular es Intel x86, presente en cualquier PC y en algunos móviles, tablets y servidores. Pero no voy a hablaros hoy de x86, ni de ARM, sino de MIPS. El ensamblador hecho bello. Adentrémonos en este mundo. Si nunca has visto ensamblador, este es tu momento. Si ya lo has visto, quizá te apetezca recordar.
12 3 0 K 37
12 3 0 K 37
14 meneos
461 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
616 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
173 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
222 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
410 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
252 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
212 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
513 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
« anterior123457

menéame