Entrevista con Pryan Desarrollador de ircd

Entrevista con Pryan Desarrollador de ircd
Si te gust├│, Votanos

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

Convivencia  y Normas del chat de WebyChat

  • Respeto en la sala de Chat.┬áEl resto es la base de una sesi├│n de chat divertida. Si respetas al resto de los usuarios se evitar├ín los conflictos y los problemas. Recuerda que para Chatear no necesitas faltar al respeto.
  • Tem├ítica del chat gratis.┬áTodos los chats tienen una tem├ítica concreta. Si bien no est├í escrita con fuego, es recomendable comportarse para evitar expulsiones por los Moderadores.
  • Normativa particular del chat en espa├▒ol.┬áCada sala de chat tiene unas normas de comportamiento particulares puestas por sus propios usuarios.┬á si tienes alguna duda siempr├ę puedes contactar con el Moderador (@)
  • Publicidad en el chat.┬áEn pr├ícticamente ninguna sala de chat se permite realizar publicidad de ning├║n tipo, por lo tanto debes abstenerte de realizarla ya que es Motivo de Expulsi├│n sin Previo Aviso.
  • Repetir texto:┬á┬áRepetir texto en una sala de┬áchat┬áes algo muy molesto ya que llena el espacio ├║til de informaci├│n sin utilidad molestando con ello a todos los usuarios que charlan en, Evita estar repitiendo texto o el uso de Timmers (mensajes Automaticos)
  • Sigue las indicaciones de los moderadores de la sala. Los moderadores┬á son voluntarios que no pertenecen al personal de┬áWebyChat, pero son los que garantizan la convivencia en el canal. Debes seguir sus indicaciones cuando te recomiendan no escribir en may├║sculas o no repetir.