Entrevista con Pryan Desarrollador de ircd

Buenas Noches, estamos con Pryan, donde nos hablará sobre su ircd y Desarrollo

 

@SERGIDO: Hola, Pryan, Un placer tenerte en la Entrevista, Comenzamos.. (donde nos contará sus proyectos)

«+Pryan» gracias a SERGIDO por la entrevista y a todos los que habeis venido por vuestra grata presencia.
«+Pryan» espero estar a la altura

1º.- ¿Cuánto tiempo llevas en desarrollo de irc?

«+Pryan» pues practicamente desde que empece con el chat, alla por el 97. He desarroyado en mirc, C, Perl y ahora estoi en el mundo de C++
«+Pryan» recuerdo mi primera red, unos dBoTs y un unreal en windows
«+Pryan» y si, tuve ke modificar los dbots porque por aquel entonces dejaban mucho que desear
«+Pryan» asi empece en el mundo de programacion e irc

2º.- ¿Cómo empezaste a desarrollar para irc?

«+Pryan» como ? por necesidad, ya he dicho ke los bots dejaban mucho que desear y asi empece, hice antes algo de codigo en .bat pero poca cosa

3º.- ¿Por qué te has decidido a hacer un ircd desde 0 y no basarse en una plataforma existente tipo ircu o inspircd?

«+Pryan» buena pregunta. tome esa decision porque ningun ircd se ajustaba a mis necesidades. Por ejemplo ircu es demasiado antiguo e inspircd es demasiado modular ( cosa que no me gusta )
«+Pryan» pienso que estoy implementando lo ultimo en tecnologia al hacer conexiones y gestion asyncrona de usuarios usando las librerias boost
«+Pryan» y las pruebas que he hecho dicen que mi ircd es incluso mas rapido y fiable que inspircd o ircu

4º.- ¿Eres consciente que hacer un ircd desde 0 es un trabajo bestial?

«+Pryan» si, lo se, y gracias a UnderNode que me esta echando un cable ultimamente. Y ya no solo un trabajo bestial, he rehecho 3 veces el ircd por motivos de codigo y demas
«+Pryan» si te gusta la informatica te gusta programar y un proyecto de un ircd en español con BDDs y demas la verdad es muy interesante y puede prometer en un futuro proximo

5º.- ¿Qué características del ircd son las que hacen que el ircd sea especial y diferente a los demás?

«+Pryan» pues todo. desde que tiene bots integrados con BDDs en sqlite3, hasta su kernel asyncrono, pasando por los /whois a nick|#canal los vhost de freenode, etc etc etc
«+Pryan» son muchas mejoras en las ke algunos no me apoyan ya que dicen que me tengo que ajustar a los rfc y yo les digo: “ningun rfc se ajusta a mi”

6º.- ¿En qué lenguaje de programación está basado en el ircd?

«+Pryan» es todo 100% C++. Ultimamente hice un curso de C++ ( hace un año, lo que llevo desarroyando el ircd ) y mi profesora me pidio un proyecto, le comente lo de un ircd y me dijo ke eso era cosa mia. Asi que despues de sus clases aun sigo desarroyando el ircd.

7º.- ¿Todos los mensajes del ircd estarán en Español? ¿Habrá problemas en clientes por algunos numéricos de respuesta por estar en español?

«+Pryan» todo el ircd esta en español, pero procuro no poner acentos ni eñes para evitar esas cosas. El ircd lo bueno es que todo son numericos asi que de momento no hay problemas.

8º.- ¿Qué modos de canales nuevos tendrá? Y modos de usuario?

«+Pryan» jajajaja, ahi va una sorpresa, apenas tiene modos
«+Pryan» de usuario tiene 4 modos incluido el +r y de canales solo el +r, los modos se gestionan por chanserv de la forma /chanserv mode #canal +|-flood y demas modos
«+Pryan» hay 6 flags de chanserv a elegir
«+Pryan» y lo hice asi precisamente porque cada ircd tiene “sus” modos y es muy dificil para un usuario cambiar de ircd o incluso de red
«+Pryan» el inspircd por ejemplo creo que le ha denunciado la RAE por dejar sin letras el alfabeto

9º.- ¿Qué medidas antispam tendrá el ircd?

«+Pryan» pues bueno, buena pregunta, tengo la vista puesta en machine learning pero quien sabe
«+Pryan» de momento apenas tiene medidas antispam, pero si antibots y demas, tiene el modo de canal +-flood y poco mas
«+Pryan» para antibots usamos DNSBL
«+Pryan» que te mantiene protegido contra bots y proxys
«+Pryan» y el futuro ya lo he dicho, machine learning para luchar contra el spam

10º.- ¿Qué medidas antiflood de texto, massjoin, clones, etc tendrá el ircd?

«+Pryan» pues ya las he explicado antes SERGIDO, el modo +flood, DNSBL y en un futuro ML
«+Pryan» de todas formas con nuestras medidas de DNSBL entran unos 20-30 clones como maximo por cada ataque
«+Pryan» lo suyo ( y eso es a opcion del usuario ) es usar varias listas de DNSBL y asi evitar el spam de raiz
«+Pryan» añadir listas DNSBL es tan facil como añadir 2 lineas al fichero de configuracion

11º.- ¿Se integrarán bots de servicio (nick, Chan, memo) dentro del ircd? ¿Cómo se sincronizarán con el resto de servidores? Cómo se interectuarán los usuarios con los bots?

«+Pryan» si, TODOS los bots estan integrados dentro del ircd. Si un servidor se deslinka y pierde el HUB, los bots entran en modo de solo lectura, pero siguen siendo usables e interactuar con un bot es tan sencillo como /nickserv /chanserv /hostserv u /operserv en caso de ser ircop
«+Pryan» y la sincronizacion entre servidores es a partir de la ultima modificacion conocida
«+Pryan» cada modificacion tiene un hash en sha256 y se sincronizan a partir de ahi, si el nodo esta sin BDDs la sincronizacion es desde cero, con lo cual, o esperas o copias la base de datos desde otro servidor

12º.- ¿El ircd tendrá soporte de todas las características de IRCv3?

«+Pryan» jeje, recuerdo a zolty contestar esta pregunta
«+Pryan» si, tenemos pensado montar ircv3 pero tenemos que discutir que implementamos y como pero si, es algo que mas adelante haremos. Recordad que el ircd es muy joven ( 1 año ) y todavia tengo otros problemas en la cabeza que no son ircv3

13º.- ¿Tendrá sistemas de verificación de entrada al irc mediante geolocalización, es decir, vetar la entrada de por ejemplo Tailandia?

«+Pryan» pues no tenemos eso pensado.
«+Pryan» kien sabe si en un futuro cambiamos de idea
«+Pryan» la puerta a nuevas ideas esta abierta y si lo hacemos, por supuesto sera con una whitelist y demas movidas para que ningun usuario se quede sin chatear, pero contestando a tu pregunta anterior, me preocupa mas el ircv3 que la geolocalización

14º.- Tu proyecto de ircd incluye el ircd + los services integrados en el mismo, y la pregunta es: ¿No llegaría eso a consumir una cantidad muy elevada de memoria en redes grandes si es que las mismas se interesaran por el proyecto?

«+Pryan» en absoluto, piensa que todo el tema BDDs se lleva por archivos. Hay un archivo llamado zeus.db, al linkar se sincroniza y todos los accesos al archivo se hacen en local, no consume memoria y al mser sqlite3 es multithreading y demas movidas.
«+Pryan» la base de datos no se guarda en memoria
«+Pryan» se guarda en disco y se accede a ella mediante la libreria de sqlite3 en C++

15º.- Actualmente se utilizan muchas Api’s así como aplicaciones móviles, ¿tendrá soporte para diferentes tipos de bases de datos? de ser así, ¿podrá tener soporte para conectar a más de una base de datos a la vez?

«+Pryan» a ver, mi idea es que lo simple es lo que funciona. Si necesitas acceso a la base de datos hay una api en localhost ( puedes usar cualquier forma para acceder de forma segura a localhost ) que gestiona las operaciones mas comunes respecto a la base de datos como son el registro de nicks/canales, comprobar si estan online, el comando drop y demas.
«+Pryan» por supuesto esa api solo es usable en el HUB pero con una buena seguridad puede resultar practico. Mejoras a la api son bienvenidas. Ademas en la configuracion hay una opcion para habilitar la api en el HUB en caso de que lo necesites
«+Pryan» la api funciona de la siguiente forma: http://127.0.0.1:8000/isreg?datos=Pryan
«+Pryan» como veis es una forma practica de no introducir muchas cosas “inutiles” en el ircd como son muchas bases de datos, cosa que perderia integridad aunque segun el diseño actual se puede implementar un mysql ya que la mayoria de los comandos son sqlite.

16º.- Teniendo encuenta de que las conexiones móviles se caen mucho con el sistema ping Pong que traen los ircds ¿dispone tu proyecto de algún mecanismo distinto que solucione este problema?

«+Pryan» pues los ping timeout son cada 240 segundos, la mayoria de los clientes lo implementan correctamente pero si hay movimiento ( osea mandas datos ) el ping se actualiza.
«+Pryan» de momento no hemos implementado medidas como para prescindir del timeout

17º.- ¿Crees que redes como ChatHispano adoptarán tu ircd? En caso afirmativo, por qué?

«+Pryan» jaja, es lo ke estoi deseando SERGIDO !!
«+Pryan» me parece que seria un buen lavado de cara a su ircu y ademas con conexiones SSL e IPv6, bots incluidos, etc
«+Pryan» me parece que ircu ha dado todo de si
«+Pryan» es un ircd que se lleva sin actualizar desde hace mucho tiempo y pienso que redes como chathispano tienen que apoyar el proyecto
«+Pryan» el ircd me refiero a ircu
«+Pryan» y que nos tienen que apoyar a ZeusiRCd
«+Pryan» kizas me he liado con la respuesta ( los nervios )

18º.- ¿Nos puedes citar aqui que redes importantes de irc estan interesadas en el proyecto?

«+Pryan» pues de momento estamos teniendo unas 20 descargas al mes de ZeusiRCd y ninguna red ha confirmado que lo este usando. He hablado con ChatZona y con ChatHispano y de momento no estan interesados asi que habra que seguir intentandolo.

19ª Me interesa saber tu opinión con respecto a las entrevistas que WebyChat está haciendo, ¿lo ves Positivo?

«+Pryan» por supuesto, recuerdo antaño que irc-hispano hacia entrevistas a personajes famosos y la gente estaba muy interesada ademas de ser ese lavado de cara que chathispano necesita
«+Pryan» el irc esta “muriendo” como dicen algunos y tu proyecto de entrevistas y el mio de ircd son los que hacen que el irc tome su bocanada de aire
«@SERGIDO» 🙂

– Vamos con las PREGUNTAS de Usuarios participando en la Entrevista: ->

Soraya: A lo largo de los años a habido muchos desarrolladores de ircds como: Trocotronic o Zipbreacke los cuales dejaron dichos proyectos abandonados ¿Qué garantías das de que el tuyo al final no quede abandonado como el de los antes mencionados?

«+Pryan» pues mi proyecto lo hago yo, llevo en el irc desde el 97 y todavia no me he cansado. Tengo a un amigo ayudandome ( UnderNode ) y os garantizo que tendreis ZeusiRCd para rato

micronn: Has hecho ya varias iteraciones y reescrito gran parte del código unas cuantas veces. ¿Crees que el código que tienes ahora es lo suficientemente maduro? ¿Te has planteado rediseñar partes del sistema que hasta ahora no has cambiado mucho?

«+Pryan» gracias micronn por tu pregunta. Ahora mismo puedo decir que el codigo esta bien. Rediseñar partes no lo veo mal, aunque solo somos 2 en el diseño, proyeccion, desarrollo e implementacion.
«+Pryan» Si algunos programadores nos apoyaran podriamos diseñar cosas mas rapido, incluso con un simple pull request ya estas ayudando.

VioLenTo: una pregunta para pryan que metas tiene pryan en Chat Hispano?

«+Pryan» hay un viejo refran que dice: “No vendas la piel del lobo antes de matarlo”. De momento en chathispano no me hago ilusiones de que cambien, pero si un developer, oper, admin o demas habla conmigo y me dice que estan interesados … eso seria un exito

micronn: ¿Qué es lo que te impulsó a dejar los services integrados en el propio ircd? ¿Crees que puede ser contraproducente, por ejemplo, a la hora de introducir cambios en los services?

«+Pryan» hmmm, era algo que no tenia nadie y me gustaba que eso cambiara o adoptarlo y formarlo a mi antojo. Quizas sea contraproducente como tu dices pero pienso lanzar scripts para actualizar entre versiones
«+Pryan» no deberia haber problemas para actualizar una BDD de 2.x a 3.x o incluso a futuros 4.x

VioLenTo: pryan eh ya no estarias como dj de alguna radio de hispano?

«+Pryan» jajajaja, ke va, la musica me acompaña siempre pero oye, esos buenos años no me los kita nadie, con ChisPiTaS y compañia la verdad las noches eran de lo mejor

VioLenTo nos pregunta: ¿como Pryan conocio iRC Hispano?

«+Pryan» hummm, yo al principio de mi epoca chatera entraba en univers.org y un amigo me hablo de irc-hispano, no le di mucha importancia hasta que entre al chat de ole.es ( la antigua terra ) y asi conoci a chathispano

Pues hasta aquí la Entrevista con: Pryan, Todo un placer haberte entrevistado, Si te parece puedes dejar un mensaje de DESPEDIDA:

«+Pryan» mi mensaje es: Gracias a todos por aguantarme y gracias otra vez a SERGIDO por concederme esta entrevista
«+Pryan» ha sido un placer

Entrevistado: Pryan Entrevistador: SERGIDO  30/03/2018

Comentaríos Tras finalizar la Entrevista en Directo: ->

«@SERGIDO» Muy bien Pryan 🙂
«VioLenTo» 😉 Pryan abrazo mucho exito!!!!!!
«clerks» Genial Pryan, impresionante
«clerks» muchisma suerte y muchos exitos
«VioLenTo» SERGIDO Muy buenaa entrevista exitoo!!!
«micronn» espero disfrutes y aprendas mucho con esos proyectos
(OPeR) «Javi» Muy entretenida la entrevista, enhorabuena, Pryan, SERGIDO!
(OPeR) «Soraya» suerte con el proyecto, Pryan
VioLenTo: sergi muy buena campeon suerte 😉 me encanto la entrevista
«ChisPiTaS» «l|:.  SERGIDO .:|l» enhorabuena estuvo bien jejeje
«cacahuete» Enhorabuena x la entrevista Pryan. Felicidades SERGIDO
«KASPERINITA» [SERGIDO] muy buena si señor,,,, se nota que entiendes mucho

Sitios de Interes del proyecto de Pryan:

Pryan: WEB: http://www.zeusircd.net
Pryan: GITHUB: https://github.com/Pryancito/zeusircd/
Pryan: BUGS: http://bugs.zeusircd.net
Pryan: RED: irc.zeusircd.net canal #Zeus