Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pt.comp.programacao > #194

Re: sobre fontes e leitura

From Patricia Ferreira <pferreira@example.com>
Newsgroups pt.ciencia.geral, pt.comp.programacao
Subject Re: sobre fontes e leitura
Followup-To pt.comp.programacao
Date 2024-01-26 15:00 -0300
Organization A noiseless patient Spider
Message-ID <87jznwasad.fsf@example.com> (permalink)
References (4 earlier) <87wmrxe0uv.fsf@example.com> <uoukkp$2fiam$1@dont-email.me> <87ttn1c5xg.fsf@example.com> <ef4972d74f7d589169584368c44bf76ec73fa5f3.camel@rasparta.org> <87a5osceub.fsf@example.com>

Cross-posted to 2 groups.

Followups directed to: pt.comp.programacao

Show all headers | View raw


Patricia Ferreira <pferreira@example.com> writes:

[...]

> Tem dois tipos de anotações.  Existem aquelas que servem só pra nos
> lembrar onde estávamos e existem aquelas que concluem alguma coisa.  Eis
> o que escrevi ondem pra continuar o trabalho hoje.
>
> ;; Where are we?  We have the following bug.  When Sylpheed posts,
> ;; we're getting line endings \r\r\n.  This does not happen in any
> ;; other way.  We don't know what the problem is.  Why is that a
> ;; problem?  Who is doing this?  Is it really Sylpheed?  Or is that we
> ;; somehow?  We care because otherwise we cannot parse it!  So we have
> ;; a bug in parsing-article procedure for sure.  If sylpheed always
> ;; sends \r\r\n\r\r\n, we will never find \r\n\r\n between HEADER and
> ;; BODY.  (We should skip this article in which case.)

Eis como continuei hoje.

;; How can we discover who is to blame?  Use a different client first.
;; But no others work.  Lol!  What are we going to do?  I've no idea.

Reconheci minha inabilidade pra projetar software e desisti, ou seja,
comecei a usar um debugger---Wireshark.  Descobri.

;; It's us doing it.  Someone is substituting 0a into 0d 0a.  Since
;; Sylpheed already ends lines with 0d 0a, then we end up with what we
;; see.

Onde estava o problema?  Não é na entrega ao sistema de arquivos porque
estou fazendo isso de forma binária.  Não é o recebimento do sistema de
arquivos porque estou fazendo isso de forma binária.  Então onde poderia
ser?  Não chega da rede com essa adulteração.  Então onde poderia ser?
Na leitura da rede.

Em suma, não era o Windows fazendo tradução de \n pra \r\n.  O protocolo
NNTP exige \r\n.  Sabe o que era?  Meu código lê os dados linha por
linha.  Common Lisp read-line remove \n.  Então as linhas vinham como 

  linha\r

Ao juntar todas as linhas, eu fazia 

  (str:join \r\n (list linha1\r linha2\r))

e aí, obviamente, terminava com \r\r\n.  Solução:

  (strip-carriage-return (read-line)).

Mas nada disso é interessante o suficiente.  Então destruímos a anotação
e vida que segue.

(*) O que seria interessante?

Interessante parece ser o fato de que preciso de um debugger.  Não
consigo ver a comunicação com clareza.  Nem meu software me permite ver
a comunicação com clareza e nem o cliente.  Isso não é mau design?
Parece.  Se levarmos essa consideração a sério, aí sim podemos escrever
um documento inteiro pra posteridade.

Back to pt.comp.programacao | Previous | Next | Find similar | Unroll thread


Thread

Re: sobre fontes e leitura Patricia Ferreira <pferreira@example.com> - 2024-01-26 15:00 -0300

csiph-web