Elmord's Magic Valley

Computers, languages, and computer languages. Às vezes em Português, sometimes in English.

Posts com a tag: about

Spam, spam, spam

2013-11-10 00:26 -0200. Tags: about, em-portugues

Em comemoração ao 150-ésimo post do blog, apresento-vos uma análise do comportamento dos spambots que me visitam tão assiduamente por aqui.

[Sir Spamalot]
Ilustração by Hélio encontrada em um caderno

Desde o dia 15/04/2012 até ontem (572 dias), os logs do blog registram 2051 tentativas de submissão de comentário. (Os logs têm um furo de cerca de duas semanas nesse período por um pequeno descuido com os arquivos.) Destas, 386 foram comentários bem-sucedidos (contendo a "resposta"). As outras 1665 são tentativas mal-sucedidas, das quais a grande maioria são spambots. (Algumas são pessoas que esqueceram de pôr a resposta ao submeter.) Isso dá uma média de 2.91 tentativas de spam por dia. Na prática, a quantidade de spam diário atualmente é maior que isso, pois a quantidade foi aumentando com o tempo:

# cat htlog-* | grep 'array ('  | grep -v "'cmmanswer' => 'XLII'"  |
  cut -d- -f1,2 | sort | uniq -c | sort -k2
      4 2012-04
      4 2012-05
     10 2012-06
      8 2012-07
      7 2012-08
     14 2012-09
    100 2012-10
     41 2012-11
     36 2012-12
     79 2013-01
     82 2013-02
     70 2013-03
     92 2013-04
     90 2013-05
    147 2013-06
    156 2013-07
    208 2013-08
    180 2013-09
    300 2013-10
     37 2013-11

2013-11 está menor do que o esperado porque estamos no começo do mês. Curiosamente, outubro de ambos os anos apresentam picos. Spam season?

Os "países" mais spamosos (baseado na saída do geoiplookup) são:

306     RU, Russian Federation
262     PL, Poland
216     UA, Ukraine
181     IP Address not found
157     US, United States
120     CA, Canada
99      CN, China
83      FR, France
81      LU, Luxembourg
52      A1, Anonymous Proxy
24      BR, Brazil
16      RO, Romania
15      NL, Netherlands
12      BE, Belgium

O conteúdo dos spams é que apresenta algumas surpresas. Por exemplo, o camarada 46.21.144.*, da Holanda, submeteu 14 comentários similares a esse:

Nome: 'lubgevvza'
Site: 'http://yngezlobxfcn.com/'
Resposta: 'Ac7NmB'
Texto: 'URFM5N <a href=\\"http://bpsgeffyfmzo.com/\\">bpsgeffyfmzo</a>, [url=http://gurqntepjlik.com/]gurqntepjlik[/url], [link=http://fdqlcjpcplfo.com/]fdqlcjpcplfo[/link], http://axymrrxyrgif.com/'

Os domínios mencionados não existem, e os acessos ocorrem em abril do ano passado e depois só em janeiro e fevereiro deste ano de novo.

Outra classe de spam são os comentários do tipo "whoa, que legal o teu texto, clique aqui":

Nome: 'strona główna'
Site: 'flazsdwtu@gmail.com'
Resposta: 'http://ths.pl/product-pol-5745-CERSANIT-Wanna-asymetryczna-CALABRIA-170-lewa-.html'
Texto: 'Throughout this great scheme of things you actually secure an A+ for hard work. Exactly where you lost everybody was first in your facts. You know, it is said, details make or break the argument.. And it could not be more correct here. Having said that, let me tell you just what did give good results. Your authoring is definitely extremely convincing and this is possibly the reason why I am taking the effort to opine. I do not make it a regular habit of doing that. 2nd, although I can certainly notice a leaps in logic you come up with, I am definitely not confident of just how you appear to unite your points which inturn make the final result. For right now I shall yield to your issue but wish in the future you actually link the dots much better. <a href=\\"http://ths.pl/product-pol-5745-CERSANIT-Wanna-asymetryczna-CALABRIA-170-lewa-.html\\" title=\\"strona główna\\">strona główna</a>'

(No post sobre o IPA.)

Ou:

Nome: 'discount homecoming dresses uk'
Site: 'uizckrptegw@gmail.com'
Resposta: 'http://eyeuser.com/blogs/viewstory/2127697'
Texto: 'Adult web Step into this I was suggested this web site by my cousin. I am not sure whether this post is written by him as nobody else know such detailed about my trouble. You’re wonderful! Thanks! your article about Adult web Step into this Best Regards Veronica Lawrence discount homecoming dresses uk http://eyeuser.com/blogs/viewstory/2127697'

(No post sobre prevérbios.)

Outros são pessoas se oferecendo para escrever por mim:

Nome: 'supra shoes'
Site: 'cttmmddww@gmail.com'
Resposta: 'http://www.suprashoes-skytop.com'
Texto: 'Please let me know if you’re looking for a article author for your blog. You have some really good articles and I think I would be a good asset. If you ever want to take some of the load off, I’d really like to write some material for your blog in exchange for a link back to mine. Please shoot me an e-mail if interested. Thank you!'

O mais legal de todos era um que continha uma conversa altamente filosófica sobre a Europa na Idade Moderna com links aleatórios no meio, mas não consegui mais encontrar.

Outra surpresa que eu tive agora é que das 1665 tentativas, 706 estão submetendo o formulário incorretamente, e não teriam sucesso mesmo que não houvesse qualquer mecanismo de antispam. O formulário para submissão de comentários do blog começa com:

<FORM ACTION='#cmmstatus' METHOD='POST'>

Aparentemente um bocado de bots descarta a query string (?entry=...) da URL do post ao submeter, enquanto o correto é submeter usando a mesma query string se nenhuma for especificada na ação (e o método não for GET; nunca testei o que acontece se o método é GET...). O post sobre o IPA parece ser particularmente atrativo a spambots, com 261 tentativas, seguido do post sobre múltiplos keymaps com o XKB e o sobre a performance de bounds checking.

Algumas das palavras mais freqüentes no texto dos spams, eliminando palavras funcionais (e.g., is, of, the, etc.):

    707 online
    547 asia
    537 shoes
    521 million
    429 seattle
    427 kings
    424 blog
    415 nba
    378 ranadive
    369 button
    312 sacramento
    311 nike
    276 buttons
    273 startup
    257 deal
    248 franchise
    244 claims

Um bocado dessas palavras (shoes, nba, ranadive, nike, kings) provêm de comentários gigantes com notícias sobre times de basquete com links perdidos para vendas de sapatos.

1 comentário / comment

Anarquia Teocrática

2013-09-15 02:59 -0300. Tags: about, em-portugues

Resolvi criar um blog para suprir minha necessidade de publicar nonsense e outros insultos à literatura sem infligi-los aos leitores deste blog aqui, que é bello e sério demais para o assunto, ou assim eu tento me iludir. O orkut anda me fazendo falta.

Perdoem a falta de posts decentes por aqui nos últimos tempos. Há pelo menos dois na fila, assim que eu criar o ânimo para escrevê-los.

7 comentários / comments

Twitter via linha de comando

2013-05-07 14:27 -0300. Tags: comp, unix, web, about, em-portugues

Por falta de coisa mais interessante para fazer, e já que RSS não é exatamente a tecnologia da modinha, estou disponibilizando experimentalmente um feed do blog no Twitter. A continuidade do "serviço" está sujeita à existência de usuários. [Update: Pensando melhor, provavelmente todo o mundo que tem interesse em seguir blogs usa RSS. Enfim, o feed está aí, por enquanto.]

A parte interessante da história é que eu descobri um bocado de clientes de linha de comando do Twitter no processo. Dos que eu experimentei, o que melhor me satisfez foi o t. (Eu experimentei mais outros dois clientes: o TTYtter, um cliente interativo pra lá de bizarro, mas com mil features e aparentemente fácil de estender; e o twidge, que aparentemente não suporta UTF-8. Existem dúzias de outros clientes, como uma pesquisa no Google revela.)

Os poderes mágicos do t derivam do fato de ele ser particularmente conveniente de usar em scripts. Um exemplo extraído da documentação:

Favorite the last 10 tweets that mention you

t mentions -n 10 -l | awk '{print $1}' | xargs t favorite

É possível instalar o t pelo RubyGems, através do comando gem install t. Antes de instalá-lo, certifique-se de que você tem instalado o Ruby e o RubyGems (pacotes ruby, ruby-dev e rubygems no Debian/Ubuntu; não ter o ruby-dev é um problema comum).

Uma vez instalado, é necessário executar t authorize, para realizar o processo de registro da aplicação no Twitter e de autorização do acesso da aplicação à sua conta. Você pode executar t sem argumentos para ver uma lista dos comandos disponíveis. Para mais informações, dê uma olhada no README na página do projeto.

(Quem me contou foi essa página.)

4 comentários / comments

Underground revolutions

2013-04-20 02:48 -0300. Tags: about, em-portugues

O blog system foi completamente reescrito.

Se você não percebeu a diferença, a operação foi um sucesso.

(Caso contrário, deixe seu bug report nos comentários (assumindo que os comentários estejam funcionando).)

O código-fonte será publicado assim que algumas bagunças forem eliminadas (ou assim que alguém pedir, o que vier primeiro).

[Update (23/04/2013): Bagunças não foram eliminadas. O código está disponível.]

3 comentários / comments

Blergh

2013-03-29 02:03 -0300. Tags: about, life, mind, rant, em-portugues

[Este post foi engolido por um tigre. (31/03/2013)]

13 comentários / comments

Quenya

2013-03-26 21:11 -0300. Tags: lang, conlang, book, ramble, about, em-portugues

Nos últimos tempos eu andei não postando tanto quanto eu gostaria (o que evidentemente me torna um impostor). Isso se deve em parte porque eu queria escrever posts decentemente coesos e coerentes. Por um lado eu estava meio indeciso sobre se fazia sentido falar de certas coisas em um único post ou se deveria abordá-las separadamente, entre outras questões organizacionais. Por outro lado, eu não andava com nenhum ânimo de escrever posts coerentes.

Well, no more µµµ. Para os próximos posts, e sabe-se lá mais quantos, eu abnego qualquer pretensão a coerência. Para me sentir um pouco melhor (não que isso seja de qualquer benefício ao leitor), vou começar a taggear esse tipo de post (que não é nenhuma novidade por aqui, mas eu tento me iludir de que eles são menos comuns) com a tag ramble. Por sinal, dada a inconsistência no uso de tags nesse blog ao longo do tempo, tem uma dúzia de posts que eu vou ter que taggear retroativamente. But I digress.

Anyway.

Durante as férias, eu resolvi finalmente pegar o Senhor dos Anéis para ler. O motivo por trás disso era primariamente poder desprezar a obra do Tolkien com conhecimento de causa. You see, por motivos mui pessoais e largamente ilógicos eu me via obrigado a ter um mínimo de respeito pela obra literária do Tolkien enquanto não a lesse. Por outro lado, eu tinha cá com os meus botões que o Senhor dos Anéis não valia grande coisa; tanto quanto eu sabia da história, a parte não-maçante era a parte que tinha sido copiada da mitologia nórdica.

Anyway, eu peguei o troço para ler. O livro (e não me diga que são três livros; isso foi idéia da editora) começa com um prólogo explicando o background da história para quem não leu o Hobbit, do qual o LotR originalmente era continuação. O prólogo descreve mui detalhadamente a vida dos Hobbits, tão detalhadamente que eu resolvi dar um fast forward para o fim do capítulo, tão-somente para descobrir que aquele era apenas o primeiro capítulo do prólogo, o qual consiste de nada menos do que quatro capítulos (ou seções, como preferir; eles não são tão longos) numerados e um não-numerado. Diante desta chocante observação, eu larguei o livro de mão e fui ler o Don Quixote (coisa que há de levar um bocado de tempo ainda, já que estou lendo em espanhol, língua na qual eu não estou acostumado a ler naturalmente, e a isso se soma o detalhe de que o vocabulário usado é um tanto quanto arcaico, fora que eu não estou lendo com particular constância; but I digress).

Isso foi há um mês e um tanto. Ontem eu resolvi pegar o LotR de novo (por razões que serão esclarecidas até o fim do post), mas dessa vez eu tomei a sábia decisão de pular inteiramente o prólogo. Eu ia começar a ler a história propriamente dita, e se a coisa continuasse igualmente enfadonha, eu ia largar esse livro de mão de vez, e me contentar em zombar da obra literária do Tolkien sem conhecimento de causa mesmo. Caso contrário, eu seguiria lendo e poderia mui informadamente escrever um post aqui dizendo o quanto eu desgostei da história, e sumiria com esse peso da minha consciência.

Em um golpe fatal contra meu rico e respeitável plano, os dois capítulos que eu li até agora foram surpreendentemente agradáveis.

E é isso. Esse livro provavelmente é digno da fama que tem, e se no fim das contas a história for ruim, pelo menos haverei de conceder que o camarada Tolkien escreve muito bem. Dois capítulos é muito pouco para afirmar qualquer coisa, mas enfim. Em qualquer caso, ler esse livro vai servir para ler The Last Ringbearer depois, uma obra que me parece altamente respeitável.

Mas não é sobre nada disso que eu vim falar originalmente, como o título do post pode sugerir. O que eu vim falar é sobre a obra do Tolkien como conlanger, e esta sim eu sempre admirei. (Famosamente (ou nem tanto), uma vez o Tolkien disse que "The ‘stories’ were made rather to provide a world for the languages than the reverse".) Ontem eu caí por acaso nesta página (procurando por "no word for if" no Google (pois estava eu experimentando com a gramática da minha conlang antes de ir dormir, e estava eu meditando sobre como criar orações condicionais sem uma palavra para "se", e resolvi pesquisar no Google se havia alguma língua que fizesse as coisas mais ou menos como eu tinha em mente, e que outras possibilidades havia para se construir condicionais sem "se" (sim, eu tenho uma conlang, que esteve semi-abandonada pelos últimos cinco anos (but I digress)))), e me chamou a atenção como as frases em Quenya (lê-se "qüênia", não "kênia") soam "naturalmente bonitas". Esse não é meu primeiro contato com Quenya, mas até então, for most part, eu só tinha visto frases criadas pelo próprio Tolkien, em um contexto artístico, e aí é de se esperar que as frases tenham sido cuidadosamente construídas para soarem bem. Mas aí está uma dúzia de frases compostas por uma pessoa não necessariamente preocupada com a beleza poética da tradução de "estou dormindo, deixe sua mensagem ou ligue para XXX" em Quenya, e as frases soam surpreendentemente bem (pelo menos para mim). (Eu ia gravar um ogg com a pronúncia de algumas das frases, mas me parece que os leitores não hão de estar particularmente interessados em ouvir minha bela voz proferindo sentenças aleatórias, e ao invés disso deixo-vos com El Hombre Tolkien Himself recitando uma versão pré-LotR do poema Namárië.)

E foi depois de cair nessa página que eu resolvi tentar retomar a leitura do LotR, e assim, li os acima referidos dois capítulos antes de ir dormir, o que conclui esta mui coesa história contada in media res.

12 comentários / comments

Da ordem dos links na barra lateral

2013-03-02 15:30 -0300. Tags: about, em-portugues

Caso algum leitor já tenha se perguntado qual é a moral da ordem dos links da seção "Quod vide" da barra lateral (em particular algum leitor cujo blog esteja linkado na mesma):

                GNU Philosophy       ─┐  
                Lambda the Ultimate   │ "autoridades" e outras  
                BitSavers.org         │ coisas altamente respeitáveis  
    línguas  ┌─ Language Log         ─┘      ─────┐
             └─ Conlangery Podcast                │
             ┌─ The Axis of Eval                  │
             │  Arcane Sentiment                  │
             │  Programming in the 21st Century   │
             │  Coding Horror                     │
             │  Proper Fixation                   │ blogs "famosos"
             │  One Div Zero                      │ (a.k.a. de gente que eu
informática  │  Loper OS                          │ não conheço pessoalmente)
             │  Structural Insight                │
             │  Kvardek Du                        │
             │  Angry Unix Programmer             │
             │  Things Of Interest           ─────┘ ─┐ coisas famosas que
             │  xkcd                                ─┘ não são exatamente blogs
             │  Lines o' Code         ─┐
    mais  ┌─ │  Rabanetes Cebolas      │
 línguas  └─ └─ Visions of hope        │ blogs de conhecidos
      outros ┌─ Hipértese              │
       temas └─ Little Strange World  ─┘

Sujeito a alterações sem aviso prévio.

Anda cada vez mais complicado adicionar alguma coisa nessa lista. Por exemplo, o BitSavers.org não é uma coisa tão "altamente respeitável" assim, mas não achei posição melhor para ele na lista. Acho que codificar essa informação em uma dimensão só é um caso perdido.

P.S.: Se alguém conhecer uma ferramenta gráfica livre, prática de usar e capaz de fazer esse tipo de diagrama (com colchetes ou chavezinhas matemáticas), queira me apresentar (embora eu desconfie seriamente que box drawing characters ainda são o estado da arte em 2013).

Comentários / Comments

Machina necat

2013-01-14 01:53 -0200. Tags: life, about, em-portugues

A dor nos meus olhos e nas juntas dos meus dedos sugere que eu deveria aproveitar a rara oportunidade que as férias me proporcionam de me manter longe de computadores e me manter longe de computadores.

Vejo vocês em um futuro indeterminado.

1 comentário / comment

Vetor de Elmord

2012-11-15 06:04 -0200. Tags: about, img, em-portugues

Para quem nunca viu ou não lembra:

[Slide com o lendário 'vetor de Elmord']

Determinar o significado de Elmord fica como exercício para o leitor.

Feliz dia da Proclamação da República para vocês.

5 comentários / comments

The googling people

2012-11-08 21:58 -0200. Tags: about, comp, bash, random, em-portugues

Pois ao invés de fazer alguma coisa útil com a vida, resolvi fazer uma análise dos termos de busca usados pelo povo que cai neste blog via Google. Primeiro alguns números:

Muitas das buscas são em forma de perguntas. Seguem algumas respostas e observações:

c como guardar o descritor da funçao open numa estrutura
Da mesma maneira como se guarda o descritor fora da estrutura: em um int.
Para que serve o quote (‘) quando colocado em frente a algo como um símbolo em Lisp?
Dada a inicial maiúscula e o fato de que o "quote" não é um quote de verdade ('), assumo que isso seja pergunta de exercício. O fato de ainda se usar Lisp em algum curso me surpreende. De qualquer forma, o quote serve para indicar que a próxima expressão não deve ser avaliada, e sim tomada como um dado literal (x se refere à variável x, 'x é um símbolo; (+ 2 3) é 5, '(+ 2 3) é uma lista de três elementos).
QUAL PROCESSADOR AQUECE MENOS
O desligado.
Usando fork() e exec():Faça um programa usando as chamadas de sistema fork() e exec() que produza as seguintes seqüências de ações:a.O processo pai deve criar um único processo filho. O filho será substituído pelo processo more ou cat.b.O parâmetro passado para o programa more ou cat deverá ser o nome do arquivo fonte do exercício. Por exemplo: "executa.c"
Whoa, uma abordagem totalmente nova para resolver exercícios. Vou lembrar disso para momentos apropriados.
alguma comando do prompt que aumente o tamanho dos caracteres
No xterm, Shift-<+ do keypad numérico>. No gnome-terminal, acho que só nas Preferências.

Surpreendentemente, existe uma seqüência ESC para trocar a fonte do xterm, desde que o recurso XTerm*allowFontOps: true esteja setado:

printf '\e]50;?\a'                # Descobre a fonte atual
printf '\e]50;nome-da-fonte\a'    # Muda a fonte atual
printf '\e]50;#N\a'               # Seleciona a fonte N da lista de fontes padrão do xterm
printf '\e]50;#+N\a'              # Escolhe a próxima N-ésima fonte
printf '\e]50;#-N\a'              # Escolhe a N-ésima fonte anterior

Só de ter descoberto isso já valeu ter escrito este post.

alterando strings bash
Digno de post futuro.
como acalmar o processador
Cante uma música para ele.
konsole mudou sozinho para "u@h:w$"
Chute: o shell padrão mudou do bash para o sh.
linguagem de programação mais ineficiente
Máquina de Turing.
listar inodes com 2 hard links
find . -links 2
nao  estou me fazendo de vitima
Será?
now write about yourself
Say 'please'.
o  que vai morar  de   pois    do    fim   do    mundo
Não sei se entendi, mas essas pausas dramáticas me deixaram até com medo.
o que acontece se eu criar um programa que chame o método fork() várias vezes seguidas, após cada fork, imprima o pid do processo e de seu pai.
Não tem resposta! [atira o leite de unicórnio de duas cabeças longe]
o que significa os 7 simbolos na palavra coexist
Huh...
oq é oq é muito dificil de descobrir
Eu sei, mas não conto pra ninguém.
os maias usavam o calendario para que?
Para datar eventos históricos e para trollar europeus.
passar conteudo variavel para outra prompt
Essa é interessante. Um jeito é usar o comando declare -p var, que imprime um comando que, quando executado, recria a variável var com o mesmo conteúdo. Podemos tentar automatizar a tarefa criando algumas funções e adicionando-as ao ~/.bashrc. O problema é que o comando declare cria variáveis locais, e conseqüentemente elas deixam de existir depois do término da função. É possível simplesmente remover os "declare" iniciais da saída do declare -p, mas com isso declarações de array não funcionam. Talvez o negócio seja implementar na mão mesmo:
VARDIR="$HOME/.vars"
[[ -d $VARDIR ]] || mkdir "$VARDIR"

save() {
    local __var __i __indexes __ref;
    for __var; do
        eval "__indexes=(\${!$__var[*]})"
        {
            echo "unset $__var"
            for __i in "${__indexes[@]}"; do
                __ref="$__var[$__i]"
                printf "%s[%d]=%q\n" "$__var" "$__i" "${!__ref}"
            done
        } >"$HOME/.vars/$__var"
    done
}

load() {
    local __var;
    for __var; do
        . "$VARDIR/$__var"
    done
}

The horror, the horror.

qual a diferença entre prompt string 1 e prompt string 2
PS1 é o prompt comum. PS2 é o prompt usado quando você digita um comando incompleto e o bash espera pela continuação; normalmente, o PS2 é > .
qual o melhor 3g em viamao?
Para o preço pelo qual é oferecido, o Oi pré-pago até que não é ruim (R$ 9,80 por mês). O da Tim é inutilizável. Vivo e Claro não tenho dados.
qual é o padrao de numero de recarga tim
Coméqueé?
quando se aluga taxa de iptu paga mensalmente
Não. É possível parcelar, da mesma maneira como o IPTU de casa própria, mas o valor do IPTU não tem ligação com o valor do aluguel (pelo menos no meu caso não teve).
quem paga a taxa de incendio no mesmo quintal
Taxa de incêndio é por imóvel, e é cobrada como uma percentagem sobre o valor do aluguel. Não faz diferença (que me conste) se há mais imóveis no mesmo terreno.
quer morar onde?
Reykjavík, mas só por um tempo.
unix saber quando hostname foi alterado
Meu deus, o que é que o(a) senhor(a) está fazendo?
vitor de araujo inf ufrgs etapa
Quem diabos procurou isto?

Não achei nenhuma pérola do nível de "blog de gente se explicando", todavia...

6 comentários / comments

Main menu

Recent posts

Recent comments

Tags

em-portugues (213) comp (148) prog (71) in-english (62) life (49) unix (38) pldesign (37) lang (32) random (28) about (28) mind (26) lisp (25) fenius (22) mundane (22) web (20) ramble (18) img (13) rant (12) hel (12) scheme (10) privacy (10) freedom (8) esperanto (7) music (7) lash (7) bash (7) academia (7) copyright (7) home (6) mestrado (6) shell (6) android (5) conlang (5) misc (5) emacs (5) latex (4) editor (4) etymology (4) php (4) worldly (4) book (4) politics (4) network (3) c (3) tour-de-scheme (3) security (3) kbd (3) film (3) wrong (3) cook (2) treta (2) poem (2) physics (2) x11 (2) audio (2) comic (2) lows (2) llvm (2) wm (2) philosophy (2) perl (1) wayland (1) ai (1) german (1) en-esperanto (1) golang (1) translation (1) kindle (1) pointless (1) old-chinese (1)

Elsewhere

Quod vide


Copyright © 2010-2024 Vítor De Araújo
O conteúdo deste blog, a menos que de outra forma especificado, pode ser utilizado segundo os termos da licença Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.

Powered by Blognir.