sábado, julho 27, 2002

Um dia vou escrever um livro... :) Hoje eu acordei rindo. Como de costume, assim que saí da cama, olhei a tela do computador para checar os mails que chegaram à noite. É conforme esses mails que eu sei +/- o que terei de trabalho pra fazer durante o dia, e assim, eu fico psicologicamente preparado para o que vou ter pela frente. O fato é que eu olhei a tela do computador, e vi um formulário no mínimo curioso, enviado por um anônimo. Ou foi escrito por algum dos retardados que povoavam a rede em abundância até 1998 e acabaram extinguindo-se ainda há pouco tempo, dinossauros deslocados da época que são, ou foi escrito por algum imbecil pró-BrasNERD com base naquela inacreditável baboseira de "a BrasIRC vai acabar", ou então é algum desses novatos metidos a sabichões que ficam dando opinião sobre aquilo que não sabem... bem, seja quem for o autor, me proporcionou um divertido começo de dia. :) Sinta a fina flor das abobrinhas escritas por nosso ilustre (e babaca) desconhecido: "É BrasIRC... Parece mesmo que o seu fim se aproxima" - Ahan, nosso fim está bem próximo, pode deixar. Tá ali dobrando a esquina, olha a perninha dele aparecendo... viu? Mas me conte, e depois do fim, o que vai rolar Mãe Diná? Vamos nos juntar à BrasNET? Hehehehehehehehehehehe... :P "Na época que tinha um pessoal x9 que todo mundo falava mal, mas que dava jeito nos pepinos" - Sim, eles davam! Davam um jeito de não fazer porra nenhuma e acharem que deveriam ser recebidos com trombetas e tapetes vermelhos! Dá até pra fazer uma listinha das figurinhas:
  • O imbecil do Jan, que se achava dono da rede por ser owner do domínio (aliás, ele não foi o único a entrar nessa) e apareceu ninguém sabe de onde com aquele papo de que IRCop serve pra ajudar usuário, uma maldição que até hoje contamina a BrasIRC... acho que ele nunca ouviu falar numa rfc na vida;
  • O megalomaníaco Wizard9, que dizia que fez muita coisa pela rede e não foi reconhecido, mas nunca fez absolutamente nada a não ser se achar gostosão e indispensável (como todo bom ASPONE*, aliás). Saiu da rede como motivo de piada, porque saiu dizendo que estava cansado e voltou em seguida, o que lhe rendeu o carinhoso apelido de Wizard-iô-iô-9;
  • A retardada da Sil}}, que só sabia jupar os servidores dos outros, dar akill em *@* e dizer no IRC que tinha o poder de levitar, pois era uma bruxa;
  • O esclerosado XPTO, que dizia que deveríamos "excercitar a democracia e a cidadania no IRC" (tadinho, é coisa da idade, deixem ele...);
  • O KiDnPlay, nosso criador de packet-boys, que queria colocar os services da rede naquele provedor, aquele lá, lembra? Pois é, ele queria fazer isso "pelo bem da rede", hehehehehe;
  • O "competente" ruan, que na época que era líder da equipe de segurança deixou o Wyrm avacalhar com a UFSC e depois ainda ficou defendendo-o, e que quando era administrador das nossas listas de discussão, deixou a lista admin LOTADA de admins da BrasNET;
  • E, já que falamos nele, o próprio Wyrm, nosso grande programador, deixou um backdoor nos services dando a ele acesso ao comando RAW (ou seja, dando a si próprio poderes ILIMITADOS e clandestinos sobre a rede)...
Realmente, os antigos colaboradores da rede eram muito eficientes, inteligentes, corretos, e davam jeito nos pepinos todos! Hehehehehe... "Lembram de alguns membros bastante competentes que foram saindo devagarinho? slaughter, mozzila, mitsuplic, osmankye, malaria, virosdemo" - slaughter? Ah, sim, aquele babacão que gostava de dar uma de gostoso, fez parte da rede por 6 meses, não fez PORRA NENHUMA e ainda quando saiu, saiu achando-se cheio de moral (mais ou menos o mesmo esquema do iô-iô-9). Mozzila? Mitsuplic? Quem eram mesmo? :) Osmankye? Aquele que a gente fazia recadastramento da lista de discussão do atendimento e ele nunca respondia? Sei, sei... e o que é que tem o Virosdemo? Ele ficou afastado por estar sem telefone em casa, mas hoje ele frequenta e rede de novo e está muito satisfeito com o que está vendo. "Não, não devem lembrar, nem fazem falta nessa feira que é hoje a rede" - Ah, sim, sem dúvida, fazem falta, muita falta, claro... é sério, eu concordo com você tá? Só não esqueça de tomar o seu Gardenal hoje. E quanto ao lance da feira... Terra, câmbio... aterrisa filho, você se enganou. A rede onde vendem mouse pads, canetas, camisetas, tapetes persas e outras quinquilharias para os usuários é a BrasNET. Lá sim é a feira... a nossa rede é a BrasIRC, lembra? "Gente, vocês já viram a Brasnet? Ixi, quantos usuários não? Já passa dos 20.000? Ainda não? Já? Aff... Eu lembro na época que era pau a pau... 5.000 lá e cá, 6.000 lá e cá, agora é 3x lá e x cá..." - Quem disse que estamos aqui pra ficar apostando corridinha com outras redes? A BrasNET tem recordes maiores que os nossos (diferente de ter mais usuários)? PARABÉNS! Só não podemos esquecer que isso não nos diz respeito. :) Agora, esse papo de que a BrasNET é três vezes maior que a BrasIRC... é, esse cara não sabe fazer contas mesmo... "Bom que pena que a BrasIRC está quase assinando seu atestado de óbito" - Sim, claro... por isso que de janeiro para cá voltamos a crescer sem parar, e batemos nosso recorde de usuários duas vezes só essa semana. :) Um dia ainda vou escrever um livro sobre as histórias que já vi no IRC, com destaque especial para gênios como esse aí. Aliás, o cara é tão genial que me lembrou até do outro gênio que aparece nos dois posts abaixo deste. Continue lendo daqui para baixo. :) (*) ASPONE - ASsessor de POrra NEnhuma

quinta-feira, julho 25, 2002

Mais uma para o festival de besteiras Finalmente, encontrei nos meus logs de GlobOps: [01:55] ••• [ F-Lelo ] [ Soulrebel, calma ] {DK} [01:55] ••• [ F-Lelo ] [ 1 anula o ouro ] {DK} [01:55] ••• [ xs ] o ouro ? [01:55] ••• [ F-Lelo ] [ outro ] {DK} [01:55] ••• [ F-Lelo ] [ hehehe ] {DK} (...) [01:56] ••• [ SoulRebel ] tens certeza q anula mesmo? eu ja vi usarem assim em varias portas diferentes: 7002, 7003, 7004 [01:57] ••• [ xs ] o que ele quis dizer é: [01:57] ••• [ xs ] q c vc dá 1o. connect.. e depois em seguida dá o 2o... [01:57] ••• [ xs ] o primeiro nao terá validade [01:57] ••• [ SoulRebel ] sim, entendi. valeu pelo toque. :) MEU DEUS... de onde esse F-Lerdo tira essas pérolas? Detalhe que quando eu relembrei este episódio, depois da imbecilidade do /connect services (leia o post abaixo), ele negou ter dito mais esta besteira... pois está aí o log para comprovar. Pior que um IRCop desses, é o admin que deu O:line pra ele.

/connect services.brasirc.net ??? :) O post de hoje é só para IRCops, hehehe... usuários comuns dificilmente vão entender o que eu escrevi aqui. Hoje eu me diverti vendo quanta merda as pessoas são capazes de falar em GlobOps... incrível como chegam a ser IRCOps. A pérola de hoje foi o F-Lelo dizendo que dá pra usar /connect nos services, hehehe... Ok, vamos lá... explicando... :) Exceto os sistemas de Inteligência Artificial, nenhum programa "aprende" coisa alguma sozinho. Para que um programa seja capaz de executar uma ação, ele precisa, obrigatoriamente, ter alguma função em seu código que o "ensine" a executar essa ação. Por exemplo, se eu peço a versão dos services (/version services.brasirc.net), eles vão responder, pois eles possuem uma função capaz de "fazer o handle" dos requests de version. A função é essa: void m_version(char *source, int ac, char **av) { if (source) send_cmd(ServerName, "351 %s BrasIRC.NET Services-%s %s :%s -- %s", source, version_number, ServerName, version_flags, version_build); } Se eu "arrancar" essa função do código, os services simplesmente não saberão mais o que é um request do tipo version, e não vão mais responder. Da mesma forma, existem nos services funções para que eles possam "interpretar e entender" muitas outras mensagens, como stats, away (para que eles possam enviar dados sobre memos para o usuário), kicks, modes, motd, mensagens de mudança de nicks e muito mais. Outro exemplo: se eu removesse do código dos services a função m_nick, o NickServ não iria mais pedir as senhas dos usuários, simplesmente porque é essa função que, digamos, "ensina a ele o que é uma mudança de nick". Sem essa função, ele iria "ver" o usuário mudar de nick, mas não seria mais capaz de entender o que significa isso (se bem que não é o NickServ quem vê isso, mas essa é uma outra história). Pois bem: os services não possuem nenhuma rotina capaz de entender um pedido de connect enviado por um servidor para eles. Eles não esperam por /connects, nem são capazes de entendê-los quando os recebem. Além disso, os services são feitos para "morrerem" automaticamente, caso eles se deslinkem da rede por qualquer motivo. A rotina que "mata" os services faz parte do código original, e existe em todos os tipos de services. Ao desconectarem da rede, os services executam um services_shutdown(). Isso significa que, quando os services deslinkam, o processo deles cai e, portanto, não vai mais responder a coisa alguma. Duplo motivo para que o /connect não funcione. Imagine você tentando conectar no IRC sem nenhum programa capaz de conectar aberto, nem mIRC, nem bx, nem telnet, nem coisa alguma... vai conseguir connectar como? Nem sendo mágico... :) Um outro exemplo de mensagem que os services originais não são capazes de entender por completo é o SQUIT. Para que o nosso jupe estilo akill funcionasse mesmo com a rede alagada, foi preciso "ensinar" os services a esperarem pacientemente que o servidor jupado seja efetivamente squitado. Isso porque, quando a rede alaga, o squit demora para chegar até o seu destino. E para cuidar disso, nós tivemos que implementar uma nova rotina m_squit. Ok, então alguém diz: mas eu dei /connect nos services e funcionou! É sério, eu vi, eu juro que vi! Não querido. Você viu uma coisa e entendeu outra. O que rola é que, quando os services deslikam, o processo "morre". Exatamente por ele morrer, ele fica instalado na crontab da máquina, senão ele não volta nunca mais, correto? Pois bem, na BrasIRC, usamos um tempo de apenas 1 minuto para rodar o script que checa se o processo services está up. Assim, se os services caírem, no máximo 1 minuto depois da queda (ou um pouco mais, dependendo dos recursos da máquina) eles voltarão. E se eles voltam logo depois que alguém deu um /connect neles, isso cria a ilusão de que eles estão conectando graças a esse comando. Mas é só isso: pura ilusão, mais nada. Eles voltam por estarem na crontab, não por causa do comando /connect. Com ou sem connect, eles vão voltar de qualquer jeito, a menos que haja algum problema maior, que exigirá que um dos Services Roots entrem na máquina para checar o que está rolando de errado. Os FAQs dos diferentes services não trazem informação tão detalhada sobre esse assunto como a que eu coloquei aqui. Eles simplesmente dizem que é óbvio que um /connect não funciona, mas não explicam o motivo. Seja como for, para quem quiser ler mais sobre isso pra depois não sair falando imbecilidades pela rede e fazer papel de palhaço, eu sugiro os endereços abaixo: 1) http://www.ircservices.za.net/FAQ 1) e http://www.epona.org/faq/index.php?faqid=010 dizem: My IRC server is giving me messages like "Connection to services.whatever.net[127.0.0.1] activated" and then "Access denied -- no N line". Why? R.: This is typically caused by including a port number in the C:line for services, which tells your server to try to autoconnect to it (depending on the class (Y:line) settings). This is not what you want, because Services will connect to the server itself, BUT DOES NOT LISTEN FOR SERVERS TO CONNECT TO IT. The solution is to remove the port number from the C:line. 2) http://www.ircservices.za.net/FAQ 1) e http://www.epona.org/faq/index.php?faqid=011 dizem: When I say "/connect services.*", it doesn't work! R.: OF COURSE NOT. RTFM (Read The Fine Manual), and see the previous answer. O mais engraçado de tudo era ver o imbecil nitidamente convencido de que ele estava certo. O gênio brilhante havia acabado de entrar no delírio de que todos, até mesmo os próprios criadores dos services, estavam enganados e ele certo... na mente dele, os services devem possuir inteligência própria e aprender coisas sozinhos, hehehe. É... se as pessoas procurassem se informar melhor antes de falar bobagens, não passariam tanta vergonha... :)