You are viewing [info]vazio1's journal

Eleições 2012 (Processo Seletivo de Empregados do Povo)

May. 8th, 2012 | 08:59 pm

Pra ajudar a escolher um candidato no processo seletivo deste ano, estou propondo uma dinâmica de grupo:

Estou elaborando um questionário a ser respondido por cada um dos candidatos. Esse questionário, assim como as respectivas respostas serão publicadas aqui posteriormente para a apreciação pública. O questionário, eu espero construir de forma colaborativa com a ajuda dos colegas das interwebz. Quem quiser ajudar, adicione uma questão ao questionário comentando aqui. Inicio o questionário com uma questão que sempre me intrigou e que nunca vi respondida:

Questionário do processo seletivo para provimento de vagas para o Cargo de Representante Público

1. Quem está financiando a sua campanha e quais as expectativas destes com relação ao seu mandato?

Link | Leave a comment {1} | Add to Memories | Share

Insalubridade

May. 1st, 2012 | 12:11 pm

Um trabalho onde voltar vivo pra casa é considerado uma grande sorte e comemorado efusivamente pelos amigos e familiares. Onde as máquinas foram introduzidas, não para substituir o trabalho humano, mas pra exterminar os humanos. Assim era o trabalho nas trincheiras da Primeira Guerra.

Seguem alguns relatos coletados aleatoriamente das interwebz e sem as fontes verificadas:

"O odor fétido nos penetra garganta a dentro ao chegarmos na nossa nova trincheira, a direita dos Éparges. Chove torrencialmente e nos protegemos com o que tem de lonas e tendas de campanha afiançadas nos muros da trincheira. Ao amanhecer do dia seguinte constatamos estarrecidos que nossas trincheiras estavam feitas sobre um montão de cadáveres e que as lonas que nossos predecessores haviam colocado estavam para ocultar da vista os corpos e restos humanos que ali haviam."
-- Raymond Naegelen, na região de Champagne

"Pela manhã, quando ainda está escuro, há um momento de emoção: pela entrada do nosso abrigo precipita-se uma turba de ratos fugitivos, que trepam por toda a parte a longo das paredes. As lâmpadas de algibeira alumiam este túmulo. Toda a gente grita, pragueja e bate nos ratos. Descarregam-se, assim, a raiva e o desespero acumulados durante numerosas horas. As caras estão crispadas, os braços ferem, os animais dão gritos penetrantes e temos dificuldades em parar, pois estávamos prestes a assaltar-nos mutuamente."
-- E. M. Remarque, pág. 113.

"Perdemos todo o sentimento de solidariedade. Mal nos reconhecemos quando a nossa imagem de outrora cai debaixo do nosso olhar de fera perseguida. Somos mortos insensíveis que, por um estratagema e um encantamento perigoso, podemos ainda correr e matar."
-- E. M. Remarque, pág. 121 .

"Viver nas trincheiras é adiar a morte! A morte chegará pelo fogo inimigo, pelos gases tóxicos que asfixiam ou afogam ou pelas doenças que, inevitavelmente, se contrairão neste inferno de lama!"

"De repente, uns silvos estridentes nos precipitaram ao chão, apavorados. A rajada acaba de estalar sobre nós Os homens, de joelhos, encolhidos, com a mochila sobre a cabeça e encurvando as costas, se apegavam uns aos outros. Por baixo da mochila dou uma espiada nos meus vizinhos: arquejantes, sacudidos por tremores nervosos e com a boca contraída numa contração terrível, batiam os dentes e, com a cabeça abaixada, tem o aspecto de condenados oferecendo a cabeça aos carrascos. Esta espera da morte é terrível. O cabo, que havia perdido seu capacete, me diz: rapaz, se soubesse que isso era a guerra e que vai ser assim todos os dias, prefiro que me matem logo. (…) Na sua alegre inconsciência, a maioria dos meus camaradas não havia jamais refletido sobre os horrores da guerra e não viam a batalha senão pelas cores patrióticas: desde nossa saída de Paris, o Boletim do Exército nos conservava na inocente ilusão da guerra ser um passeio e todos acreditavam na história dos boches se renderem aos magotes. (…) A explosão daquele instante, sacudiu nosso sistema nervoso, que não esperava por isso, e nos fez compreender que a luta que começava seria uma prova terrível. Escute meu tenente, parece que se defendem estes porcos!"
-- Diário do ten. Galtier-Boissière, na frente ocidental em 22 de agosto de 1914.

"[...] Os combates persistem com selvageria por todo o front oriental. Ao longo de toda a extensão de quase quatrocentos quilômetros a luta segue furiosa. Se ficarmos bem parados e prestarmos atenção, é possível sentir o chão tremendo levemente sob nossos pés. É uma sensação esquisita.

Colunas inteiras de refugiados da Prússia Oriental passaram pela cidade. Muitos estão chorando. Mas outros ficam bem quietos. Há mães com crianças bem pequenas. Elas metem as crianças sob os xales e as deixam mamar. Os trazeiros dos pequeninos estão assados porque as mães não têm fraldas suficientes para poder secá-las. Nós rasgamos antigos lençóis e camisas e demos a elas os retalhos para que embrulhem os bebês. [...]"
-- Piete Kuhr

"Os efeitos produzidos são bastante lamentáveis. O recruta recém-chegado recomeça a inquietar-se, sucedendo o mesmo com os outros dois. Um deles escapa, desaparecendo a correr. Os dois outros nos dão trabalho. Precipito-me atrás do fugitivo sem saber se lhe devo dar um tiro nas pernas. Ouço neste momento um assobio; deito-me no chão e quando me levanto vejo a parede da trincheira coberta de estilhaços de obus, ensanguentada por pedaços de carne e de restos de uniforme. Volto para o nosso abrigo."
-- Remarque

"O campo de batalha é terrível. Há um cheiro azedo, pesado e penetrante de cadáveres. Homens que foram mortos no último outubro estão meio afundados no pântano e nos campos de nabo em crescimento. As pernas de um soldado inglês, ainda envoltas em polainas, irrompem de uma trincheira, o corpo está empilhado com os outros; um soldado apóia seu rifle sobre eles. Um pequeno veio de água corre através da trincheira, e todo mundo usa a água para beber e se lavar; é a única água disponível. Ninguém se importa com o inglês pálido que apodrece alguns passos adiante. No cemitério de Langermak, os restos de uma matança foram empilhados e os mortos ficaram acima do nível do chão. As bombas alemãs, caindo sobre o cemitério, provocam uma horrível ressurreição. Num determinado momento, eu vi 22 cavalos mortos, ainda com os arreios. Gado e porcos jaziam encima, meio apodrecidos. Avenidas rasgadas no solo, inúmeras crateras nas estradas e nos campos."
-- Rudolf Binding, alemão.

"Apareceram primeiro uns esqueletos de companhia, conduzidos as vezes por um oficial sobrevivente que se apoiava num bastão; todos andavam, ou melhor avançavam passo a passo, com os joelhos dobrados, inclinados sobre si mesmos e cambalhando como se estivessem bêbados (…) iam com a cabeça baixa, o olhar sombrio, encurvados pelo peso da mochila e do fuzil. A cor de seus rostos não se diferenciava dos capotes, de tal maneira estavam cobertos e recobertos de barro seco; os uniformes com a pele, estavam totalmente incrustados desse barro. Os automóveis precipitavam-se com seus roncos em colunas cerradas esparramando esta lamentável maré de sobreviventes da grande hecatombe, mas eles não diziam nada, nem sequer gemiam porque haviam perdido a força inclusive para queixar-se. Quando esses forçados da guerra levantavam a cabeça para os telhados da aldeia se admirava neles, em seus olhares, um incrível abismo de dor e, neste gesto, suas expressões pareciam fixadas pelo pó e tensos pelo sofrimento, parecia que esses rostos mudos gritavam alguma coisa aterradora: o horror incrível do seu martírio. Alguns soldados da segunda reserva que os estavam olhando ao meu lado, permaneciam pensativos e dois deles choravam em silêncio…"
-- Gaudy, subtenente, preparando-se para a substituição na batalha de Verdun em 1916.





Link | Leave a comment | Add to Memories | Share

my new public key

Apr. 29th, 2012 | 12:32 am

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.17 (GNU/Linux)

mQSuBE+cqXwRDACwOE7rvcCsgn2dghLXCLZlHnih0iXkVlpwahvlTIj+qIo5/8wF
/T7kgUNm0JWed+lZo4orrpZQE2SicbixNEIfzxJar3QtC9UWiii3Zvj+ox9RqCAu
8IFjCTxKTuU68jD102CxMgjWWLNyaF02XkNJ1nVcvQy6Rb8/OUPbLrnyjqN8ynKF
CEBTAHMXjCjZ8JjZH8zdU6vYmDuwTHPhdj0uzULtJK5fmfTTr3AHMAT3Dnp0kE8w
aQxD3Fo3zxjoRbFOLn7cZA1lTF2HqOqHwDxR1rhS2eTnZt3qDws2WUHN2sPrEuU8
VFe/Bmwc0TekQ1dwQwE5lpzqoA7hpG0tDAGKL/kmNDcna24GXp6Go5r/aHlwrlun
QFVOUBowgpxuIcEWkuKbSgEgFznP1sMr6GdrOL+zBwnlqwR1y/sZg7wNgxW+E26v
p76ruRXY+jKcvVNYcttfeYnpPNk+S6jRe6OnMmeiRq60clxTnrfU5dmBD9KlAgTR
mIbhU66Z+VEGECMBAIVK07rdpLiRijKumMI3rWidQ7ITnrv+RdxZT/T1+P+hDACK
RuoKyo209qi28c7ziEdUldeVwm0Cdn46IOvGeP4aPVHiRQE/1jungGa3Iubx99H/
IhD505026YhGQchbhTdL4jiyyi224h9PKAymeQbjih3ODdNaRbPlK6HYq0eKlBGf
+ezVicjWo5jfqqTja0zHa3zHGwOigXRDl4qAwNkjhC2ufg3nZZ4JsMJVRmHFLUqD
ZS91ZU7GGFwnnRs/BpGcevA6yxuH7Bi1b8Dw+LfpMo0jUKuYNMFnbktWiD4xIyoP
sEZS52A33Xi52mJ/du/+jW+Mq9IX0X8afEjbqE2GmvZIsJpdETHjnr7HaWOJnLyK
euijsQddlcTbIJFMBMmFPe5z4GX2RZwtmaB1h5sIVotsjTLypmy2MsF0S+RCHNMl
eiPf60XN8JU0/5ZSsZ88kEGQh0CKx2q2Pel2s1lj3VGztHheBmNhZhMt5B6YqTiv
5X8adez7cnSrpGLBU1C4G+2z66sziR29xzWZKClWUC3T05JlttwEwV3KbBWgucYL
/j9l/UHMwNJ2wbAMNmPj+XaEfXNt3HPfICh7IqZbnpBFcgU6cZIYpUsZvue4/Uzb
89Q6BJ40YqTaNmE8/W2piR+mupq0sFNnRWyn4vK8z1ccqT3GHSgqZ5BMq6/f38cb
AdVFjXKrKgurok83sDswf4EFs3kCBF6ZqbdxUyOvx1YDUCss/bx+BtvCR2JpFOWx
XYaAHsNyAY4AvbkWdWbPaYWXjnHoqGLDrLLMpX+Y8BFycgrtyjf/Srw/j/otMDQy
6cjthfaBhs4NSJLXkK13lpzXsXrBM4OToG0H9WmWBGXy0wCsM6zuaP/fzHgYO4x1
nczULc6AYF2aXfA3gZRMiB/n861bbRi3cm/vyfBGzEHuBJk56+3yz6nayjxfev/4
jBDQ3tJPOb9HSp8UkknTNAoe+xt5VsYGkvOZlOufZ6d5K8I9XeeoZ/7HITmCOHwh
vFCDqiQDaD/bIPO+jZniF2JYQ7SFYcbm0pmoca9xJHJE/B9FQcUZTJxI87LwoPOq
G7QtRsOhYmlvIFJvYmVydG8gVGVvZG9ybyA8ZnIudGVvZG9yb0BnbWFpbC5jb20+
iHoEExEIACIFAk+cqXwCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEHtZ
2y7DXqDNYMQA/035oB4l+8X9qOvYVSYrjrTk2JMw9kOemMCa5BVHcR/oAP0XUd6N
uvurKnKpwBGH0P2kebciq+0jhZrCyg06x2KqrbkDDQRPnKl8EAwA4XPVBx1u8fwI
t1SOuTvlpXXixJ4KjGquMXvAH/s8CBZpMAnbJbrI0kOxeKoeXF+M1LWEMBQLK5Ah
69lYTgcX5Wi/yIqpkTvi2VeoISoI3tSbsd2evw7yIC1Zs5HimIG7MlhuTleYh+sB
eOF3F93hiBWuSfsjAmXOpTeL7RddHEY1ry3urOCUG0kQGSZO7jgMy2IgSW5qvwHm
grhxXEBV+YdxL6S42tf2EAc+z4t9jCxJS5S6/fBsMWMaXah9tCzF9sx6lrma+ur0
0CarLzqjw+eWeY5cdjPg7sHyjpt0ZqHGQc5RCXYDchvX1s9je+fMbXhFbtlNvYqn
XZ5jK4sBNTyzrv5ZOzMiw4SH94/t0+O1PHShsNme2GUwlA8AbZnVQwjMpcboEGFp
IsO+uvv1aVog1/rnP3Bn0360p0irgVCKJ0IhF5NTCtpaLSufdTEe5nmiA3dTk5ef
rT5dd9EwCmILMD+UxwyOFbEx1wDC2lt4LtuRiQOCbHOgvlXpkiUPAAMFC/oDC7u9
DlKzdAY1JqHHD47m6hV+KVNTrcf2TShGLxiAp/QqLs4wtuW0XlqWDQqkT+p8dcZn
ODJ/DZgmK0MP//MN0Q0JNGsRF4GT+M3bikOUwHxTyQ8JMPCM3w7JU7rSjNYGK+pz
7EkEej6tkp6utbXP1kTDdLVHFFbF3dKMQAJ6KoQ7LncxLtogRT5sLrsa06xpEGHj
IU+x08FscwBL/gxgzKt29vXxDb7MDG8EBwvHUp2J2Q0S/xFGLokXMwwXSJhVxgBX
ooYrooUuUHRMMsO5HZqaZ7JRYKEkEvkGE5aG+2STOtyP45e5JTpkcPaOG9Zd0yN1
U/r1ZC+w26uajXKi7gjfvzUQw0vKDO2wU5+qrZK3ZsdnMVnW6YdLp0iwxW6atoMx
Z1n0smtdbUN+C875pO3riuomPwDopKL3WGbmWdv73B3cgw0jazkNYa6eq+rpXAHi
zBpPYmJDnUa3iE0t3/N67KKx4YvRNdTe6CGz88Y5YQ5M0/0YtwmD7rX6jAOIYQQY
EQgACQUCT5ypfAIbDAAKCRB7Wdsuw16gzWx2AP9jhC7F1w9qm3YSyquWXKtxYEUO
88i9igHH18QfHr26CAEAgAqtzOo4TfeQuqNg5RKRE4HwROp2l8FQPWiPMjih2os=
=q233
-----END PGP PUBLIC KEY BLOCK-----

Link | Leave a comment | Add to Memories | Share

PHP Fatal error: Class 'DOMDocument' not found in ...

Dec. 3rd, 2010 | 10:35 pm
mood: annoyed

I was having this same problem:
PHP Fatal error: Class 'DOMDocument' not found in ...

The link below i think that can solve my problem:
http://blog.namran.net/2009/03/10/php-fatal-error-class-domdocument-not-
found-in-blabla/

But yum is not helping me with the dependencies, so i don't know what to do now :(

Link | Leave a comment {2} | Add to Memories | Share

:P

Dec. 3rd, 2010 | 07:00 pm
mood: working

hello world!
Tags:

Link | Leave a comment {1} | Add to Memories | Share

bibtex unsrt em pt-br e com URLs

Nov. 15th, 2009 | 06:55 pm

Estava eu editando um artigo em LaTeX usando o estilo bibliográfico unsrt (\bibliographystyle{unsrt}) quando notei que ele não apresentava a URL das minhas referencias. Como resolvi:

1. Instalei o pacote do debian (squeeze) texlive-bibtex-extra, que contém o programa bsturl, o qual é um scrit perl que acrescenta o tipo bibliográfico @webpage e o suporte às propriedades url e lastchecked aos utros tipos. E vem com versões pré-convertidas dos estilos padrão, isto inclui o unsrt. A versão bsturl do unsrt chama unsrturl (\bibliographystyle{unsrturl}).

Mas isto medeixou ainda com as referencias em ingles. Para resolver isto fiz uma cópia do arquivo nsrturl.bst, que no meu caso (debian squeeze) se encontra em /usr/share/texmf-texlive/bibtex/bst/urlbst, para unsrturl-br.bst no diretório do meu artigo e traduzi o que estava me encomodando (não é uma tradução completa). Caso alguem precise de mais partes traduzidas comente aqiu que eu traduzo e atualizo aqui, ou caso alguem queira me enviar uma tradução mais completa eu também ficaria feliz.

Para usar copie o conteúdo do arquivo para, por exemplo, unsrturl-br.bst no diretório com seu documento e use o estilo unsrturl-br (\bibliographystyle{unsrturl-br}).

Abaixo o conteúdo do arquivo:

%%% Modification of BibTeX style file /local2/teTeX-1.0/share/texmf/bibtex/bst/base/unsrt.bst
%%% to add webpage entry type, and url and lastchecked fields
%%% Edits by urlbst.pl, version 0.1
%%% (marked with % urlbst.pl)
%%% Original headers follow...
% BibTeX standard bibliography style `unsrt'
	% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
	% Copyright (C) 1985, all rights reserved.
	% Copying of this file is authorized only if either
	% (1) you make absolutely no changes to your copy, including name, or
	% (2) if you do make changes, you name it something other than
	% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
	% This restriction helps ensure that all standard styles are identical.
	% The file btxbst.doc has the documentation for this style.

ENTRY
  { address
    author
    booktitle
    chapter
    edition
    editor
    howpublished
    institution
    journal
    key
    month
    note
    number
    organization
    pages
    publisher
    school
    series
    title
    type
    volume
    year
    url % urlbst.pl
    lastchecked
  }
  {}
  { label }

INTEGERS { output.state before.all mid.sentence after.sentence after.block }

INTEGERS { bracket.state outside.brackets open.brackets within.brackets close.brackets } % urlbst.pl
FUNCTION {init.state.consts}
{ #0 'outside.brackets := % urlbst.pl
  #1 'open.brackets :=
  #2 'within.brackets :=
  #3 'close.brackets :=

   #0 'before.all :=
  #1 'mid.sentence :=
  #2 'after.sentence :=
  #3 'after.block :=
}

STRINGS { s t }

% urlbst.pl
FUNCTION {output.nonnull.original}
{ 's :=
  output.state mid.sentence =
    { ", " * write$ }
    { output.state after.block =
	{ add.period$ write$
	  newline$
	  "\newblock " write$
	}
	{ output.state before.all =
	    'write$
	    { add.period$ " " * write$ }
	  if$
	}
      if$
      mid.sentence 'output.state :=
    }
  if$
  s
}

% urlbst.pl...
FUNCTION {output.nonnull}
{ % Save the thing we've been asked to output
  's :=
  % If the bracket-state is close.brackets, then add a close-bracket to what's
  % currently at the top of the stack, and set bracket.state to outside.brackets
  bracket.state close.brackets =
    { "]" *
      outside.brackets 'bracket.state :=
    }
    'skip$
  if$
  bracket.state outside.brackets =
    { % We're outside all brackets -- this is the normal situation.
      % Write out what's currently at the top of the stack, using the
      % original output.nonnull function.
      s
      output.nonnull.original
    }
    { % Still in brackets.  Add open-bracket or (continuation) comma, add the
      % new text (in s) to the top of the stack, and move to the close-brackets
      % state, ready for next time (unless inbrackets resets it).  If we come
      % into this branch, then output.state is carefully undisturbed.
      bracket.state open.brackets =
        { " [" * }
        { ", " * } % bracket.state will be within.brackets
      if$ 
      s * 
      close.brackets 'bracket.state :=
    }
  if$
}

% Call this function just before adding something which should be presented in 
% brackets.  bracket.state is handled specially within output.nonnull.
FUNCTION {inbrackets}
{ bracket.state close.brackets =
    { within.brackets 'bracket.state := } % reset the state: not open nor closed
    { open.brackets 'bracket.state := }
  if$
}

FUNCTION {format.url}
{ url empty$
    { "" }
    { "Disponível em: \url{" url * "}" * }
  if$
}

FUNCTION {format.lastchecked}
{ lastchecked empty$
    { "" }
    { inbrackets "citado em " lastchecked * }
  if$
}
%  ...% urlbst.pl

FUNCTION {output}
{ duplicate$ empty$
    'pop$
    'output.nonnull
  if$
}

FUNCTION {output.check}
{ 't :=
  duplicate$ empty$
    { pop$ "empty " t * " in " * cite$ * warning$ }
    'output.nonnull
  if$
}

FUNCTION {output.bibitem}
{ outside.brackets 'bracket.state := % urlbst.pl
   newline$
  "\bibitem{" write$
  cite$ write$
  "}" write$
  newline$
  ""
  before.all 'output.state :=
}

FUNCTION {fin.entry}
{ 
  bracket.state close.brackets = % urlbst.pl
    { "]" * }
    'skip$
  if$
   add.period$
  write$
  newline$
}

FUNCTION {new.block}
{ output.state before.all =
    'skip$
    { after.block 'output.state := }
  if$
}

FUNCTION {new.sentence}
{ output.state after.block =
    'skip$
    { output.state before.all =
	'skip$
	{ after.sentence 'output.state := }
      if$
    }
  if$
}

FUNCTION {not}
{   { #0 }
    { #1 }
  if$
}

FUNCTION {and}
{   'skip$
    { pop$ #0 }
  if$
}

FUNCTION {or}
{   { pop$ #1 }
    'skip$
  if$
}

FUNCTION {new.block.checka}
{ empty$
    'skip$
    'new.block
  if$
}

FUNCTION {new.block.checkb}
{ empty$
  swap$ empty$
  and
    'skip$
    'new.block
  if$
}

FUNCTION {new.sentence.checka}
{ empty$
    'skip$
    'new.sentence
  if$
}

FUNCTION {new.sentence.checkb}
{ empty$
  swap$ empty$
  and
    'skip$
    'new.sentence
  if$
}

FUNCTION {field.or.null}
{ duplicate$ empty$
    { pop$ "" }
    'skip$
  if$
}

FUNCTION {emphasize}
{ duplicate$ empty$
    { pop$ "" }
    { "{\em " swap$ * "}" * }
  if$
}

INTEGERS { nameptr namesleft numnames }

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
      nameptr #1 >
	{ namesleft #1 >
	    { ", " * t * }
	    { numnames #2 >
		{ "," * }
		'skip$
	      if$
	      t "others" =
		{ " et~al." * }
		{ " e " * t * }
	      if$
	    }
	  if$
	}
	't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

FUNCTION {format.authors}
{ author empty$
    { "" }
    { author format.names }
  if$
}

FUNCTION {format.editors}
{ editor empty$
    { "" }
    { editor format.names
      editor num.names$ #1 >
	{ ", editors" * }
	{ ", editor" * }
      if$
    }
  if$
}

FUNCTION {format.title}
{ title empty$
    { "" }
    { title "t" change.case$ }
  if$
}

FUNCTION {n.dashify}
{ 't :=
  ""
    { t empty$ not }
    { t #1 #1 substring$ "-" =
	{ t #1 #2 substring$ "--" = not
	    { "--" *
	      t #2 global.max$ substring$ 't :=
	    }
	    {   { t #1 #1 substring$ "-" = }
		{ "-" *
		  t #2 global.max$ substring$ 't :=
		}
	      while$
	    }
	  if$
	}
	{ t #1 #1 substring$ *
	  t #2 global.max$ substring$ 't :=
	}
      if$
    }
  while$
}

FUNCTION {format.date}
{ year empty$
    { month empty$
	{ "" }
	{ "there's a month but no year in " cite$ * warning$
	  month
	}
      if$
    }
    { month empty$
	'year
	{ month " " * year * }
      if$
    }
  if$
}

FUNCTION {format.btitle}
{ title emphasize
}

FUNCTION {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
    { "~" }
    { " " }
  if$
  swap$ * *
}

FUNCTION {either.or.check}
{ empty$
    'pop$
    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
  if$
}

FUNCTION {format.bvolume}
{ volume empty$
    { "" }
    { "volume" volume tie.or.space.connect
      series empty$
	'skip$
	{ " of " * series emphasize * }
      if$
      "volume and number" number either.or.check
    }
  if$
}

FUNCTION {format.number.series}
{ volume empty$
    { number empty$
	{ series field.or.null }
	{ output.state mid.sentence =
	    { "number" }
	    { "Number" }
	  if$
	  number tie.or.space.connect
	  series empty$
	    { "there's a number but no series in " cite$ * warning$ }
	    { " in " * series * }
	  if$
	}
      if$
    }
    { "" }
  if$
}

FUNCTION {format.edition}
{ edition empty$
    { "" }
    { output.state mid.sentence =
	{ edition "l" change.case$ " edição" * }
	{ edition "t" change.case$ " edição" * }
      if$
    }
  if$
}

INTEGERS { multiresult }

FUNCTION {multi.page.check}
{ 't :=
  #0 'multiresult :=
    { multiresult not
      t empty$ not
      and
    }
    { t #1 #1 substring$
      duplicate$ "-" =
      swap$ duplicate$ "," =
      swap$ "+" =
      or or
	{ #1 'multiresult := }
	{ t #2 global.max$ substring$ 't := }
      if$
    }
  while$
  multiresult
}

FUNCTION {format.pages}
{ pages empty$
    { "" }
    { pages multi.page.check
	{ "páginas" pages n.dashify tie.or.space.connect }
	{ "página" pages tie.or.space.connect }
      if$
    }
  if$
}

FUNCTION {format.vol.num.pages}
{ volume field.or.null
  number empty$
    'skip$
    { "(" number * ")" * *
      volume empty$
	{ "there's a number but no volume in " cite$ * warning$ }
	'skip$
      if$
    }
  if$
  pages empty$
    'skip$
    { duplicate$ empty$
	{ pop$ format.pages }
	{ ":" * pages n.dashify * }
      if$
    }
  if$
}

FUNCTION {format.chapter.pages}
{ chapter empty$
    'format.pages
    { type empty$
	{ "chapter" }
	{ type "l" change.case$ }
      if$
      chapter tie.or.space.connect
      pages empty$
	'skip$
	{ ", " * format.pages * }
      if$
    }
  if$
}

FUNCTION {format.in.ed.booktitle}
{ booktitle empty$
    { "" }
    { editor empty$
	{ "Em " booktitle emphasize * }
	{ "Em " format.editors * ", " * booktitle emphasize * }
      if$
    }
  if$
}

FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
  month empty$ year empty$ note empty$
  and and and and and
    { "all relevant fields are empty in " cite$ * warning$ }
    'skip$
  if$
}

FUNCTION {format.thesis.type}
{ type empty$
    'skip$
    { pop$
      type "t" change.case$
    }
  if$
}

FUNCTION {format.tr.number}
{ type empty$
    { "Technical Report" }
    'type
  if$
  number empty$
    { "t" change.case$ }
    { number tie.or.space.connect }
  if$
}

FUNCTION {format.article.crossref}
{ key empty$
    { journal empty$
	{ "need key or journal for " cite$ * " to crossref " * crossref *
	  warning$
	  ""
	}
	{ "Em {\em " journal * "\/}" * }
      if$
    }
    { "Em " key * }
  if$
  " \cite{" * crossref * "}" *
}

FUNCTION {format.crossref.editor}
{ editor #1 "{vv~}{ll}" format.name$
  editor num.names$ duplicate$
  #2 >
    { pop$ " et~al." * }
    { #2 <
	'skip$
	{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
	    { " et~al." * }
	    { " and " * editor #2 "{vv~}{ll}" format.name$ * }
	  if$
	}
      if$
    }
  if$
}

FUNCTION {format.book.crossref}
{ volume empty$
    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
      "Em "
    }
    { "Volume" volume tie.or.space.connect
      " of " *
    }
  if$
  editor empty$
  editor field.or.null author field.or.null =
  or
    { key empty$
	{ series empty$
	    { "need editor, key, or series for " cite$ * " to crossref " *
	      crossref * warning$
	      "" *
	    }
	    { "{\em " * series * "\/}" * }
	  if$
	}
	{ key * }
      if$
    }
    { format.crossref.editor * }
  if$
  " \cite{" * crossref * "}" *
}

FUNCTION {format.incoll.inproc.crossref}
{ editor empty$
  editor field.or.null author field.or.null =
  or
    { key empty$
	{ booktitle empty$
	    { "need editor, key, or booktitle for " cite$ * " to crossref " *
	      crossref * warning$
	      ""
	    }
	    { "Em {\em " booktitle * "\/}" * }
	  if$
	}
	{ "Em " key * }
      if$
    }
    { "Em " format.crossref.editor * }
  if$
  " \cite{" * crossref * "}" *
}

% urlbst.pl...
% Output a URL.  We can't use the more normal idiom (something like
% `format.url output'), because the `inbrackets' within
% format.lastchecked applies to everything between calls to `output',
% so that `format.url format.lastchecked * output' ends up with both
% the URL and the lastchecked in brackets.
FUNCTION {output.url}
{ url empty$
    'skip$ 
    { new.block 
      format.url output
      format.lastchecked output 
    }
  if$
}

% Webpage entry type.
% Title and url fields required;
% author, note, year, month, and lastchecked fields optional
% See references 
%   ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm
%   http://www.classroom.net/classroom/CitingNetResources.html
%   http://neal.ctstateu.edu/history/cite.html
%   http://www.cas.usf.edu/english/walker/mla.html
% for citation formats for web pages.
FUNCTION {webpage}
{ output.bibitem
  author empty$
    'skip$
    { format.authors output.nonnull }
  if$
  new.block
  format.title "title" output.check
  inbrackets "online" output
  new.block
  year empty$
    'skip$
    { format.date "year" output.check }
  if$
  lastchecked empty$
    'skip$
    { format.lastchecked output }
  if$
  new.block
  format.url "url" output.check
  new.block
  note output
  fin.entry
}
%   ...% urlbst.pl


FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
  new.block
  crossref missing$
    { journal emphasize "journal" output.check
      format.vol.num.pages output
      format.date "year" output.check
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  new.block
  output.url % urlbst.pl
  new.block
  note output
  fin.entry
}

FUNCTION {book}
{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check }
    { format.authors output.nonnull
      crossref missing$
	{ "author and editor" editor either.or.check }
	'skip$
      if$
    }
  if$
  new.block
  format.btitle "title" output.check
  crossref missing$
    { format.bvolume output
      new.block
      format.number.series output
      new.sentence
      publisher "publisher" output.check
      address output
    }
    { new.block
      format.book.crossref output.nonnull
    }
  if$
  format.edition output
  format.date "year" output.check
  new.block
  output.url % urlbst.pl
  new.block
  note output
  fin.entry
}

FUNCTION {booklet}
{ output.bibitem
  format.authors output
  new.block
  format.title "title" output.check
  howpublished address new.block.checkb
  howpublished output
  address output
  format.date output
  new.block
  output.url % urlbst.pl
  new.block
  note output
  fin.entry
}

FUNCTION {inbook}
{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check }
    { format.authors output.nonnull
      crossref missing$
	{ "author and editor" editor either.or.check }
	'skip$
      if$
    }
  if$
  new.block
  format.btitle "title" output.check
  crossref missing$
    { format.bvolume output
      format.chapter.pages "chapter and pages" output.check
      new.block
      format.number.series output
      new.sentence
      publisher "publisher" output.check
      address output
    }
    { format.chapter.pages "chapter and pages" output.check
      new.block
      format.book.crossref output.nonnull
    }
  if$
  format.edition output
  format.date "year" output.check
  new.block
  output.url % urlbst.pl
  new.block
  note output
  fin.entry
}

FUNCTION {incollection}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
  new.block
  crossref missing$
    { format.in.ed.booktitle "booktitle" output.check
      format.bvolume output
      format.number.series output
      format.chapter.pages output
      new.sentence
      publisher "publisher" output.check
      address output
      format.edition output
      format.date "year" output.check
    }
    { format.incoll.inproc.crossref output.nonnull
      format.chapter.pages output
    }
  if$
  new.block
  output.url % urlbst.pl
  new.block
  note output
  fin.entry
}

FUNCTION {inproceedings}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
  new.block
  crossref missing$
    { format.in.ed.booktitle "booktitle" output.check
      format.bvolume output
      format.number.series output
      format.pages output
      address empty$
	{ organization publisher new.sentence.checkb
	  organization output
	  publisher output
	  format.date "year" output.check
	}
	{ address output.nonnull
	  format.date "year" output.check
	  new.sentence
	  organization output
	  publisher output
	}
      if$
    }
    { format.incoll.inproc.crossref output.nonnull
      format.pages output
    }
  if$
  new.block
  output.url % urlbst.pl
  new.block
  note output
  fin.entry
}

FUNCTION {conference} { inproceedings }

FUNCTION {manual}
{ output.bibitem
  author empty$
    { organization empty$
	'skip$
	{ organization output.nonnull
	  address output
	}
      if$
    }
    { format.authors output.nonnull }
  if$
  new.block
  format.btitle "title" output.check
  author empty$
    { organization empty$
	{ address new.block.checka
	  address output
	}
	'skip$
      if$
    }
    { organization address new.block.checkb
      organization output
      address output
    }
  if$
  format.edition output
  format.date output
  new.block
  output.url % urlbst.pl
  new.block
  note output
  fin.entry
}

FUNCTION {mastersthesis}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
  new.block
  "Master's thesis" format.thesis.type output.nonnull
  school "school" output.check
  address output
  format.date "year" output.check
  new.block
  output.url % urlbst.pl
  new.block
  note output
  fin.entry
}

FUNCTION {misc}
{ output.bibitem
  format.authors output
  title howpublished new.block.checkb
  format.title output
  howpublished new.block.checka
  howpublished output
  format.date output
  new.block
  output.url % urlbst.pl
  new.block
  note output
  fin.entry
  empty.misc.check
}

FUNCTION {phdthesis}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.btitle "title" output.check
  new.block
  "PhD thesis" format.thesis.type output.nonnull
  school "school" output.check
  address output
  format.date "year" output.check
  new.block
  output.url % urlbst.pl
  new.block
  note output
  fin.entry
}

FUNCTION {proceedings}
{ output.bibitem
  editor empty$
    { organization output }
    { format.editors output.nonnull }
  if$
  new.block
  format.btitle "title" output.check
  format.bvolume output
  format.number.series output
  address empty$
    { editor empty$
	{ publisher new.sentence.checka }
	{ organization publisher new.sentence.checkb
	  organization output
	}
      if$
      publisher output
      format.date "year" output.check
    }
    { address output.nonnull
      format.date "year" output.check
      new.sentence
      editor empty$
	'skip$
	{ organization output }
      if$
      publisher output
    }
  if$
  new.block
  output.url % urlbst.pl
  new.block
  note output
  fin.entry
}

FUNCTION {techreport}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
  new.block
  format.tr.number output.nonnull
  institution "institution" output.check
  address output
  format.date "year" output.check
  new.block
  output.url % urlbst.pl
  new.block
  note output
  fin.entry
}

FUNCTION {unpublished}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
  new.block
  note "note" output.check
  format.date output
  fin.entry
}

FUNCTION {default.type} { misc }

MACRO {jan} {"January"}

MACRO {feb} {"February"}

MACRO {mar} {"March"}

MACRO {apr} {"April"}

MACRO {may} {"May"}

MACRO {jun} {"June"}

MACRO {jul} {"July"}

MACRO {aug} {"August"}

MACRO {sep} {"September"}

MACRO {oct} {"October"}

MACRO {nov} {"November"}

MACRO {dec} {"December"}

MACRO {acmcs} {"ACM Computing Surveys"}

MACRO {acta} {"Acta Informatica"}

MACRO {cacm} {"Communications of the ACM"}

MACRO {ibmjrd} {"IBM Journal of Research and Development"}

MACRO {ibmsj} {"IBM Systems Journal"}

MACRO {ieeese} {"IEEE Transactions on Software Engineering"}

MACRO {ieeetc} {"IEEE Transactions on Computers"}

MACRO {ieeetcad}
 {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}

MACRO {ipl} {"Information Processing Letters"}

MACRO {jacm} {"Journal of the ACM"}

MACRO {jcss} {"Journal of Computer and System Sciences"}

MACRO {scp} {"Science of Computer Programming"}

MACRO {sicomp} {"SIAM Journal on Computing"}

MACRO {tocs} {"ACM Transactions on Computer Systems"}

MACRO {tods} {"ACM Transactions on Database Systems"}

MACRO {tog} {"ACM Transactions on Graphics"}

MACRO {toms} {"ACM Transactions on Mathematical Software"}

MACRO {toois} {"ACM Transactions on Office Information Systems"}

MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}

MACRO {tcs} {"Theoretical Computer Science"}

READ

STRINGS { longest.label }

INTEGERS { number.label longest.label.width }

FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
  #1 'number.label :=
  #0 'longest.label.width :=
}

FUNCTION {longest.label.pass}
{ number.label int.to.str$ 'label :=
  number.label #1 + 'number.label :=
  label width$ longest.label.width >
    { label 'longest.label :=
      label width$ 'longest.label.width :=
    }
    'skip$
  if$
}

EXECUTE {initialize.longest.label}

ITERATE {longest.label.pass}

FUNCTION {begin.bib}
{ preamble$ empty$
    'skip$
    { preamble$ write$ newline$ }
  if$
  "\begin{thebibliography}{"  longest.label  * "}" * write$ newline$
}

EXECUTE {begin.bib}

EXECUTE {init.state.consts}

ITERATE {call.type$}

FUNCTION {end.bib}
{ newline$
  "\end{thebibliography}" write$ newline$
}

EXECUTE {end.bib}

Link | Leave a comment {2} | Add to Memories | Share

shellscript to make a imagestrip

Nov. 11th, 2009 | 06:10 pm

Shellscript to make a image strip (tira in portuguese) from a dir with images. It's not recursive. Depends on imagemagick. See the source below for details:

#!/bin/sh

DIR="$1"
for f in $DIR/*
do
convert "$f" -resize x65 "tiny-$(basename $f)"
done
montage -geometry +0+0 -tile x1 tiny-* tira.jpg


--
Happy Hacking!

Link | Leave a comment {1} | Add to Memories | Share

Minhas férias na praia

Jan. 10th, 2009 | 01:27 pm



Foto tirada em Meia Praia, Santa Catarina, Brasil. Repare no logo do The Pirate Bay [http://thepiratebay.org/].

Link | Leave a comment | Add to Memories | Share

Receita de Sucesso.

Nov. 26th, 2007 | 01:44 am
location: Brasil
mood: cynicalcynical

1. Beba uma garrafa de cachaça o mais rápido que conseguir;
2. No dia seguinte não coma nada, evite líquidos também, faça algum exercício físico;
3. No próximo dia, ainda em jejum, assista a um noticiário, de preferencia a um sobre política no Brasil;
4. Escolha algum assunto de que goste e vá estudar;
5. Volte aqui e relate sua experiência;

Link | Leave a comment {1} | Add to Memories | Share

bibliografia bibliografia forte

Sep. 7th, 2007 | 04:00 pm

eu não acredito nisso. imaginação e criatividade tem força, bibliografia não

Link | Leave a comment {1} | Add to Memories | Share