Jerry's Blog  1.4.230
mi propio
Anillos de Datos
Series de datos sin comienzo ni término
vie 30 abril 2021  10:36amComputadora

Hace poco participé en otro reto de programación en linuxquestions.org, resulta que aprendí un nuevo (para mí) concepto de programación.

En las operaciones normales de bases de datos, se tratan y se procesan los datos como valores particulares, o como series de uno o más dimensiones. El serie tiene comienzo y término definidos, y usualmente se procesa hacia adelante del comienzo al término. No así los anillos de datos, los cuales se tratan como series circulares, sin puntos definidos de comienzo ni término. Claro que los datos se almacenan en memoria y en disco de manera lineal (la computadora no sabe nada de los círculos ni los anillos), pero el programa o la operación accese los datos en manera circular.

La imágen representa en manera pictórica un anillo de datos. La característica extraordinaria de este anillo particular es que contiene los números 1 por 32 sin repetición, y que cada par de números colindantes sumados es igual a un número cuadrado perfecto. Es así a pesar de cual punto donde se comienza a procesar, y a pesar de la dirección, como las manecillas del reloj, o al revés. Por eso, este dato se trata bien como anillo, o serie circular, de números.

Los anillos de datos pueden estar de varios tipos. Unos pueden tener tamaño fijo, otros pueden permitir agregar y quitar los elementos. Algunos anillos pueden procesar en ambos direcciones, hacia adelante y hacia atras; otros pueden procesar en una sola dirección. Sus elementos pueden ser números, textos, estructuras complejas, incluso más anillos de datos. El anillo de datos ilustrado contiene números enteros, su tamño y sus contenidos están fijos, y se puede procesar en dos direcciones.

El archivo 'DataRing.h' define una clase de anillos de datos junto con estructuras, definiciones, y funciones, lo cual usted puede descargar e incluir en su propio programa C++. Actualmente trata de anillos de datos de cualquier tamaño fijo cuyo elementos son números enteros, y procesa en dos direcciones. Como otro software de CyberJerry este es software libre bajo de la GNU General Public License version 3. Los términos de esta licensia (en inglés) se puede ver -> aquí.

 
Gráficos Improbables de Ajedrez
Gráficos html sin métodos normales de rendir imágenes
mie 3 marzo 2021  7:37pmComputadora

El caso inverosímil de ajedrez ilustrado aquí tiene unos aspectos interesantes:

 
 
 
 
 
 
 
 
 

A la primera ojeada, parece que negro está ganando. Tiene todos sus 16 piezas (seis todavía en sus posiciones originales), mientras blanco ha perdido cuatro de sus peones y tres de sus piezas de poder, incluso su reina. Pero una mirada más exacta muestra que blanco domina. De hecho, puede dar jaque mate con un solo paso (Tf8# 1-0). Si le toca a blanco. Una mirada tercera revela un giro sorprendente: Negro se está tan cerrado que, si le toca a él, no tiene ningún paso legal, y se termina el partido en estancamiento, un punto muerto.

Bueno. Una situación de ajedrez bonita, si también improbable. Pero este artículo de blog se clasifica como 'Computadora' para otra razón: El método normal para dibujar las piezas de ajedrez sería crear 11 archivitos de imágenes para cada una de las piezas (no se necesita aquí la reina blanca), entonces incluirlas en el tablero usando la etiqueta html <img>. Otro método, no disponible en varios navegadores, sería poner datos crudos de la imagen en los elementos de html. En los dos casos, un navegador fijo para no rendir imágenes mostrará un tablero vacío, sin piezas. Navegadores modernos pueden reconocer el nuevo elemento html <canvas> junto con javascript, o gráficos SVG. Pero estos métodos son aún menos disponibles. Quiero que mi sitio sirva en varios navegadores, tantos como posible, incluyendo navagadores viejos, y con imágenes deshabilitados. Creo que el partido de ajedrez ilustrado aquí debe mostrarse bien en cualquier navegador.

Para cada pieza de ajedrez, pixels y grupos de pixels se dibujados usando su posición relativa de los elementos html <div> cuya color de fondo es el color de los pixels. Así, por ejemplo, el siguiente dibuja 10 pixels nergros empezando al superior del contenedor, 17 pixels de su lado izquierdo:

<div style="position:relative; top:0px; left:17px; width:10px; height:1px; background:#000;"></div>

Claro que hay muchas etiquetas semejantes de <div> para sola una imagen de una pieza de ajedrez, y seguramente no escribí a mano cada uno, sino usé scripts php del lado servidor para generar el código html para cada pieza. Puedo compartir este código php con quienquiera; sólo pregunte. Usted también puede ver 'Código Fuente' en su navegador para ver el código html así generado aquí.

No estoy seguro si hay valor práctico en la situación de ajedrez ni en el método no regular de gráficos. Tal vez, los gráficos, sí (??). Mientras tanto, mi cerebro y tal vez el suyo han sido ocupados con unos pensamientos inofensivos.

 
Panel Solar
Cosechando el sol para mi casa
sab 30 enero 2021  11:45amMisc.


panel solar

He recientemente comprado y montado un panel solar con sus varios componentes. No principalmente por motivos ecológicos ni económicos. La red por grandes áreas de Nicaragua tiene su poder de un sistema hidroeléctrico bien diseñado y sano para el medio ambiente con su represa justo al norte de Jinotega. Mi factura mensual de luz está generalmente entre 300 y 450 córdobas para alrededor de 80 a 100 kilowatt horas de electricidad. Pero Disnorte está mal administrado y de poca confianza. Además me gusta la idea de ser independiente. De todos modos, es una experiencia de aprender, y tal vez una protección (leer artículo)

  0 comentarios
rev. vie 12 feb  8:32pm
 
Oda a Sudoku
Relato del desarollo del Analizador de Sudoku
mar 24 noviembre 2020  1:55pmSudoku

Sudoku es fácil de entender: un cuadrado 9x9 de 81 celdas, donde cada fila, columna, y 3x3 cuadrado deben contener los dígitos 1 por 9. Bastante sencillo, pero con posibilidades inmensas. Si uno escribiera un programito para generar todos los cuadrados 9x9 con todas las posibilidades posibles de 9 dígitos en cada una de las 81 celdas, tendría que generar 9^81 (9 elevado a 81) cuadrículas (es un número con 78 dígitos). De hecho, escribí tal programa sencillo hace más de 15 años. Pero (leer artículo)

  0 comentarios
rev. 24 nov 2020  8:15pm
 
Versión 3
Publicado versión 3.0 del Analizador de Sudoku
mie 7 octubre 2020  2:26pmSudoku

Cuando se hace clic en los botones 'Analizar', 'Sugerencia', 'Vistazo', o 'Resolver', el Analizador de Sudoku envia un paquetito de Ajax al servidor. La 'X' en A.J.A.X. en este caso significa 'executable' (ejecutable), un programa que anda en el servidor de hospedaje de cyberjerry.info como nativo ejecutable o binario de BSD. El binario ejecuta la tarea pedido y devuelve a su computadora otro paquetito, para acabar el trámite de Ajax. Este programa se escrito en C y ensamblaje, compilado en el servidor usando gcc, para ejecución muy rápido. (El análisis de Sudoku correría muy despacio en un lenguaje de escritura.) El parte original y central del programa, (leer artículo)

 
El Retador Exitoso
El primer respuesto exitoso al Reto de Sudoku
dom 23 agosto 2020  10:06amSudoku

Hace pocos días, un visitante* astuto a mi página de Sudoku respondió exitosamente al Reto de Sudoku, el primero visitante de hacerlo. Halló el Sudoku mostrado que el Analizador no pudo resolver, y me dijo como resolverlo:

este sudoku lo saque de la pagina https://www.sudoku-online.org de categoria sudoku extremo #717, y su analizar dice que no tiene una solución, sin embargo por metodo analitico encuentro que F6 = 4 debido al 4 de E3 y el 4 de G5, tambien encuentro que I9 = 5 debido al 5 de D8 y al 5 de H4, al colocar estos dos números, ahora si dice que tiene solución única lo anterior esta pasando por que
(leer artículo)

  3 comentarios
rev. 29 ago 2020  8:30am
 
Reto Respondido (2)
El primero respuesto exitoso al Reto de Sudoku
mie 19 agosto 2020  7:34pmSudoku

Lo he confirmado: Alguien ha contestado con buen éxito el gran Reto de Sudoku. Es decir, un visitante ha resuelto paso a paso un Sudoku que el CyberJerry Analizador de Sudoku (el 'Analizador') no podía analizar. Espero publicar más detalles pronto.

A lo hecho, pecho

Copyright (c) 2017-2021 Gerald DePyper - Jinotega, Nicaragua, C.A.
rev. 2021.03.21