Archive for the 'C#' Category

Resoluciones del Nuevo Mes: Junio 2017

Wednesday, June 7th, 2017

Un nuevo mes comienza, y es tiempo de escribir las resoluciones mensuales. Como siempre, primero un repaso de las del mes anterior:

– Continuar RskSharp [pendiente]
– Continuar SimpleBlockchain [completo] ver repo
– Continuar BlockchainSharp [pendiente]
– Continuar ChineseP [pendiente]
– Continuar TensorSharp [pendiente]
– Continuar RSharp [completo] ver repo

I also worked on:

– Mejorar AjDrawJS [completo] ver repo
– Mejorar AjTalkJS [completo] ver repo
– Mejorar SimpleForth [completo] ver repo
– Mejorar ClojJS Clojure in JavaScript [completo] ver repo
– Ejemplo adicional para SimpleGA, algoritmos genéticos [completo] ver repo
– Experimentos con RSKJ fork [completo] ver repo
– Creaar wordie, lenguaje de programación en inglés [completo] ver repo
– Creaar domie, un DOM para tests en JavaScript [completo] ver repo
– Crear vyu, un framework a la vue.js [completo] ver repo

Mis nuevas resoluciones:

– Continuar RskSharp
– Continuar SimpleBlockchain
– Continuar BlockchainSharp
– Continuar ChineseP
– Continuar TensorSharp
– Continuar RSharp
– Experimentar con RSKJ fork
– Continuar Vyu
– Continuar Domie
– Continuar Wordie

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Resoluciones del Nuevo Mes: Mayo 2017

Tuesday, May 9th, 2017

Como pasa el año, tiempo de escribir las nuevas resoluciones, veamos el resultado de las anteriores:

– Continuar RskSharp [completo] ver repo
– Continuar SimpleBlockchain [completo] ver repo
– Continuar Solidity Compiler [pendiente]
– Continuar ChineseP [completo] ver repo
– Continuar TensorSharp [completo] ver repo
– Continuar RSharp [completo] ver repo
– Continuar SimpleForth [pendiente]

Además, estuve trabajando en:

– Continuar BlockchainSharp [completo] ver repo
– Comenzar Neurum, redes neuronales en C# [completo] ver repo
– Comenzar AjTalkJS, intérprete Smalltalk en JavaScript [completo] ver repo
– Comenzar SimpleProlog, intérprete Prolog en JavaScript [completo] ver repo
– Comenzar AjDrawJS [completo] ver repo

Resoluciones del nuevo mes:

– Continuar RskSharp
– Continuar SimpleBlockchain
– Continuar BlockchainSharp
– Continuar ChineseP
– Continuar TensorSharp
– Continuar RSharp

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Resoluciones del Nuevo Mes: Abril 2017

Friday, April 7th, 2017

Un nuevo comienza, ya pasó el verano, estamos en otoño por estos lares. Tiempo de escribir mis resoluciones mensuales, pero primero un repaso de las del mes anterior:

– Continuar RskSharp [complete] ver repo
– Continuar SimpleBlockchain [pending]
– Continuar Solidity Compiler [complete] ver repo
– Continuar ChineseP [pending]
– Continuar TensorSharp [complete] ver repo

Además estuve trabajando en:

– Mejorar SimpleProlog [completo] ver repo
– Continuar RSharp [completo] ver repo
– Mejorar AjDrawJS [completo] ver repo
– Mejorar SimpleForth [completo] ver repo

Mis resoluciones del nuevo mes son:

– Continuar RskSharp
– Continuar SimpleBlockchain
– Continuar Solidity Compiler
– Continuar ChineseP
– Continuar TensorSharp
– Continuar RSharp
– Continuar SimpleForth

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Resoluciones del Nuevo Mes: Marzo 2017

Wednesday, March 8th, 2017

Un nuevo mes comienza y es tiempo de escribir mis resoluciones. Primero, una revisión de las de febrero:

– Mejorar SharpGo [completo] ver repo
– Mejorar BlockchainSharp [pendiente]
– Mejorar SimpleBlockchain [completo] ver repo
– Continuar Solidity Compiler [completo] ver repo
– Continuar ChineseP [pendiente]
– Mejorar ErlSharp [completo] ver repo

Además estuve trabajando en:

– Comenzar RskSharp [completo] ver repo
– Comenzar TensorSharp [completo] ver repo
– Mejorar AjDrawJs [completo] ver repo
– Mejorar SimpleForth [completo] ver repo
– Mejorar CrysSharp [completo] ver repo
– Nuevo ejemplo Bitcoin en SimpleGA [completo] ver repo
– Mejorar Husky, mi intérprete Haskell [completo] ver repo
– Mejorar SimpleLisp [completo] ver repo
– Mejorar CrysJS [completo] ver repo

Mis nuevas resoluciones:

– Continuar RskSharp
– Continuar SimpleBlockchain
– Continuar Solidity Compiler
– Continuar ChineseP
– Continuar TensorSharp

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Resoluciones del Nuevo Mes: Febrero 2017

Monday, February 6th, 2017

El segundo mes del año comienza, es tiempo de escribir mis resoluciones, pero antes, un repaso de las de enero:

– Mejorar CrysSharp [pendiente]
– Mejorar SharpGo [completo] ver repo 
– Mejorar BlockchainSharp [completo] ver repo
– Mejorar SimpleBlockchain [pendiente]
– Continuar Solidity Compiler [completo] ver repo
– Mejorar ChineseP [pendiente]
– Continuar PegSharp [pendiente]

También estuve agregando una mejora menor en ErlSharp ver repo.

Mis resoluciones para febrero:

– Mejorar SharpGo 
– Mejorar BlockchainSharp
– Mejorar SimpleBlockchain
– Mejorar Solidity Compiler
– Mejorar ChineseP
– Mejorar ErlSharp

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Resoluciones del Nuevo Mes: Enero 2017

Wednesday, January 11th, 2017

Comenzó un nuevo año, yo sigo con resoluciones públicas mensuales, tiempo de escribirlas, pero antes a repasar las de diciembre:

– Mejorar CrysSharp [pendiente
– Mejorar SharpGo  [complete] see repo
– Mejorar BlockchainSharp [pendiente]
– Mejorar SimpleBlockchain [pendiente]
– Continuar Solidity Compiler [completo] see repo
– Continuar ChineseP [pendiente]
– Continuar PegSharp [pendiente]

He tenido temas personales, de salud, para atender, pero ahora estoy en una mejor posición para volver al ruedo.

Mis resoluciones de enero son:

– Mejorar CrysSharp
– Mejorar SharpGo 
– Mejorar BlockchainSharp
– Mejorar SimpleBlockchain
– Continuar Solidity Compiler
– Continuar ChineseP
– Continuar PegSharp

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Resoluciones del Nuevo Mes: Diciembre 2016

Friday, December 9th, 2016

Y llegamos al fin de año. Tiempo de revisar las resoluciones de noviembre:

– Mejorar CrysSharp [pendiente]
– Mejorar SharpGo [pendiente] ver repo
– Mejorar BlockchainSharp [pendiente]
– Mejorar SimpleBlockchain [pendiente]
– Mejorar Solidity Compiler [pendiente] see repo
– Continuar ChineseP [pendiente]
– Continuar PegSharp [pendiente] see repo

Mis resoluciones para el nuevo mes de diciembre:

– Mejorar CrysSharp
– Mejorar SharpGo
– Mejorar BlockchainSharp
– Mejorar SimpleBlockchain
– Mejorar Solidity Compiler
– Mejorar ChineseP
– Mejorar PegSharp

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Armando una Blockchain (15)

Saturday, December 3rd, 2016

Anterior Post

Siempre aparecen temas interesantes para encarar y resolver, en mis implementaciones de blockchain abiertas (C#, JavaScript/NodeJS); una es la comunicación ENTRE nodos. Los nodos tiene que intercambiar datos como nuevos bloques, nuevas transacciones, mensajes de estado y sincronización…. Y también, un nodo que comienza a ejecutar o que está ejecutando desde hace varios días, debe saber descubrir qué otros nodos como él están disponibles en ese momento. Ese proceso tiene un nombre: “peer discovery”, descubrimiento de pares.

Me gustaría escribir hoy algunas ideas:

– Cada nodo tiene un id de nodo, y un id de red en la que trabaja, de esa manera, los demás nodos lo identifican (id de node) y saben si trabaja en la misma red que ellos (id de red).

– Un nodo puede tener una lista preconfigurada (“hardcodeada”) de nodos con los cuales comunicarse, como pares iniciales

– Pero también puede tener otra lista: una lista de nodos especiales en la red, que CONOCEN a otros nodos de la red. Como que mantienen un registro (“registry”) de los nodos disponibles. Estos nodos especiales se van informando dinámicamente de los nodos que existen activos, y los van propagando a otros nodos registro. Un nodo normal se comunica periódicamente con nodos registro, y de esa forma va consiguiendo una lista de pares disponible. Los nodos registros no son nodoso de trabajo ni pares. Puede que en vez de estar identificados por un número de IP, estén referenciados por nombres de máquina, bajo control de servidores de nombre DNS que estén bajo control de la red. Eso permite cambiar su máquina física sin cambiar la configuración de los nodos originales.

Cuando un nuevo nodo comienza a ejecutar, comunica su existencia a su lista de nodos registro, y activamente les pide a éstos cuáles son los pares disponibles para trabajar. Cada nodo de trabajo tiene configurado un número de MAXIMA cantidad de pares activos a contactar.

Cuando uno de esos activos se cae, o se ve que no es alcanzable, el nodo original trata de conectarse con otros nodos activos que va descubriendo con el tiempo desde los nodos registro.

No es objetivo conseguir uan buena distribución de conexiones, pero se podría ir clasificiando los nodos conocidos en zonas arbitrarias (por ejemplo, la zona es el múdulo de id de nodo por 16). Cuando un nodo de la zona 2 pide nodos pares, se le podría entregar PREFERENTEMENTE nodos de la zona 1 y zona 3. Pero hay que demostrar que esto permite una mejor distribución de los mensajes. No es un caso de uso en el que haría énfasis por ahora. Podría ser más importante impedir que un nodo cualquiera, al interrogar a los nodos registro, consiguiera fácilmente la lista de TODOS los nodos de la red.

Como de costumbre, me gustaría pasar estas ideas a código, siguiendo simplicidad, casos de usos, y TDD.

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Resoluciones del Nuevo Mes: Noviembre 2016

Sunday, November 6th, 2016

Se acerca el fin de año. Tiempo de escribir mis resoluciones del nuevo mes, pero antes un repaso a las del mes pasado.

– Mejorar CrysSharp [completo] ver repo
– Mejorar SharpGo [completo] ver repo
– Mejorar BlockchainSharp [completo] ver repo
– Mejorar SimpleBlockchain [completo] ver repo
– Continuar Solidity Compiler [completo] ver repo
– Continuar ChineseP [completo]
– Escribir sobre implementar una block chain [pendiente]
– Escribir sobre simplicidada e implementar un two way peg [completo] ver post

Además, estuve trabajando en:

– Dar una charla sobre Connecting Blockchains [completo] ver slides
– Código de ejemplo en PegSharp [completo] ver repo

Mis resoluciones para el nuevo mes:

– Mejorar CrysSharp
– Mejorar GoSharp 
– Mejorar BlockchainSharp
– Mejorar SimpleBlockchain
– Continuar Solidity Compiler
– Continuar ChineseP
– Continuar PegSharp

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Resoluciones del Nuevo Mes: Octubre 2016

Friday, October 7th, 2016

Otro mes intensivo en mi trabajo diario, preparando un “milestone” de @RSKSmart. Tiempo de revisar mis resoluciones del mes pasado:

– Mejorar CrysSharp [completo] ver repo
– Mejorar BlockchainSharp [pendiente]
– Mejorar SimpleBlockchain [pendiente]
– Continuar Solidity Compiler [completo] ver repo
– Continuar ChineseP [pendiente]

También estuve trabajando en:

– Mejorar SharpGo [completo] ver repo

Mis resuluciones para el nuevo mes:

– Mejorar CrysSharp
– Mejorar GoSharp 
– Mejorar BlockchainSharp
– Mejorar SimpleBlockchain
– Continuar Solidity Compiler
– Continuar ChineseP
– Escribir sobre implementar una blockchain
– Escribir sobre simplicidad e implementar una two way peg

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez