Sistemas & Desarrollo

encontrados: 32, tiempo total: 0.253 segundos rss2
289 meneos
9301 clics

De como escribir código imposible de mantener. [EN]

En el interés de crear oportunidades de trabajo en el campo de la programación en Java, describo algunos consejos de como escribir código tan difícil de mantener, que las personas que vengan después de ti tardarán años en hacer los cambios más simples. Además, si sigues estás reglas religiosamente, te aseguraras tu empleo de por vida, ya que no habrá persona viva salvo tú que pueda mantenerlo. De nuevo, si sigues estás reglas demasiado religiosamente, ni tu serás capaz de mantenerlo.
129 160 0 K 43
129 160 0 K 43
3 meneos
12 clics

El código binario del microkernel seL4 ha sido verificado formalmente para procesadores RISC-V [ENG]

En junio de 2020 anunciamos que el microkernel seL4 fue el primer kernel de sistema operativo del mundo con prueba de corrección de implementación verificada por máquina, también verificada para la arquitectura RV64, lo que lo convierte en el primer sistema operativo verificado formalmente para RISC-V. Ahora nos complace anunciar que esta verificación se ha extendido al código binario ejecutable, lo que significa que se ha demostrado que el código máquina que se ejecuta en el procesador es correcto. // Relacionada: El microkernel seL4 ha sido verificado formalmente para procesadores RISC-V.
4 meneos
15 clics

Internet depende de personas que trabajan gratis. [ENG]

¿Quién debería ser el responsable del mantenimiento y la resolución de problemas en proyectos de código abierto? Cuando compra un producto como las luces inteligentes de PhilipsHue o un iPhone, se asume que las personas que escribieron su código están siendo pagadas. Aunque eso es cierto para aquellos que crean directamente el software, prácticamente todas las empresas de tecnología confían también en miles de bits de código gratuito, disponible a a través de proyectos de código abierto en sitios como GitHub/Lab.
7 meneos
257 clics

Creando un código QR paso a paso [ENG]

Esta aplicación de demostración en JavaScript visualiza de forma detallada los pasos necesarios para codificar una cadena de texto en un código QR. El contenido de esta página esencialmente explica y justifica cómo esta biblioteca de generación de códigos QR trabaja internamente.
14 meneos
436 clics
¿Cómo de rápido es un teclado PS/2? [ENG]

¿Cómo de rápido es un teclado PS/2? [ENG]

Hace unas semanas, surgió una pregunta interesante: ¿cómo es de rápido un teclado PS/2? Es decir, ¿cómo de rápido puede enviar códigos de escaneo (bytes) al controlador del teclado? Uno también podría preguntar: ¿realmente importa? Pues sí, importa. Resulta que el tiempo de ejecución de Borland Turbo Pascal 6.0, y probablemente algunas versiones relacionadas, manejan la entrada del teclado de una manera poco ortodoxa. En tiempo de ejecución se instala un controlador propio en INT 9/IRQ 1 (interrupción del teclado) que lee el puerto 60h (datos de teclado) para luego encadenar al controlador original que lee el puerto 60h de nuevo esperando leer el mismo valor.
11 3 0 K 34
11 3 0 K 34
178 meneos
3679 clics
Escribiendo un emulador de Game Boy desde cero [ENG]

Escribiendo un emulador de Game Boy desde cero [ENG]  

Siempre he querido escribir un emulador desde cero, pero me he resistido durante mucho tiempo porque es probablemente el proyecto de programación más avanzado que he querido hacer. Escoger un sistema para emular no es una opción fácil; el primer proyecto estándar de emulador parece ser un emulador CHIP-8. Así que después de leer mucha documentación, decidí escribir un emulador de Game Boy minimalista, sin soporte para mapeadores personalizados o sonido, al que llamé proyecto Cinoop.
84 94 4 K 41
84 94 4 K 41
3 meneos
34 clics

Google lanza la biblioteca ‘cpu_features’ para identificar las características de la CPU [ENG]

Imagina que estás desarrollando una aplicación donde la velocidad es esencial y donde ciertas instrucciones del procesador la incrementan exponencialmente. Y aparece el problema: no es posible conocer a priori qué instrucciones soporta el procesador (identificar el fabricante no es suficiente). Se pueden crear mapas estáticas con modelos y características, pero es tedioso de mantener. Aquí es donde entra cpu_features, una librería pequeña, rápida y de código abierto para obtener las características de la CPU en tiempo de ejecución.
3 meneos
29 clics

Cómo escribir código inmantenible (y asegurarse un trabajo de por vida) [ENG|HUMOR]

En aras de crear oportunidades de empleo en el campo de programación en Java, les transmito estos consejos maestros sobre cómo escribir código que es tan difícil de mantener que las personas que lo siguen tardarán años en realizar incluso los cambios más simples. Además, si se siguen todas estas reglas al pie de la letra, se garantizará una vida de empleo, ya que nadie más que usted sabría mantener dicho código. Por otra parte, si se siguen todas estas reglas religiosamente, ¡ni usted mismo sería capaz de mantener este código!
2 1 0 K 32
2 1 0 K 32
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
12 meneos
333 clics
Código seguro en D [ENG]

Código seguro en D [ENG]

He visto a buenos programadores en C++ cambiarse a Java o C#. La pregunta es: ¿por qué lo abandonan una vez que tienen un amplio conocimiento del mismo? La respuesta universal es “productividad”. ¿Qué impide a C++ lograr productividad? La horrible sintaxis y la seguridad son dos de los mayores impedimentos. Aunque también tiene cosas buenas, como su gran rendimiento. Entonces, ¿existe algún lenguaje que sea sencillo, seguro y potente a la vez? Te voy a contar un secreto: ese lenguaje existe y es D.
8 meneos
333 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:
9 meneos
571 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.
2 meneos
33 clics

La importancia de escribir código limpio [ENG]

Si hablas bien, a la gente le encantará escucharte. La comunicación es un arte que puede enamorar a quien te escuche o puede hacer que te lluevan críticas. Esto pasa de forma similar en el mundo de la programación. Como dice Donald Knuth, “programar es el arte de decirle a otro ser humano lo que uno quiere que hagan los ordenadores”. Si escribes código horrible, no serás capaz de decirle a otra persona qué es lo que has escrito ni lo que quieres que haga el ordenador.
4 meneos
49 clics

Estilo de código en el kernel Linux [ENG]

En este pequeño documento se describe el estilo de código preferido para desarrollar el kernel Linux. El estilo de código es muy personal y no se va a forzar ningún estilo en este documento, pero escribir siguiendo determinada forma hace que el código sea mucho más mantenible. Pero, antes de nada, sugiero descargar e imprimir una copia del estilo de código GNU para NO leerla nunca. Quémala. Es un gran gesto simbólico. Y a continuación, las normas del estilo de codificación del kernel Linux.
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.
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.
5 meneos
29 clics

Aprendiendo a depurar con Git [ENG]

Git proporciona varias herramientas para depurar nuestro proyecto. Por ejemplo, con git blame es sencillo encontrar el autor de una determinada línea de código; con git grep es sencillo encontrar un texto en nuestro proyecto; y con git bisect es fácil encontrar el commit donde fue introducido un error.
2 meneos
50 clics

Prueba tu velocidad de Internet desde la consola  

En algún momento todos hemos utilizado alguno de los famosos sitios web que permiten probar la velocidad de tu Internet. El más famoso y usado es SpeedTest, pero lamentablemente sólo puede ser usado si tienes Flash instalado. De la necesidad de poder probar la velocidad de Internet en servidores nace tespeed, un script de código abierto, multiplataforma y desarrollado en Python por Janis Jansons, con el que se pueden realizar pruebas de velocidad de Internet utilizando los servidores de speedtest.net desde el terminal.
1 1 4 K -39
1 1 4 K -39
4 meneos
45 clics

Comandos y opciones poco conocidas de Git [ENG]  

Git tiene un fuerte compromiso con la compatibilidad hacia atrás, por eso muchas características están ocultas en opciones en lugar de puestas como el comportamiento predeterminado. Por suerte, Git soporta alias, por lo que se pueden crear comandos propios para hacer todo tipo de magia con Git, como se muestra en la siguiente lista.
2 meneos
86 clics

La estética del código fuente: a la búsqueda del arte en la programación  

Un lenguaje informático no es más que un conjunto de instrucciones que introducimos en una máquina para que esta opere permitiéndonos así desarrollar programas. De este modo, las distintas formas en que combinamos dichas instrucciones dan lugar a los diferentes estilos y escuelas responsables de lo que podemos denominar ‘la estética de la programación’. Esa estética, según las reglas a las que responda, se puede clasificar a su vez en cuatro grandes grupos que tradicionalmente, como muchas corrientes artísticas, han coexistido.
2 meneos
68 clics

Las nueve principales cualidades del código limpio [ENG]

¿Con qué frecuencia muestras tu incredulidad al navegar a través del código de alguien diciendo en voz alta “madre mía, esto es código de espagueti…”? Probablemente bastante a menudo. ¿Y cuán seguro estás de que nadie pensó lo mismo cuando se trataba de tu código? En otras palabras, ¿cuán seguro estás de que tu código es limpio? La verdad es que sólo se puede estar seguro si se sabe completamente lo que significa que el código sea limpio.
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.
9 meneos
248 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.
5 meneos
32 clics

To throw or not to throw o para que sirven las excepciones

En el mundo impuro en el que vivimos se producen situaciones inesperadas que escapan a nuestro control. Es por ello que los programas necesitan un mecanismo mediante el cual poder controlar dichos casos excepcionales, al más común de esos mecanismos se le llama Exception handling. Sin embargo, el uso de excepciones tiene consecuencias en la calidad de nuestro código haciéndolo más frágil. ¿Podemos hacer algo al respecto?
2 meneos
50 clics

Inyectar código en procesos en ejecución en Linux con ‘linux-inject’ [ENG]  

‘linux-inject’ es una utilidad para Linux que inyecta una librería .so dentro de un proceso en ejecución. Funciona de forma similar a como lo hace LD_PRELOAD pero, como se ha comentado, ‘linux-inject’ inserta el código mientras el proceso está corriendo. Veamos un ejemplo de su funcionamiento.
« anterior12

menéame