······························ · Canal: #irc-dev · · Instructor: jcea · · Moderador: zoltan · · · · Titulo: La API de Olimpo · · Fecha: 18 de Enero de 2002 · ······························ (@jcea) bueno (@jcea) son las 18:00 (@jcea) vamos a empezar (@jcea) Siento el retraso (@jcea) me convocaron a una reunion no programada (@jcea) a las 16:00 ya conté el algunas de las ventajas del nuevo sistema (@jcea) creo que podemos pasar ya a las preguntas (@zoltan) jcea: savage quiere hacerte unas preguntas (@jcea) quien quiera voz, que lo pida a zoltan por privado (@jcea) dispara, jordi (+|savage|) bueno, el tema es que deberias explicar un poco el "API administrativo" (+|savage|) o sea, condiciones de conexion y esas cosas (@jcea) explicate (@jcea) bueno (+|savage|) pk el API tecnico pierde interes al no haber una implementacion LIBRE (@jcea) mi idea es que cualquiera que quiera enlazar un bot, pueda hacerlo sin tramites (@jcea) osea (@jcea) me llega alguien un día y me cuenta de qué va su bot (+|savage|) o sea, si Irc-Hispano ha definido las condiciones de uso. (@jcea) no me tiene que convencer, solo tiene que decirme lo que hace (@jcea) entonces se le abre un acceso y se le asigna un nick y una clave (@jcea) y ya esta (@jcea) no hay más trámite que eso (@jcea) Obviamente hispano (@jcea) se reserva el derecho a revocar el acceso de alguien (@jcea) pormal uso, por ejemplo (@jcea) o por actividades comerciales (@jcea) pero , en general, quien quiera tener un bot suyo, lo podrá tener (+|savage|) Ok (@jcea) sin pagar nada y sin que tenga que dar ni explicaciones ni codigo (@jcea) en cuanto a la implementacion (@jcea) bueno, si te ves el web (@jcea) los archivos (@jcea) :-) (@jcea) en mi propuesta de api minimo inicial (@jcea) es lo bastante simple (@jcea) como para que se pueda realizar implementaciones servicodres en otras redes (@jcea) osea (@jcea) que es facil para otra red (@jcea) clonar el API de Olimpo (@jcea) (que no Olimpo) (@jcea) y así el bot se puede usar en las dos (@jcea) ese ha sido un criterio de diseño tambien (+|savage|) si, eso ya lo aclaré a las 16:05 (@jcea) Si has terminado de preguntar, quitate el + (@jcea) :-) (+|savage|) gracias (@jcea) a mandar :) (@jcea) Más preguntas? (@zoltan) no, no hay nadie (@zoltan) puedes seguir (@jcea) joe (@jcea) ¿nadie se queja de que no se pueda entrar en canales?? (@jcea) si veis los archivos de la lista (@zoltan) otra ves (+|savage|) bueno, el API TCP lo decidimos aqui o es un "mapping" del de C ? (@jcea) en mi propuesta de API inicial (habrá varias, esta es para emzar? (@jcea) savage (@jcea) la propuesta abstracta de API está en los acrchivos (@jcea) y no tiene nada que ver con el API olimpo de mi web (@jcea) los comandos estan por decidir (@jcea) lo que yo quería tratar es el diseño y si os parece demasiado limitado o que (@jcea) por ejemplo (@jcea) la propuesta inicial supoque (@jcea) supone (@jcea) que un bot no puede entrar en canales (@jcea) y que solo puede enviar privados a gente que le envíe un privado primero (@jcea) veo que nadie se queja por estas restricciones .-) (@zoltan) jcea (@zoltan) hay uno que se queja (@zoltan) Torcum: te toca (+Torcum) a ver, cuestion si no puede entrar en los canales (+Torcum) y no tienen +k (+Torcum) eso lo digo de oidas (+Torcum) como podrias hacer por ejemplo para insertar un robot de trivial (+Torcum) o similar (@jcea) bueno (@jcea) lo prijero que hay que decir (@jcea) es que lo que se está discutiendo es un primer nivel de API,pero que habrá más niveles más "capaces" y más "potentes" (@jcea) pero hay que empezar por alguna parte (@jcea) en cuanto a lo de +k (@jcea) no lo necesitas (+Torcum) ajam, en cuanto al api, soportaria modulos en perl? (@jcea) osea (@jcea) aqui no tendras problema de caerte por flood (@jcea) porque vas por Olimpo, no conectas como usuario normal (@jcea) torcum (@jcea) el API soporta cualquier cosa que hable TCP/IP (+Torcum) ok listo ! +|savage| opina que si no entran en canales necesitan un metodo de registro de eventos (JOIN/KICK/PART/QUIT) para los canales que se le autoricen. (@jcea) ¿más? (@zoltan) si, uno mas (@jcea) savage, eso es el nicvel 2 :-) (+Er_Makina) thanx (@zoltan) Er_Makina: ya puedes :) (+Er_Makina) a ver (@jcea) ahora estamos perfilando el nivel 1 (+Er_Makina) keria preguntar (+Er_Makina) si un bot puede (+Er_Makina) aunke no creo (+Er_Makina) por ejemplo cambiar un topic de un canal (@jcea) a este nivel no (+Er_Makina) o al menos obtenerlo (@jcea) en el futuro, si (@jcea) en elnivel que hablamos (@jcea) los bots no ven canales ni interactuan con ellos (@jcea) asi que nome pregunteis más sobre el asunto :-) (@jcea) la entrada y controld e canales (@jcea) es algo que se hará a medio plazo (antes del verano) (@jcea) pero que no es lo que se está tratadno ahora aqui (@jcea) :) (+Er_Makina) ajam (+Er_Makina) y otra cosa (+Er_Makina) tendrian el nick protegido? habria ke registrarselo? (@jcea) los bots tendrían el nick +r (@jcea) lo registraría la red (@jcea) "de oficio" (+Er_Makina) aja.. usea no haria falta email ni na de eso.. (@jcea) no (@jcea) ya te tendría registrado como desarrollador (@jcea) osea (@jcea) cuando me pides aque te habra un acceso para un bot de quinielas (@jcea) por ejemplo (@jcea) antes hablas conmigo (@jcea) me cuentas tu proyecto, etc (@jcea) y sé quien eres (@jcea) cuando te doy el nick y la clave (@jcea) sé de quien depende ese bot (@jcea) y a quien tirar de las orjas si da guerra (@jcea) orejas (+Er_Makina) ah :) (+Er_Makina) pos grasias, eso es to :P (+Daijo) antes dijiste la posibilidad de clonar la api de olimpo, (+Daijo) seria este el primer paso que hemos de hacer para desarrollar bots? (+Daijo) es decir, probar el bot antes en un servidor local con la api clonada (+Daijo) y ver que todo funciona correctamente antes de comentarte la opcion de linkar (@jcea) entiendo (@jcea) te cuento mi idea (@jcea) la idea es estandarizar un API (@jcea) el API será publico y documentado (@jcea) y quien quiera clonarlo que lo clone (@jcea) :-) (@jcea) Ahora bien (@jcea) tu,como autor de un bot (@jcea) no deberías tener que preocuparte del API (@jcea) lo interesante sería (@jcea) que tu tubieras una libreria (@jcea) (disponible en 25 lenguajes) (@jcea) y que usases esa librería para usar Olimpo (@jcea) ok? (@jcea) ahora bien (+Daijo) aha (@jcea) una implementación de la librería sería "loopback" (@jcea) en la que tu puedes enviar comandos y recibir respuestas (@jcea) como si estuvieras en Olimpo (@jcea) pero "en local" (@jcea) asi pruebas el bot todo lo que quieras (@jcea) cuando lo tengas estable (@jcea) cambias la librería "loopback" (@jcea) por la de verdad (@jcea) y pof, estarás en Olimpo sin tocar tu bot (+Daijo) a eso me referia, ademas sera comodo hacerlo :) (@jcea) si (@jcea) hará falta colaboracion de la peña (@jcea) àra crear las librerias (@jcea) pero por eso estoy haciendo un API tan sencillo (@jcea) para que sea facil de hacer (@jcea) y no tenga que programarlo todo yo .-) (@jcea) asi el que lo quiera hacer en perl (@jcea) y no tenga libreria (@jcea) se la podrá currar el (@jcea) y luego la publica (@jcea) y otros podrán usarla para programar el bot en perl (@jcea) sin empezar desde cero (@jcea) bien, ¿más preguntas? (+Daijo) una mas (+Daijo) la libreria inicial es para C y Python unicamente? (@jcea) la librería que yo publicaré será solo python (@jcea) no he decidido si tener una C tambien (@jcea) pero lo puede hacer cualquier otra persona (@jcea) las especificaciones serán publicas (@jcea) y abiertas (@jcea) osea, no hace falta que yo te de la libreria (@jcea) porque tu tendras la info suficiente para hacerla tu (@jcea) 100% compatible (+Daijo) entiendo, yo mismo me la podria hacer por la informacion (@jcea) si controlas lo bastante :-) (@jcea) exacto (@jcea) ¿más preguntas? (+Daijo) thx por las respuestas :). (@zoltan) savage tiene una (+|savage|) que ventajas ofrece respecto a tener un script en modo cliente IRC ? el flood ? el status administrativo de "bot autorizado" ? algo más ? (@jcea) la ventaja más gorda es queno es un script (@jcea) es decir, no está limitado por el lenguaje de escript, etc (@jcea) lo puedes programar en lo que quieras (@jcea) :-) (+|savage|) me refiero a un programa usando protocolo IRC (@jcea) Respecto a un bot "normal" (@jcea) la ventaja gorda (@jcea) es que es algo "oficial" (@jcea) es decir, aparte del +k implícito (@jcea) el servicio cuenta con el respaldo de hispano, no es algo que tengas en tu maquina (@jcea) y que apagues cuando te vas a dormir (@jcea) (espero) (@jcea) de cara a la red (@jcea) la ventaja gorda (@jcea) es que puede tener valores extra (@jcea) "controlados" (+|savage|) o sea, nada más de lo expuesto? flood y oficialidad ... no ? (@jcea) en el sentido de que sabemos qué bots hay, como funcionan (@jcea) y quien los lleva (@jcea) y si hay problemas, se les puede cortar el acceso (@jcea) Savage, el API actual te deja enviar y recibir mensajes sin control de flood (@jcea) en el futuro se darán acceso a más funciones (@jcea) a medida que se gane experiencia y tiempo :) (+|savage|) ya me imagino. Bueno, es como semiautorizar el uso de BOTS, usando ese API (@jcea) ¿mas? (@jcea) si (+|savage|) es un avance (@jcea) teneos el control administrativo centralizado (@jcea) sabemos en todo momento lo que hay (@jcea) y se pueden resolver problemas (@jcea) Eso por nuestro lado (@jcea) por el vuestro, acceso "oficial" a hispano (@jcea) para montar lo que se os ocurra (@jcea) que sea más o menos razonable (+|savage|) ok. Mi idea es montar otra vez BRoK y WaRZ ! @jcea quiere bots de juegos ! @jcea quiere bot ingles <-> castellano ! @jcea quiere bot para juhgar al ajedrez ! @jcea quiere bot que le avise de las noticias que se publican en slashdot en tiempo real (@jcea) :-) (@jcea) el API que se propone permite hacer estas cosas (+|savage|) jcea: para tu 4rto punto necesitamos el API 2.0 :) (@jcea) ¿más preguntas? (@jcea) no, para nada (+|savage|) ISON ? (@jcea) :-) (@zoltan) si, hay mas gente esperando :) (@jcea) yo le abro un privado al bot y le digo (@jcea) "avisame" (@jcea) y toda noticia nueva me la manda por privado .-) (@jcea) venga, más preguntas (@zoltan) cuelebre: es tu turno :) (+cuelebre) buenas (+cuelebre) Vas a utilizar algun tipo de standard XML para definicion de la API o usarlo internamente ? (@jcea) se consideró utilizar SOAP y XML-RPC (@jcea) pero cargan demasiado (@jcea) el API final, seguramente (@jcea) usará protocolo tipo IRC (@jcea) osea (@jcea) un comando por linea (@jcea) y lineas separados por \n (@jcea) :) (@jcea) ¿más preguntas? (+cuelebre) gracias (@zoltan) {Over2e}: te toca :) (+{Over2e}) * jcea quiere bots de juegos --> cito textualmente (+{Over2e}) imaginemos que yo quiero programar un bot para juegos (+{Over2e}) y hago que el dialogo entre el bot / usuario sea mediante DCC (+{Over2e}) por lo que el FLOOD "no me importa" (+{Over2e}) que ventaja tengo de que este "bot" forme parte de "olimpo" (+{Over2e}) y que ventaja me da que el bot sea "oficial" (@jcea) over, para empezar (@jcea) se supone que en hispano no se permiten bots no oficiales (@jcea) aunque se hace la vista gorda mientras no dan la guerra (@jcea) :-) (@jcea) por otra parte (@jcea) el coste que supone para ti usar el API es cero (+{Over2e}) por lo que me estás diciendo, que todo bot que entres, ha de tener una aprovación de hispano no? (@jcea) asi que puedes obtar por utilizarla simplemente por sencillez (@jcea) over,m oficialmente si (+{Over2e}) oficialmente si... pero según he entendido yo antés, no será así? (@jcea) oficialmente solo se permiten bots oficiales (@jcea) no sé qué más quieres que te diga (@jcea) si tu metes un bot no oficial (@jcea) probablemente no pase nbada (@jcea) pero tambien te puedes encontrar una gline al ADSL (@jcea) por ejemplo (+{Over2e}) no no, si la raiz está en que si estos bots, se van a tener que aprovar por hispano "tipo registro de canales" (+{Over2e}) o no, solo es esa mi duda ;) (@jcea) creo que eso lo he explicado ya varias veces (@jcea) tienes que pedir el acceso (@jcea) pero la norma será darlo sin más trámite (+{Over2e}) ko (+{Over2e}) ok (@jcea) el pedir el acceso es necesario (+{Over2e}) grácias. (@jcea) solo para saber a quien corresponde cada bot y qué es loque hace (@jcea) no para "prohibir" nada (+{Over2e}) normal :) (@jcea) ¿más preguntas? (@zoltan) te toca :) (+error404) si (+error404) quisiera saber si se ha descartado el uso de base de datos (+error404) si hay planes (+error404) si hay un quizas (+error404) eso (@jcea) a ver (@jcea) en la parte del bot puede usar lo que le dé la real gana (@jcea) ese es problema de cada programador (@jcea) de cara a Olimpo y la BDD, de momento no se plantea dar acceso a bot no (@jcea) "internos" a hispano, por seguridad (+error404) aha (+error404) :) (+error404) pues eso era (@jcea) más ? (@zoltan) no hay mas gente esperando (@jcea) a proposito de la bdd (@jcea) aprovecho para comentar una cosa (@jcea) en general, los bots (Siempre hablando de esta primera fase) (@jcea) SOLO podrán responder a privados de usuarios (@jcea) osea, solo pueden responder, no iniciar una conversacion (@jcea) eso esta hecho por seguridad (@jcea) una ves que alguien te ha dicho algo (@jcea) el bot puede mandarle mucha informacion durante mucho tiempo (@jcea) no solo responder al comando (@jcea) sino media hroa despues :-) (@jcea) Por decirlo de alguna forma (@jcea) cuando un usuario abre un privado al bot (@jcea) esta dando permiso para que el bot le diga cosas en el futuro (@jcea) bien, eso una cosa (@jcea) segunda cosa (@jcea) al bot no le llega un nick (@jcea) le llegará un identificador de sesion (@jcea) pero NO un nick (@jcea) es decir, las operaciones (@jcea) serán anonimas (@jcea) (siempre hablandod el nivel 1) (@jcea) la idea es (@jcea) a) que no podais identificar a la gente (@jcea) y (@jcea) b) Como no teneis acceso a la BDD, no podeis asegurar que el "jcea" de hace un mes es el mismo "jcea" de hoy (@jcea) puede haber caducado el nick y haberlo pillado otro usuario (@jcea) es una de las razones por la que no se os pasa nicks (@jcea) porque no valen para seguir sesiones (@jcea) entre dias distintos (@jcea) uan tercera cosa (@jcea) solo se podrán comunicar con vosotros los usuarios ocn nick +r (@jcea) en este momento hay unos 60.000 usuarios ocn +r (@jcea) y pronto será obligatorio, así que dentro de un par de meses (@jcea) esto no os resultará un problema (@jcea) ¿preguntas? (@jcea) y sí, en el futoro (@jcea) se podrá hablar en canales (los bots), pero no ahora (@jcea) :) (@zoltan) si, hay uno esperando :) (@zoltan) Amn3S1A: es tu turno (+Amn3S1A) gracias :) (@zoltan) :) (+Amn3S1A) hay alguna fecha sobre la que se espere el nivel 1? (@jcea) quería tener algo para enseñar, básico (@jcea) a finales de mes, pero no me comprometo a ello (@jcea) :) (+Amn3S1A) ok :) (+Amn3S1A) tambien otra pregunta (+Amn3S1A) hmm (+Amn3S1A) no se podria mantener una db (+Amn3S1A) en la que un usuario autorice a un bot para iniciar una sesion? (@jcea) si, pero no en esta fase (@jcea) es posible que en el futuro (+Amn3S1A) y otra ultima :) (@jcea) haya una llamada extra en el API (+Amn3S1A) cuando te reiferes a niveles te refieres a una "evolucion" de la api? (@jcea) que, el bot le pasa el identificador (+Amn3S1A) o niveles mas 'restringidos'? (@jcea) y OLimpo te devuelva un identificador PERSISTENTE (@jcea) que se garantiza que existe o desaparece (@jcea) pero no se reutiliza (@jcea) :) (@jcea) no sé si me explico (@jcea) cuando hablo de niveles (@jcea) hablo de niveles de acceso (@jcea) los bots con nivel más alto tienen acceso a cosas que los bots más bajos tienen denegadas (@jcea) por ejemplo, entar en canales (@jcea) .-) (+Amn3S1A) entonces en resumen, en un primer nivel solo se tiene acceso a privmsg en el caso de que el usuario remoto inicie una sesion y siempre anonimamente (@jcea) ahora empezamos por el nivel más bajo y basico (+Amn3S1A) correcto? (@jcea) a medida que se gane experiencia y se vea que hacen falta más cosas, se irán poniendo (@jcea) amsesia, correcto (@jcea) el primer API, será asi (@jcea) un segundo APi permitirá canales y sesiones (+Amn3S1A) luego, toda la API del cliente estara bajo Open Source? (@jcea) pero solo me metere con eso (@jcea) cuando haya suficiente experiencia con el primero (+Amn3S1A) siendo ya propietario la parte del servidor.. (@jcea) el protocolo API Olimpo <-> bot será publico (@jcea) y cualquiera lo podrá clonar y usar en sus proyectos (@jcea) con la ventaja de que funcionará con Olimpo (+Amn3S1A) bueno.. :) lo ideal seria tener ambas partes bajo Open Source (+Amn3S1A) pero eso ya es otro tema (@jcea) si, es tema para otro día :) (@jcea) el APi se ha diseñado exprofeso (@jcea) para qeu sea fácil de "clonar" (+Amn3S1A) ok, pues de momento no tengo ninguna otra pregunta mas (@jcea) a otra redes no debería costarles ni una semana de curro (@jcea) ni tres dias, de hecho :) (+Amn3S1A) ascender de nivel (+Amn3S1A) depende del proposito del bot (+Amn3S1A) no? (@jcea) depende de que necesite el nivel (@jcea) y del nivel de confianza que tengamos con su autor (+Amn3S1A) aja (+Amn3S1A) vamos, que no hay ningun servicio para automatizarlo? (@jcea) en general se te dará lo mínimo que necesitaes para cumplit ru funcion (@jcea) explicate (+Amn3S1A) es decir (+Amn3S1A) que hay que hablar contigo, no es un servicio automatizado para 'darse de alta' o 'alterar datos' (nick y demas) (@jcea) corecto (@jcea) no creoque ese sea un problema (@jcea) a menos que haya 25 bots nuevos cada dia (@jcea) :-) (+Amn3S1A) a eso me referia xD (+Amn3S1A) luego, hay en principio un limite de bots por usuario? (@jcea) lo que de la memoria de mi maquina (@jcea) :-) (+Amn3S1A) :D (@jcea) ese no será un problema (@jcea) cada usuaro que te abra un privado (@jcea) çestablece una "sesion" en olimpo (@jcea) para que olimpo sepa que puedes responderle (@jcea) cada sesion de esas ocupa unos 50 bytes (@jcea) asi que puedes tener varios miles (+Amn3S1A) me refiero tambien al numero de bots que se pueden dar de alta (@jcea) ah (@jcea) en este momento he puesto un límite de unos 60 simultaneos (@jcea) pero es algo que puedo cambiar (@jcea) es simplemente por poner un limite (@jcea) ¿más preguntas? (@zoltan) si (@zoltan) es tu turno (@zoltan) jordi (@zoltan) :) (+|savage|) Me ha parecido muy elegante el sistema, creo que puede ser realmente interesante (al menos en mi caso) pero tengo unas dudas: La sesion para anonimizar el usuario es válida y única durante el ambito temporal de conexión a la red de ese usuario, si se cae y reconecta le asiganas otra, no ? (+|savage|) ha salido toda la pregunta ? (@zoltan) si, parece ser :) (@jcea) savage, correcto (+|savage|) ok y segunda pregunta: (@jcea) el permiso que tienes para enviar a un usuario (@jcea) se pierde cuando el usuario se da de baja (@jcea) pero NO cuando el usuario cambia de nick (+|savage|) para poner un BOT necesito tener mi nick y el del BOT en NO-EXPIRE? ;-) (@jcea) los nicks de bots no expiran (@jcea) mientras el bot siga en servicio (@jcea) tu no necesitaras un "noexpire" para pedirme acceso a Olimpo (@jcea) ni tu ni nadie, vaya (+|savage|) era broma :) (+|savage|) nada más (+|savage|) gracias (+error404) es tambien (@zoltan) error404: es tu turno :) (+error404) acerca de la caducidad (+error404) de las sesiones (+error404) si tienen caducidad (+error404) si yo dejo "por ejemplo" (+error404) de jugar al ajedrez (+error404) hay un timed out de sesion? (+error404) implementado (+error404) o eso cada uno (+error404) eso era (@jcea) en primer lugar, las sesiones "PERSISTENTES" no estarán disponibles en esta primera fase (@jcea) aunque puede ser que se añadan muy rapido (@jcea) en segundo lugar, no, no tendrán timeouts (@jcea) el unico timeout (@jcea) será cuando el usuario pierda su nick (@jcea) por expire o drop (@jcea) o similar (+error404) aha (+error404) ok (@jcea) es posible que se imponga algun timeout por razones practicas (+error404) :) (+error404) de memoria o que? (@jcea) pero no será nada inferios a, digamos, 3 meses (@jcea) 3 meses de inactividad (+error404) capito (@jcea) osea (@jcea) nada que deba preocuparte:) (+error404) ok (@zoltan) error404: alguna pregunta mas? (+error404) nop (@jcea) ¿más preguntas? (@zoltan) jordi, te toca :) (+|savage|) Supongo que informarás a los BOTs del fin de sus sesiones abiertas para que liberen recursos, con un "FIN_SESSION kSADdcFDS" o similar, no ? (@jcea) savage, no (+|savage|) me refiero a sesiones de "conexión" (@jcea) yo no me guardo las sesiones (@jcea) asi que no sé cuando caducan (+|savage|) o sea las de Level1 (@jcea) solo tempuedo decir si una sesion que tu me proporcionas (@jcea) es valida o no (@jcea) a ver (@jcea) yo no me guardo sesiones (@jcea) en una base de datos (@jcea) las genero al vuelo (@jcea) lo que sí puedo determinar (@jcea) es si una sesion que tu me das (@jcea) es valida o no (@jcea) pero solo cuando tu me la ofreces (@jcea) (porque yo te la di el dia antes, por ejemplo) (@jcea) en ese sentido yo no sé que una sesion haya caducado hasta que tú me lo preguntas (@jcea) soy un oraculo (+|savage|) pues seria interesante, pk para cosas masivas es interesante poder liberar (@jcea) tu me planteas la pregunta (a Olimpo) (@jcea) y yo te digo "si" o "no" (+|savage|) ya, lo decia por no hacer "polling" (@jcea) no se va a poder hacer, Savage (+|savage|) y gastar menos caudal (@jcea) cuestion de que elijas cada minuto (@jcea) 10 sesiones aleatorias de tu base de datos (@jcea) y me las consultes (+|savage|) ya ya (@jcea) en relaidad es más sencillo (@jcea) si sabes que una sesion persistente (@jcea) solo caduca si el tipo pierde el nick (+|savage|) y si al enviar algo a una sesion me dices "NO LA TENGO" pues ya me entero (@jcea) basta con que me consultes las sesiones que tengas inactivas desde hace un mes o mas (@jcea) :) (+|savage|) pero lo decia para cosas que pueden estar un tiempo IDLE (+|savage|) como lo de Slashdot (@jcea) svage, estamos hablando de periodos de expiracion de años (@jcea) si es que llegan a expirar :-) (@jcea) por muy inactivo que esté slashdot (@jcea) tiene algun post al año :) (+|savage|) retomando mi pregunta del otro turno (+|savage|) de momento no hablamos de las persistentes, sino de sesiones de conexion (+|savage|) no ? (@jcea) las persistentes no se implemntarán en una primera fase (@jcea) la expiracion de una sesion de conexion solo tiene lugar cuando (@jcea) a) hay un split de la red y el usuario está del otro lado <- Es posible que esto lo solucione (@jcea) b) el usuario desconecta (@jcea) c) El usuario cambia de nick por otro que no es +r (@jcea) la opcion C es posible que la elimine tambien (@jcea) con lo cual, si soluciono todos los problemas (@jcea) solo te quedaría la b (@jcea) "cuando el usuario desconecta" (+|savage|) ok, bueno, preferiria el "CALLBACK" informando del final de sesiones de conexion, pero desde luego, es mejor que la memoria la gaste yo, no Olimpo :) ya haremos polling para liberar recursos ... (+|savage|) Creo que solo queda que definas el API lo antes posible ... para que podamos hacer simulaciones (+|savage|) con nuestros dumb servers (+|savage|) no tengo más preguntas. gracias. (@jcea) ¿más preguntas? (@zoltan) no queda mas gente (@jcea) savage (@jcea) en el API propuest hace un par de meses (@jcea) se hablaba de que Olimpo (@jcea) "puede" informar del fin de sesiones de conexion (+|savage|) no lo he visto, y estoy en la lista y la sigo atentamente (@jcea) de forma proactiva (@jcea) pero no es algo que se garantice (@jcea) ni que responda rapidamente (@jcea) es decir (@jcea) la situaciones la siguiente (@jcea) alguien te abre un privado (@jcea) al abrirlo, te crea una sesiond e conecion (@jcea) que te garantiza que le podrás hacer spam (@jcea) hasta que se canse y desconecte :-) (@jcea) si el usuario se va (@jcea) en cuanto le intentes enviar un mensaje lo sarbrás porque olimpo te dará un error (@jcea) de "usuario inexistente" o "sesion cerrada" (@jcea) pero es "posible" que olimpo, por sus porpios medios (@jcea) te mande un "sesion cerrada" por su cuenta (@jcea) antes de que tu le mandes nada (@jcea) eso es asi porque Olimpo (@jcea) tampoco tiene muy claro quien esta y quien no esta :-) (@jcea) Y de vez en cuadno se hace un repaso de las sesiones que tiene abiertas (@jcea) y si ve que alguna ya no es valida (@jcea) pues te lo dice (@jcea) Pero eso puede ser nunca, al cabo de media hora de que el tipo se pire (@jcea) o al momento (@jcea) Es algo que no se garantiza, pero con lo que debes contar por si te llega (@jcea) :) (+|savage|) mi caso: usuarios en un MUD, muchos pueden estar en iddle, pk no "ocurre" nada en su sala, y me gustaria liberar ram si se han ido de verdad. (+|savage|) solo seria deseable (@jcea) yo te puedo decir que tras 48 horas seguro que olimpo te dira algo :-) (+|savage|) está claro que puedo hacerlo de otra forma ... pero bueo, solo expongo mi deseo (@jcea) y tambien puedes hacer la tecnica de polling (@jcea) igual que para sesiones persistentes (@jcea) de hecho aqui tendráis que tener sesiones pesrsistentes (@jcea) pra no perder personajes cuando el susuario sre pira (@jcea) y devilverselo cuando se conecta al día siguiente (+|savage|) no se si seria mucho pedir que asocies una lista de sesiones a cada usuario que Olimpo tiene en memoria ... (@jcea) savage, estas son las cosas que hay que madurar con la experiencia (@jcea) por eso quiero empezar con un api sencillo (+|savage|) me pareció simplemente posible, facil y deseable. (@jcea) eso son las cosas que se valoraran con la experiencia a cuestas (@jcea) :-) (@jcea) Ahora mismo no quiero complicar olimpo sin que sea necesario (+|savage|) bueno, ya sabes que experiencia tengo, solo era por adelantar (@jcea) y ma´s queriendo tener esto listo en dos semanas (@jcea) :) (@jcea) no digo experiencia tuya ni mia (@jcea) digo del sistena (@jcea) osea (+|savage|) ya (+|savage|) ya (@jcea) cuando usemos el sistema y empecemos a meter bots (@jcea) iremos descubriendo "putadas" (+|savage|) vale, te floodeare a polls :) (@jcea) tres meses más tarde poderemos sacar un nivel 1 PLUS (@jcea) con esos problemas resueltos (@jcea) savage, ok (@jcea) :) (@jcea) te controlaré el ancho de banda (@jcea) },-) (@jcea) ¿más preguntas? (+|savage|) juer, casi estoy por hacerlo via DCC :) (@jcea) es otra opcion que tienes (@jcea) pero sigues teniendo sesiones persistentes (@jcea) aunque solo uses la de sesion para inyectarle el DCC (@jcea) :) (+|savage|) prefiero ke la red me haga de multiplexor, más de 10.000 sokets cuesta de moverlos en algunas plataformas (@jcea) poll rules (@jcea) :-) (@jcea) bueno, ¿más preguntas? (@jcea) savage (+|savage|) mejor kevent() :) (@jcea) si tienes 10000 sesiones activas (@jcea) a la vez (@jcea) ya tendría sun status un poco especial :) (@jcea) ¿más preguntas? (+|savage|) pero no tengo ya un status "especial" ? ;-) (@zoltan) si, hay uno esperando :) (+|savage|) gracias (@jcea) siguiente (@zoltan) Astharoth: te toca (+Astharoth) hola , buenas tardes (+Astharoth) ya que me apunta zoltan que aun no se ha comentado (+Astharoth) mi pregunta iba encaminada a la parte mas practica de la implementacion (+Astharoth) no a la parte teorica que todos deberemos de leer y aprender (+Astharoth) es decir, saber el material suministrado para utilizar el framework (+Astharoth) y si haria falta que algun usuario realizara port de ese API a algun otro sistema (+Astharoth) para extender a cuantos mas sistemas el API cliente (@jcea) una vez que el API se concrete y se publique la especificacion (@jcea) cualquiera puede implementarlo (+Astharoth) correcto , jcea, pero queria saber tus ideas sobre ello (@jcea) yo publicaré una implementacion de referencia en Python (@jcea) pero ni por asomo voy a convertirlo a 20 lenguajes (+Astharoth) logico, era lo que yo queria saber (+Astharoth) en que se iba a realizar la primera implementacion (+Astharoth) y si habria libertad de port a otros sistemas (@jcea) la implementacion de referencia será python (@jcea) ¿por quñe? (@jcea) porque el rendimiento no es un factor y la velocidad de desarrollo si (@jcea) :) (+Astharoth) logico, te entiendo (@jcea) en cuanto a la libertad" (@jcea) yo ha dicho en muchas ocasiones que (@jcea) a) el API será publico y libre (@jcea) b) Se potenciará la disponibilidad de librerías cliente para variedad de sistemas y lenguajes (@jcea) c) Se apoyará la adaptación del API en otras redes (@jcea) yo soy el primer interesado en que Globalchet, por ejemplo (@jcea) tenga un "olimpocutre" (@jcea) que tenga el mismo API (+Astharoth) correcto, entonces seria buena idea, una vez terminada esta primera version base que nos das el crear un grupo de trabajo para portar ese API a los lenguajes / sistemas mas extendidos (@jcea) aunque por dentro no tenga nada qu e ver (@jcea) asi gente que odia hispano (@jcea) meterá bots en otras redes (@jcea) y estoy seguro de que acabarán aqui tambien :) (+Astharoth) jajaja, si, es probable. (@jcea) no creo que haga falta formar grupos (+Astharoth) bueno, esa era mi unica cuestion. (@jcea) el API será muy simple (@jcea) estimo que a un programador decientillo (@jcea) adaptarlo a C le llevaría dos o tre sdías (@jcea) como mucho (+Astharoth) lo de los grupos lo decia para que nadie repitiera faena (@jcea) la cuestion es que el API se potencia solo (+Astharoth) no por costo (@jcea) si tu programas en visual basis (@jcea) basic (@jcea) y no tienes una libreria apropiada (@jcea) te la curraras tu (@jcea) y, si eres bueno, (@jcea) la colgarás del web (@jcea) para que el proximo tenga medio camino andado ya (@jcea) sino... bueno, el api será sencilla, ya lo he dicho (+Astharoth) correcto, simplemente era apuntar a un minimo de organizacion en eso para que nadie repita faena (@jcea) eso si (+Astharoth) porque seguro que cinco o seis se ponen a portarla a la vez a C++ (@jcea) eso si que es interesante (@jcea) pero para eso está #irc-dev (+Astharoth) posiblemente si mi faena lo permite sea yo uno de ellos xD (@jcea) para coordinarnos (+Astharoth) correcto (@jcea) yo no quiero tener que preocuparme por esos detalles (@jcea) ¿más cosas? (+Astharoth) no, eso era todo (+Astharoth) gracias (@zoltan) es turno de jordi (+|savage|) bueno (+|savage|) solo tranquilizar un poco a los ke nos leen (+|savage|) la implementacion de referencia será en "lenguaje TELNET" (+|savage|) que es el mas sencillo que se ha inventado (+|savage|) y que cualquier lenguaje con soporte directo o indirecto de sockets (+|savage|) puede hacer "read" o "write" de lineas (+|savage|) con comandos sencillos de 1 palabra y algunos parametros (+|savage|) es asi jcea ? (@jcea) si (@jcea) cualquier lenguaje que pueda abrir y gestionar (@jcea) una conexion TCP/IP (@jcea) podrá interactuar con hispano (@jcea) eso incluye forth :) (+|savage|) incluso un mIRC script en modo raw socket (@jcea) si, correcto (+|savage|) pero no seria malo que jcea tubiese un repositorio de "ejemplos" (@jcea) ¿más cuestiones? (@jcea) algo se hará, savage :-) (@jcea) de hecho ya me han pedido que pase el "dxcluster" por la lista XD (@jcea) ¿más cuestiones? (@zoltan) si, hay uno que quiere preguntar (+cuelebre) he leido antes ke el rendimiento no es un factor determinante y la velocidad de desarrollo si (+cuelebre) ke opinas de los lenguajes funcionales (+cuelebre) para hacer un prototipado (@jcea) cualquier lenguaje que reduzca tu trabajo y cumpla con la tarea es bueno (+cuelebre) sin importar el rendimiento real de la maquina ? (@jcea) en este caso lenguajes como el C son overkill (@jcea) porque no se aprovbechan sus viretudes y se sufren sus desventajas (@jcea) cue, he dicho "que cumpla con la tarea" (@jcea) esa parte es importante (@jcea) piensalo así (@jcea) si tengo una máquina 100% dedicada a una cosa (@jcea) y programar en C me da 30% de CPU consumida (@jcea) y en Python 95% de CPU consumida (@jcea) tiraré por el python, olviamente (@jcea) porque puedo deesarrollar 10 veces más rapido (+cuelebre) vale (@jcea) y lo qu ecuesta dinero no es la maquina sino mi tiempo (+cuelebre) efectivamente (+cuelebre) cliente Haskell asignado (+cuelebre) ;) (+cuelebre) nada mas (@jcea) perfecto (@jcea) ya tenemos el segundo lenguaje (@jcea) ¿Alguna pregunta mas? (@zoltan) jesus, no hay mas gente esperando (@jcea) bueno (@jcea) si no queda nada más, me voy