Elmord's Magic Valley

Software, lingüística e rock'n'roll. Sometimes in English.

~vbuaraujo será desativado, atualize seus links

2018-05-22 18:24 -0300. Tags: about

Leitouros e leitouras,

Assim como eu me livrei da UFRGS, a UFRGS se livrou de mim, e nas próximas semanas a minha página pessoal antiga (inf.ufrgs.br/~vbuaraujo) deixará de funcionar.

Peço humildemente àqueles que têm links para este blog que os atualizem para o endereço atual (https://elmord.org/blog/).

Meu e-mail da INF seguirá funcionando (ou assim me hão prometido).

Awey.

Comentários

Resolução de ano novo

2018-01-01 22:55 -0200. Tags: life, mind, about

Eu não sou muito fã de resoluções de ano novo, por uma variedade de motivos, mas como resolução tentativa de ano novo eu escolho a seguinte:

Preocupar-se com as coisas que importam, e não se preocupar com as coisas que não importam.

Obviamente, o que importa e o que não importa é inteiramente subjetivo. Mas isso não importa.

Desejo a todos um feliz ano novo, e espero em breve voltar a escrever mais por aqui.

1 comentário

elmord.org

2017-02-10 23:52 -0200. Tags: about, comp, web

Então, galere: este blog está em vias de se mudar para elmord.org/blog. Eu ainda estou brincando com as configurações do servidor, mas ele já está no ar, e eu resolvi avisar agora porque com gente usando já tem quem me avise se houver algo errado com o servidor novo.

(Incidentalmente, eu também me mudei fisicamente nas últimas semanas, mas isso é assunto para outro post.)

Mas por quê?

Eu resolvi fazer essa mudança por uma porção de motivos.

O plano qüinqüenal

Eu ainda não sei se essa migração vai ser definitiva (vai depender da estabilidade e performance do servidor novo), então pretendo fazê-la em dois passos:

Servidor novo como réplica do atual. Inicialmente, tanto o elmord.org/blog quanto o inf.ufrgs.br/~vbuaraujo/blog vão ficar servindo o mesmo conteúdo. As páginas do elmord.org ficarão apontando o inf.ufrgs.br como link canônico, i.e., search engines e afins vão ser instruídos a continuar usando a versão no inf.ufrgs.br como a versão "oficial" das páginas. Os comentários de ambas as versões serão sincronizados periodicamente (o que dá para fazer com rsync porque os comentários são arquivos texto).

Redirecionamento para o servidor novo. Se daqui a alguns meses eu estiver suficientemente satisfeito com o funcionamento do servidor novo, ele passa a ser o oficial, as páginas param de incluir o header de link canônico para o blog antigo, e o blog antigo passa a redirecionar para as páginas correspondentes do novo. Se eu não me satisfizer com o servidor novo, eu tiro ele do ar, o inf.ufrgs.br continua funcionando como sempre, e fazemos de conta que nada aconteceu.

EOF

Por enquanto é só. Se vocês encontrarem problemas com o site novo, queiram por favor reportar.

6 comentários

Essa vida mulambda

2016-09-14 23:23 -0300. Tags: about, life, mind

Pois então, galera. Faz um bocado de tempo que eu não dou as caras por estas terras de Entre-Douro-e-Minho, por uma porção de motivos.

Emprego

Eu comecei a trabalhar no final de julho, o que me deixou com menos tempo livre para dedicar às atividades blogareiras. Além disso, eu chego em casa com variáveis graus de cansaço, e conseqüentemente menos inclinado a sentar e escrever. (Ultimamente eu tenho chegado menos cansado do que inicialmente, talvez porque eu agora eu já tenha me acostumado melhor com a rotina. Mas eu ainda continuo chegando com uma certa dose de zonzeira na cabeça, o que eu desconfio que tem mais a ver com o barulho do ônibus e do ar-condicionado do serviço do que com cansaço em si, mas ainda não testei essa hipótese.)

Quanto ao trabalho, está sendo bem bacaninha. Estou trabalhando como desenvolvedor Python, que das linguagens mais mainstream acho que é a que eu mais gosto, e tenho aprendido bastante coisa sobre as tecnologias da modinha (plot twist: elas são úteis). A única coisa não muito empolgante é que estamos trabalhando sobre uma codebase herdada de uma outra empresa, e que foi desenvolvida usando técnicas de programação um tanto quanto, digamos, interessantes.

Outra coisa que eu descobri por lá é que o futuro do subjuntivo irregular ("fizer", "tiver", etc.) está mais morto do que eu pensava, mas isso é assunto para outra ocasião.

Mestrado

Outra coisa que eu tinha (e tenho) tomando meu tempo livre é o mestrado, e o tempo que não era comido pelas atividades do mestrado era comido pela preocupação de achar que devia estar fazendo as atividades do mestrado. Depois de ter tido um segfault na cabeça no fim-de-semana retrasado tentando terminar um paper para semana passada, eu decidi parar de me preocupar com o mestrado por enquanto, o que em termos de saúde mental parece ter sido uma ótima decisão. Eu pretendia falar um pouco mais sobre a situação do mestrado, mas acho que vai ficar para depois de eu o ter concluído (ou de eu ter sido chutado dele por timeout).

Mudança de workflow

Normalmente, meu workflow para escrever um post é: (1) pegar um tópico; (2) escrever sobre o tópico até exaustão (tanto do tópico quanto do autor) por qualquer quantidade de tempo entre duas e oito horas; (3) reler o post (com variáveis graus de exaustividade) para ver se ficou algum erro de digitação ou redação; (4) publicar o post (e descobrir erros depois anyway). Às vezes eu até começo em um dia e continuo em um outro, mas no geral vai tudo em uma sentada. Uma conseqüência disso é que eu já sei de antemão que escrever um post vai tomar um bocado de tempo, então eu acabo só me sentindo inclinado a escrever quando eu sei que vou ter rios de tempo livre sem interrupções. (Outra conseqüência disso são os famosos posts de 20k, tão apreciados pelos leitores.)

Agora que eu não tenho mais rios de tempo livre contíguo com tanta freqüência, esse workflow está sendo um tanto quanto sub-ótimo (vide quantidade de posts nos últimos dois meses). Estou pensando se não é o caso de eu começar a escrever posts menores e splitar tópicos em múltiplos posts, mas não sei até que ponto isso é uma boa idéia. Faz umas semanas que eu tenho pensado em escrever um post sobre alguns fatos [que eu acho] interessantes sobre os números nas línguas indo-européias, mas isso é um post que tomaria bastante tempo tanto para a escrita em si quanto para pesquisar/conferir os fatos antes de escrever. Não sei se faz sentido separar o tópico em múltiplos posts e ir postando uma série de posts pequenos, ou se é melhor escrever um post só em várias sentadas e publicar tudo de uma vez no fim do ano. Eu prefiro ler esse tipo de informação toda de uma vez, mas eu sei que pelo menos alguns dos leitores não partilham da mesma preferência. (On the other hand, eu não sei se esses mesmos leitores leriam a mesma informação espalhada em múltiplos posts. So there's that.)

Mas essa é a sua opinião, ele já tem outra opinião, ué. Qual a sua opinião?

On another note

Unrelated com qualquer coisa, por ser ano eleitoral, eu implementei a mui lendária e prometida lista de comentários recentes na sidebar do blog no domingo passado. Espero que ela traga muitas alegrias a todos. Votem em mim para déspota universal.

12 comentários

Anúncio: Estou procurando trabalho

2016-07-06 22:27 -0300. Tags: life, about

[Update (20/07/2016): Consegui um emprego. Dismiss!]

Pois então, galera. Por um momento eu achei que ia conseguir uma vaga como professor substituto no INF e todos os meus problemas financeiros estariam resolvidos (pelo menos durante o um ou dois anos de validade do concurso). Alás*, embora eu tenha conseguido um 9,8 na prova escrita do concurso, o pessoal que tinha doutorado passou na minha frente na pontuação por títulos e publicações, e eu acabei em 3º lugar. Ainda pode ser que me chamem no decorrer dos próximos dois anos, mas infelizmente eu preciso comer e pagar as contas nesse meio tempo.

Assim, estou atrás de trabalho. Isso inclui tanto empregos (como desenvolvedor, sysadmin e afins, e também como professor, instrutor, etc.) quanto serviços como free-lancer (com desenvolvimento de programas, sites, instalação e suporte de redes e servidores, e até formatando o PC e desinstalando as toolbars dos seus conhecidos).

Se você souber de alguma oportunidade, ou puder me recomendar para alguma empresa ou conhecido, ou tiver alguma dica, ou qualquer outro feedback, queira entrar em contato (ou passar meu contato, conforme aplicável). Se alguém quiser meu telefone para passar para alguém, pode me pedir por e-mail (no momento eu estou um pouco receoso de pôr meus telefones online, mas talvez eu acabe fazendo isso). Dou preferência para oportunidades na grande Porto Alegre, ou serviços que eu possa realizar remotamente, mas dependendo do emprego posso considerar me mudar.

Meanwhile, eu pretendo voltar a trabalhar em projetos pessoais, pois (1) pode ser que minhas experiências com linguagens de programação rendam alguma coisa que eu possa pôr no curriculum; (2) eu espero aprender um bocado de coisas com eles (em particular, eu tenho pensado em reviver o lows como testbed para experiências com sistemas de tipos e outras features, e para experimentar com técnicas de compilação); e (3) uma sábia esquimó uma vez disse: "Não deixe de fazer as coisas que gosta no presente pra poder fazer elas no futuro – pode ser que o futuro nunca chegue", e cada vez isso me parece mais verdade.

_____

* Turns out que alas vem do francês arcaico "a las". "Las", por sua vez, vem do latim "lassus", cansado (cf. lasso, lassidão). Visto a origem latina da palavra, eu me vejo ainda mais inclinado a incorporar "alás" à língua portuguesa.

5 comentários

Blog multilíngüe

2015-05-31 00:19 -0300. Tags: about

Faz uma porção de tempo que eu venho considerando a possibilidade de postar algumas coisas em inglês por aqui. Isso é uma coisa que ainda me deixa meio receoso, mas tem algumas situações em que eu acho que postar em inglês seria mais úti, seja para o mundo (e.g., posts sobre o Chicken, em que a comunidade de usuários é pequena (acho) e limitar a audiência a falantes de português seria muito... limitante), seja para mim (e.g., posts sobre design de linguagens de programação, em que eu hipoteticamente poderia ter feedback de mais gente se eu escrevesse em inglês), seja para ambos (e.g., posts sobre o lash, ou conlanging).

Pronto, falei.

Eu pensei em criar um blog separado para postar em inglês, mas aí pensei que isso seria inconveniente para os leitores usuais (todos os quais falam inglês anyway, dos que eu conheço), que teriam que olhar em dois lugares diferentes para ver se há posts novos. Por ora, o que eu provavelmente vou acabar fazendo é postar tudo aqui e usar uma tag english nos posts em inglês, até eu arranjar uma solução melhor.

Na verdade, desde antes dos primórdios deste blog, uma das motivações originais para eu escrever meu próprio blog system ao invés de usar um pronto era implementar suporte a multilingualismo "the right way". Eu estive pensando sobre isso e me dei conta de que é mais complicado do que parece. Por exemplo:

Enfim, nada muito difícil de implementar, na verdade, mas é um bocado de coisas que eu não tinha parado para pensar antes.

4 comentários

Spam, spam, spam

2013-11-10 00:26 -0200. Tags: about

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

Anarquia Teocrática

2013-09-15 02:59 -0300. Tags: about

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

Twitter via linha de comando

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

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

Underground revolutions

2013-04-20 02:48 -0300. Tags: about

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

Main menu

Posts recentes

Comentários recentes

Tags

comp (114) prog (51) life (44) unix (32) random (27) lang (27) about (24) mind (22) mundane (21) pldesign (20) in-english (19) lisp (17) web (17) ramble (15) img (13) rant (12) privacy (10) scheme (8) freedom (8) lash (7) music (7) esperanto (7) bash (7) academia (7) home (6) mestrado (6) shell (6) conlang (5) copyright (5) misc (5) worldly (4) book (4) php (4) latex (4) editor (4) politics (4) etymology (3) wrong (3) android (3) film (3) tour-de-scheme (3) kbd (3) c (3) security (3) emacs (3) network (3) poem (2) cook (2) physics (2) comic (2) llvm (2) treta (2) lows (2) audio (1) wm (1) philosophy (1) kindle (1) pointless (1) perl (1)

Elsewhere

Quod vide


Copyright © 2010-2018 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.