<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet type="text/xsl" href="https://perrotta.dev/rss.xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Legacy on ¬ just serendipity 🍀</title>
    <link>https://perrotta.dev/</link>
    <description>Recent content in Legacy on ¬ just serendipity 🍀</description>
    <generator>Hugo</generator>
    <language>pt</language>
    <managingEditor>serendipity@perrotta.dev (Thiago Perrotta)</managingEditor>
    <webMaster>serendipity@perrotta.dev (Thiago Perrotta)</webMaster>
    <copyright>© 2013 - 2026 Thiago Perrotta ·
  a fork of [hugo ʕ•ᴥ•ʔ bear](https://github.com/janraasch/hugo-bearblog/)
</copyright>
    <lastBuildDate>Tue, 26 May 2026 01:55:30 +0200</lastBuildDate>
    <atom:link href="https://perrotta.dev/pt/tags/legacy/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Mulheres na computação, cadê vocês?
      </title>
      <link>https://perrotta.dev/pt/2015/03/mulheres-na-computa%C3%A7%C3%A3o-cad%C3%AA-voc%C3%AAs/</link>
      <pubDate>Sun, 08 Mar 2015 16:26:42 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>legacy</category>
      <category>serenity</category>
      <guid>https://perrotta.dev/pt/2015/03/mulheres-na-computa%C3%A7%C3%A3o-cad%C3%AA-voc%C3%AAs/</guid>
      <description>&lt;p&gt;♠ 08 de março. Você sabe que dia é hoje. Muitos dizem que é um dia especial. Já&#xA;eu, pessoalmente, em geral sou indiferente para qualquer comemoração do tipo,&#xA;porque eu acredito que todos os 365,25 dias do ano são igualmente especiais.&#xA;Não é necessário tirar um único dia do ano (menos de 1%!!!) para dizer que as&#xA;mulheres são especiais&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;https://perrotta.dev/pt/2015/03/mulheres-na-computa%C3%A7%C3%A3o-cad%C3%AA-voc%C3%AAs/#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Mas bem, hoje resolvi aproveitar a deixa para fazer uma pequena divulgação. Como&#xA;você pode ler no título, eu restringi o post a &amp;ldquo;mulheres na computação&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Muito bem, pois é que existe um grupo bem bacana na comunidade do Arch Linux&#xA;chamado &lt;a href=&#34;https://archwomen.org/&#34;&gt;Arch Women&lt;/a&gt;, que no fundo é uma organização sem&#xA;fins lucrativos que visa incentivar a participação de (mais) mulheres no mundo&#xA;do Arch e de &lt;em&gt;open source&lt;/em&gt; em geral. Mais do que isso, no fundo é um grupo que&#xA;acredita na igualdade de gêneros e que quer enviar qualquer tipo de&#xA;preconceito para &lt;code&gt;/dev/null&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;A organização é bem bacana, de vez em quando são organizadas algumas aulas pelo&#xA;IRC, também existem projetos de &amp;ldquo;estágio&amp;rdquo;, digamos assim (um exemplo típico é o&#xA;&lt;em&gt;Google Summer of Code&lt;/em&gt;) e, bem, é uma comunidade &lt;em&gt;open source&lt;/em&gt;, então as&#xA;possibilidades de interação são inúmeras.&lt;/p&gt;&#xA;&lt;p&gt;Adicionalmente, existem alguns encontros (encontro talvez não seja uma palavra&#xA;boa. Vamos dizer: reuniões) todo início do mês no IRC, onde são realizadas&#xA;algumas discussões sobre as coisas que eu falei aí em cima.&lt;/p&gt;&#xA;&lt;p&gt;Ah sim, esqueci de falar duas coisas: 1) não é uma comunidade só para mulheres;&#xA;na verdade, é uma comunidade que incentiva a participação de mulheres na&#xA;tecnologia. Então, existem vários rapazes por lá também. Se você quiser ajudar,&#xA;seja bem-vindo. 2) já falei de IRC umas duas vezes mas não disse onde: é no&#xA;irc.freenode.net, no canal #archlinux-women. É, o idioma é em inglês.&lt;/p&gt;&#xA;&lt;p&gt;Enfim, essa história de &amp;ldquo;mulheres na tecnologia&amp;rdquo; (computação, whatever) é&#xA;frequentemente tratada como um tabu, mas não precisa(va) ser assim. E eu&#xA;aproveito a deixa desse post para incentivar mais as pessoas a criar&#xA;organizações que incentivem a inclusão de mulheres no mundo digital. Não precisa&#xA;ser só a Arch Women, afinal.&lt;/p&gt;&#xA;&lt;p&gt;Até mais ver!&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;afinal, elas são &lt;strong&gt;especiais&lt;/strong&gt; &lt;strong&gt;sempre&lt;/strong&gt;, certo? ;)&amp;#160;&lt;a href=&#34;https://perrotta.dev/pt/2015/03/mulheres-na-computa%C3%A7%C3%A3o-cad%C3%AA-voc%C3%AAs/#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Mulheres na computação, cadê vocês?&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/serenity/&#34;&gt;#serenity&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Meus dois minutos de fama
      </title>
      <link>https://perrotta.dev/pt/2014/07/meus-dois-minutos-de-fama/</link>
      <pubDate>Fri, 25 Jul 2014 16:02:04 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>legacy</category>
      <category>serenity</category>
      <guid>https://perrotta.dev/pt/2014/07/meus-dois-minutos-de-fama/</guid>
      <description>&lt;p&gt;♠ E, depois de um ano escrevendo aleatoriedades nesse espaço, com um pouco de&#xA;serendipidade finalmente meu blog apareceu em algum lugar, mais precisamente no&#xA;semanal videocast &lt;a href=&#34;http://www.bsdnow.tv/&#34;&gt;bsdnow.tv&lt;/a&gt; (do &lt;a href=&#34;http://www.jupiterbroadcasting.com/&#34;&gt;Jupiter&#xA;Broadcasting&lt;/a&gt;), mais precisamente em seu&#xA;&lt;a href=&#34;http://www.bsdnow.tv/episodes/2014_07_23-des_challenge_iv&#34;&gt;episódio 47&lt;/a&gt;, mais&#xA;precisamente em torno de 1h07min da edição final do vídeo. O mais legal é que&#xA;isso foi espontâneo (= eu não falei com ninguém do podcast, e o motivo de eu ter&#xA;começado a escrever sobre&#xA;&lt;a href=&#34;https://perrotta.dev/posts/2014-07-20-here-be-dragons-freebsd-overview-part-i/&#34;&gt;FreeBSD&lt;/a&gt;&#xA;foi bem por acaso mesmo) e que eu ouço regularmente alguns podcasts deles – não&#xA;o BSD Now.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&amp;ldquo;E daí?&amp;rdquo;&lt;/strong&gt; Pra você eu não sei, mas pra mim isso é mais um &lt;em&gt;badge unlocked&lt;/em&gt;.&#xA;Tais como &lt;a href=&#34;https://perrotta.dev/pt/2014/02/meu-primeiro-pkgbuild/&#34;&gt;meu primeiro&#xA;PKGBUILD&lt;/a&gt;,&#xA;meu primeiro &lt;a href=&#34;https://perrotta.dev/pt/2014/03/pull-request/&#34;&gt;pull&#xA;request&lt;/a&gt;,&#xA;meu &lt;a href=&#34;https://perrotta.dev/pt/2014/02/%23cpbr7-parte-1-hackatons-firefox-os--cert.br/&#34;&gt;primeiro&#xA;hackathon&lt;/a&gt;&#xA;e uma submissão em 2 minutos na&#xA;&lt;a href=&#34;https://perrotta.dev/pt/2013/09/ontem-maratona-de-programa%C3%A7%C3%A3o/&#34;&gt;maratona&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;É bastante bacana poder olhar para trás e percebi que eu alcancei essas coisas&#xA;pelo menos uma vez. E é mais bacana ainda deixar isso tudo registrado aqui, com&#xA;a minha emoção da época. Eu jamais conseguiria reescrever todos esses posts&#xA;anteriores hoje com a mesma sensação que eu senti quando realizei essas coisas;&#xA;são momentos únicos e especiais, principalmente por serem os primeiros. É claro&#xA;que &lt;strong&gt;hoje&lt;/strong&gt; eu já criei vários PKGBUILDs, submeti vários pull requests, etc.&lt;/p&gt;&#xA;&lt;p&gt;Mas o mais legal foi (é) sempre a primeira vez, quando a gente não sabe muito&#xA;bem onde está pisando ou o que está fazendo, nem aonde aquilo vai dar. É isso&#xA;aí, e então espero poder desbloquear muito mais badges vida à frente e poder&#xA;registrá-los todos aqui. &lt;em&gt;See ya&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Meus dois minutos de fama&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/serenity/&#34;&gt;#serenity&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emacs e golang, uma dupla perfeita
      </title>
      <link>https://perrotta.dev/pt/2014/07/emacs-e-golang-uma-dupla-perfeita/</link>
      <pubDate>Tue, 22 Jul 2014 22:09:00 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/07/emacs-e-golang-uma-dupla-perfeita/</guid>
      <description>&lt;p&gt;♠ (Sim, o título é clichê.)&lt;/p&gt;&#xA;&lt;p&gt;Dentre todas as linguagens de programação que tive contato até hoje, sem dúvida&#xA;Go é a que teve a melhor integração com o Emacs. A integração é tão grande que&#xA;eu até dispensei completamente a necessidade de utilizar a&#xA;&lt;a href=&#34;https://code.google.com/p/golangide/&#34;&gt;LiteIDE&lt;/a&gt; (aparentemente a IDE mais&#xA;standard para Go).&lt;/p&gt;&#xA;&lt;p&gt;(&lt;a href=&#34;http://geekmonkey.org/articles/20-comparison-of-ides-for-google-go&#34;&gt;Esse&lt;/a&gt; site&#xA;lista mais IDEs ainda. Pessoalmente acho uma lista exagerada, mas o leitor pode&#xA;optar pelo que se sentir mais confortável. Adicionalmente, o&#xA;&lt;a href=&#34;http://www.reddit.com/r/golang/comments/2739gp/golang_ides/&#34;&gt;reddit&lt;/a&gt; é sempre&#xA;uma boa fonte adicional.)&lt;/p&gt;&#xA;&lt;p&gt;Então, o que você espera ver nesse post? Certamente como integrar o Emacs com o&#xA;Go, certo? A verdade é que já existem duas fontes (em inglês) muito boas sobre o&#xA;assunto:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://tleyden.github.io/blog/2014/05/22/configure-emacs-as-a-go-editor-from-scratch/&#34;&gt;https://tleyden.github.io/blog/2014/05/22/configure-emacs-as-a-go-editor-from-scratch/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://dominik.honnef.co/posts/2013/03/writing_go_in_emacs/&#34;&gt;http://dominik.honnef.co/posts/2013/03/writing_go_in_emacs/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Qualquer coisa que eu reproduzisse aqui seria simplesmente uma repetição do que&#xA;já está listado nelas. Então, em vez disso, primeiramente listo a minha&#xA;configuração atual:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-lisp&#34;&gt;(when (locate-library &amp;#34;go-mode&amp;#34;)&#xA;  ;; golang -- you should go get external tools by yourself!&#xA;  (add-hook &amp;#39;before-save-hook #&amp;#39;gofmt-before-save)&#xA;  (when (locate-library &amp;#34;go-autocomplete&amp;#34;)&#xA;    (require &amp;#39;go-autocomplete))&#xA;  (when (locate-library &amp;#34;go-eldoc&amp;#34;)&#xA;    (add-hook &amp;#39;go-mode-hook &amp;#39;go-eldoc-setup))&#xA;  (when (locate-library &amp;#34;go-projectile&amp;#34;)&#xA;    (require &amp;#39;go-projectile))&#xA;  (when (locate-library &amp;#34;golint&amp;#34;)&#xA;    (require &amp;#39;golint))&#xA;  (setq gofmt-command &amp;#34;goimports&amp;#34;)&#xA;  (add-hook &amp;#39;go-mode-hook (lambda () (if (not (string-match &amp;#34;go&amp;#34; compile-command))&#xA;                     (set (make-local-variable &amp;#39;compile-command)&#xA;                          &amp;#34;go build -v &amp;amp;&amp;amp; go test -v &amp;amp;&amp;amp; go vet&amp;#34;))))&#xA;  (add-hook &amp;#39;go-mode-hook (lambda () (local-set-key (kbd &amp;#34;M-.&amp;#34;) #&amp;#39;godef-jump))))&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Depois, dou uma demonstração da introspecção que podemos alcançar com isso,&#xA;através de uma ferramenta que divulguei aqui uns dias atrás…asciinema! Só existe&#xA;uma pequena limitação, eu só posso usar o asciinema com o emacs no modo&#xA;terminal, então ele não fica completamente funcional; mas, mesmo assim, isso já&#xA;é suficiente para que vocês possam perceber o poder e a flexibilidade dessa&#xA;integração.&lt;/p&gt;&#xA;&lt;p&gt;Note, no vídeo, que criei um arquivo em &lt;a href=&#34;http://orgmode.org/&#34;&gt;orgmode&lt;/a&gt; (quantas&#xA;vezes nesse blog já indiquei a homepage desse maravilhoso projeto?) e o usei&#xA;como base para gravar o asciicast. Aproveitem!&lt;/p&gt;&#xA;&lt;p&gt;Link: &lt;a href=&#34;http://asciinema.org/a/10965&#34;&gt;http://asciinema.org/a/10965&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;OBS.: Note que a gravação do asciinema é ligeiramente mais lenta do que o tempo&#xA;real. É claro que eu escrevi mais rápido do que parece no vídeo.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Emacs e golang, uma dupla perfeita&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Melhorando a renderização de fontes no Windows
      </title>
      <link>https://perrotta.dev/pt/2014/07/melhorando-a-renderiza%C3%A7%C3%A3o-de-fontes-no-windows/</link>
      <pubDate>Sat, 12 Jul 2014 21:23:58 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/07/melhorando-a-renderiza%C3%A7%C3%A3o-de-fontes-no-windows/</guid>
      <description>&lt;p&gt;♠ Ah, sempre que eu logo no Windows acabo implicando com alguma coisa. A última da&#xA;vez foi a renderização das fontes. A renderização de fontes no Linux é muito&#xA;boa, chega aos pés (isso se não passar) da do Mac. Especialmente se você&#xA;utilizar o&#xA;&lt;a href=&#34;https://wiki.archlinux.org/index.php/Infinality-bundle&amp;#43;fonts&#34;&gt;infinality&lt;/a&gt;&#xA;(&lt;a href=&#34;http://www.infinality.net/blog/&#34;&gt;upstream&lt;/a&gt;). Agora, a renderização do Windows&#xA;é&amp;hellip;feia. Quando você abre o seu &lt;em&gt;browser&lt;/em&gt; e vê aquela página cheia de Times&#xA;New Roman para todo o lado&amp;hellip;errrrgh. Não estamos mais no início dos anos 2000,&#xA;algumas coisas podem melhorar.&lt;/p&gt;&#xA;&lt;p&gt;Com um pouco de &lt;a href=&#34;https://pt.wikipedia.org/wiki/Serendipidade&#34;&gt;serendipidade&lt;/a&gt;&#xA;(minha palavra predileta nos últimos tempos), encontrei o&#xA;&lt;a href=&#34;https://code.google.com/p/mactype/&#34;&gt;MacType&lt;/a&gt;. Esse é um projeto que promete&#xA;melhorar a renderização das fontes no Windows (do 7 para cima, por favor). Não&#xA;tem muito o que falar: instale, experimente e perceba a diferença!&lt;/p&gt;&#xA;&lt;p&gt;Note que esse projeto é desenvolvido em japonês (bem, alguma língua oriental).&#xA;Então, em algumas partes da instalação (e mesmo na pós-instalação), pode ser que&#xA;você não veja caracteres, ou que veja caracteres em forma de quadrado. Nesse&#xA;caso, procure a opção para trocar o idioma para inglês; depois disso, é super&#xA;intuitivo.&lt;/p&gt;&#xA;&lt;p&gt;Mais uma nota: você só precisa abrir e configurar o programa uma única vez.&#xA;Existem várias opções para salvar as opções de renderização: você pode utilizar&#xA;o registro do Windows (uma boa opção!) e um serviço do Windows (outra boa&#xA;opção). Eu optei pela segunda, não me deu dor de cabeça.  Existe também a&#xA;possibilidade de aplicar a renderização apenas para algumas janelas, acho, e&#xA;também a de controlar as opções pelo system tray. Não há necessidade disso,&#xA;convenhamos; ou você utiliza em todos os lugares, ou não utiliza: seja&#xA;consistente. Note que se você escolher a opção de registro, a renderização só&#xA;terá efeito após a reinicialização do computador.&lt;/p&gt;&#xA;&lt;p&gt;Finalmente, uma &lt;strong&gt;mini review&lt;/strong&gt;: achei a nova renderização muito boa. Dá até&#xA;gosto de ficar lendo. Aproxima-se relativamente bem da qualidade de renderização&#xA;do Linux (ou, do Mac, que é o que o nome do projeto sugere). Notei que o mactype&#xA;está disponível no &lt;a href=&#34;http://chocolatey.org/packages/mactype&#34;&gt;chocolatey&lt;/a&gt; (é&#xA;uma pena que eu só tenha visto isso depois que o instalei manualmente),&#xA;então, se quiser automatizar o processo:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-plaintext&#34;&gt;cinst mactype&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Melhorando a renderização de fontes no Windows&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setups no Windows, nunca mais
      </title>
      <link>https://perrotta.dev/pt/2014/06/setups-no-windows-nunca-mais/</link>
      <pubDate>Mon, 30 Jun 2014 20:56:00 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/06/setups-no-windows-nunca-mais/</guid>
      <description>&lt;p&gt;♠ Uma vez que você se acostuma com &lt;strong&gt;package managers&lt;/strong&gt; no Linux, é bastante inconveniente voltar à vibe de ficar instalando programa por programa no Windows, clicando em &amp;rsquo;next&amp;rsquo; o tempo todo.&lt;/p&gt;&#xA;&lt;p&gt;Para resolver isso foi criado o &lt;a href=&#34;http://chocolatey.org/&#34;&gt;chocolatey&lt;/a&gt;, um repositório com vários pacotes para o Windows, descrevendo-o a grosso modo.&lt;/p&gt;&#xA;&lt;p&gt;Eu o uso há bastante tempo, para falar a verdade. Só que agora me apareceu um novo problema: como reproduzir a mesma instalação em vários computadores diferentes, de uma vez só?&lt;/p&gt;&#xA;&lt;p&gt;Motivado por isso, criei um repositório com o sugestivo nome de &lt;a href=&#34;https://github.com/thiagowfx/windows-setups-nevermore&#34;&gt;windows-setups-nevermore&lt;/a&gt;. As instruções estão no arquivo README. Resumidamente, basta você especificar todos os pacotes que você quer em um arquivo chamado &lt;code&gt;packages.config&lt;/code&gt;, depois executar o arquivo &lt;code&gt;setup.cmd&lt;/code&gt;. E voilà, em poucos minutos todos os seus programas serão &lt;strong&gt;automagicamente&lt;/strong&gt; instalados, adicionados ao PATH e ao menu iniciar.&lt;/p&gt;&#xA;&lt;p&gt;Naturalmente isso se limita, &lt;em&gt;a priori&lt;/em&gt;, somente aos pacotes na galeria/catálogo do chocolatey. Se o pacote que você quiser não estiver lá, você terá que adicioná-lo sozinho, ou instalá-lo manualmente, o que for preferível. Além do mais, só estão lá os programas cujas licenças admitem que eles sejam redistribuídos (você não vai encontrar o Microsoft Office lá, por exemplo).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update (2014-07-07):&lt;/strong&gt; esse método provavelmente não instala bloatware – por exemplo, as diversas barras de ferramentas ou outros plug-ins para seus web browsers. No entanto, a melhor forma de comprovar isso é ou analisando o código-fonte do pacote ou instalando-o.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Setups no Windows, nunca mais&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Asciinema
      </title>
      <link>https://perrotta.dev/pt/2014/06/asciinema/</link>
      <pubDate>Sun, 29 Jun 2014 20:01:00 +0000</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/06/asciinema/</guid>
      <description>&lt;p&gt;♠ Descobri uma ferramenta bastante útil para gravar sessões de terminal:&#xA;asciinema. E, é claro, ela é open-source: cliente e website. Feita em python, e&#xA;bastante KISS. Aproveitei para gravar um screencast (asciicast?) de exemplo:&#xA;&lt;a href=&#34;https://asciinema.org/a/10546q&#34;&gt;https://asciinema.org/a/10546q&lt;/a&gt;. Disponível no AUR.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Asciinema&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Olá, desenvolvimento web
      </title>
      <link>https://perrotta.dev/pt/2014/06/ol%C3%A1-desenvolvimento-web/</link>
      <pubDate>Sat, 21 Jun 2014 05:03:21 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/06/ol%C3%A1-desenvolvimento-web/</guid>
      <description>&lt;p&gt;♠ Durante a última semana fiquei pesquisando bastante sobre o assunto. Posso dizer&#xA;que gostei bastante do tema, e que ele é bastante vasto. A sensação de&#xA;aprendizado me é familiar (dèjá vu), me senti da mesma maneira quando comecei no&#xA;mundo do Linux e, mais em geral, de comunidades e de &lt;em&gt;open source&lt;/em&gt;. Bem,&#xA;acredito que eu vá tomar uma boa parte do meu tempo para estudar sobre isso no&#xA;futuro.&lt;/p&gt;&#xA;&lt;p&gt;Um segundo tema que toquei de leve (mas bem de leve mesmo) é o de design de&#xA;linguagens e de compiladores. Na verdade, gramáticas, coisas assim. Vi mais a do&#xA;javascript, mas também comecei a juntar algumas referências para estudar sobre o&#xA;assunto no futuro.&lt;/p&gt;&#xA;&lt;p&gt;Agora, vou voltar a estudar sobre algoritmos e tudo o mais, pois a maratona de&#xA;programação é daqui a alguns dias apenas. Além disso, comecei um curso de&#xA;Machine Learning no Coursera, e estou investindo uma boa parte do meu tempo em&#xA;interação com os outros estudantes do curso – acredito, por experiência, que&#xA;essa é a melhor maneira de tirar o máximo de proveito do coursera: estudar em&#xA;grupo; bem, ao menos participar das discussões dos fóruns.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Olá, desenvolvimento web&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello, my little ol&#39; Arch Server
      </title>
      <link>https://perrotta.dev/pt/2014/06/hello-my-little-ol-arch-server/</link>
      <pubDate>Sat, 14 Jun 2014 16:06:00 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/06/hello-my-little-ol-arch-server/</guid>
      <description>&lt;p&gt;♠ Durante os últimos dias venho brincando um pouco com configurações de&#xA;servidores. Não é a parte mais prazerosa de se administrar ou programar um&#xA;sistema, admito. Mas tem lá seus méritos.&lt;/p&gt;&#xA;&lt;p&gt;Bem, eis alguns pedaços de conhecimento registrados aqui.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Vanilla vs Patched&lt;/strong&gt;: você talvez se lembre de que uma vez eu inventei de&#xA;instalar ubuntu, centos, apache e opensuse, e aquilo era mais para ter uma visão&#xA;&amp;ldquo;big picture&amp;rdquo; da coisa. Atualmente estou testando configurações apenas no arch e&#xA;no debian, e são dois sistemas suficientemente diferentes porém que se completam&#xA;para que eu não precise testar em mais nenhum. A questão principal aqui é: no&#xA;Arch, os pacotes são minimamente alterados (usualmente, não são alterados); isto&#xA;é, eles são empacotados da mesma forma que &lt;strong&gt;upstream&lt;/strong&gt; quer que esteja. Isso é&#xA;muito bom para você aprender como as coisas funcionam de maneira pura, e também&#xA;para perceber como várias distros tentam resolver várias coisas por você; às&#xA;vezes isso é bom, às vezes isso é ruim; no entanto, é melhor você se expor aos&#xA;problemas para entender como eles funcionam, na minha visão.&lt;/p&gt;&#xA;&lt;p&gt;&amp;hellip;percebemos que no debian tudo isso já funciona out-of-the-box (isto é, o&#xA;Apache já vem pré-configurado); enquanto que, no Arch, é necessário fazer umas&#xA;pequenas configurações (10 minutos se você quiser tentar entendê-las sem nunca&#xA;tê-las feito; 2 minutos se já sabe o que fazer), coisa de descomentar algumas&#xA;linhas ou acrescentar outras. Isso não é feito às escuras, tudo é muito bem&#xA;documentado na ArchWiki, para a qual eu tenho o orgulho de contribuir.&lt;/p&gt;&#xA;&lt;p&gt;Outra diferença é em relação à localização padrão do DocumentRoot: no Arch&#xA;(logo, upstream) é &lt;code&gt;/srv/http&lt;/code&gt;, no debian era (se não me engano) &lt;code&gt;/var/www&lt;/code&gt;, e&#xA;no XAMPP é em &lt;code&gt;/opt/lampp/htdocs&lt;/code&gt;. Nenhum padrão, isso dá dor de cabeça às&#xA;vezes.&lt;/p&gt;&#xA;&lt;p&gt;Também estou realizando alguns testes com o nginx. Minha conclusão é que o nginx&#xA;é bem mais KISS do que o apache (e alguns dizem que ele é mais rápido também).&#xA;De fato, ele parece ser mais confortável de se trabalhar. Porém, ainda estou&#xA;tendo um pouco de dor de cabeça para integrá-lo com o PHP, através de FastCGI e&#xA;php-fpm. Provavelmente deixei escapar algum detalhe, alguma linha de&#xA;configuração, mas estou quase lá.&lt;/p&gt;&#xA;&lt;p&gt;Outro aspecto legal é o PHPMyAdmin. Não é nada mal poder configurar todas as&#xA;suas tabelas de MySQL (ou MariaDB, se estiver no Arch, tecnologia iuhul) através&#xA;de uma interface intuitiva. O PhpMyAdmin vem pré-configurado tanto no Arch&#xA;quanto no Debian, o que me diz que ele realmente foi feito para facilitar a vida&#xA;de um administrador de sistemas.&lt;/p&gt;&#xA;&lt;p&gt;Por outro lado, não achei absolutamente difícil utilizar a linha de comando do&#xA;mysql / mariadb. Pela pouca experiência que tenho hoje com MySQL, mas somada com&#xA;a minha boa experiência com linha de comando em geral, posso dizer que a&#xA;interface CLI do MySQL/MariaDB é bastante intuitiva. O problema é que você&#xA;precisa saber o que está fazendo (isso não é um problema, é?), precisa saber a&#xA;sintaxe dos comandos e tudo o mais, coisa que não é tão essencial no PhpMyAdmin.&#xA;Mas, ainda assim, não tem nada demais, só questão de se acostumar mesmo.&lt;/p&gt;&#xA;&lt;p&gt;Apesar de toda a vibe e estabilidade do MySQL, estou considerando seriamente em&#xA;utilizar alguma tecnologia NoSQL para um futuro projeto. Acredito que sua&#xA;flexiblidade combine mais com meu modo de pensar do que o do MysQL, mas, cada&#xA;tecnologia possui seus méritos, tirarei minhas próprias conclusões acerca disso&#xA;no futuro.&lt;/p&gt;&#xA;&lt;p&gt;Conectar o PHP com o MySQL é bastante fácil. Só questão de descomentar o módulo&#xA;correto no /etc/php/php.ini. Por sinal, tem bastantes módulos interessantes por&#xA;lá.&lt;/p&gt;&#xA;&lt;p&gt;Vejamos…ah sim, usuários e permissões; é bom tomar bastante cuidado com isso! É&#xA;um assunto que pode dar dor de cabeça. Cada distro tem seus próprios usuários&#xA;para a web, e seus próprios conjuntos de permissões para que tudo funcione&#xA;corretamente (e para que o seu sistema não fique tão exposto para o mundo).&#xA;Posso dizer que se você não usar o chmod, chgrp ou chown sem querer, e deixar os&#xA;defaults quietos, provavelmente tudo vai correr bem. Isso assume que você não&#xA;vai fazer nada de anormal, o que…bem, pode nem sempre ser verdadeiro.&lt;/p&gt;&#xA;&lt;p&gt;Mais uma coisa: use senhas seguras! Isso pode evitar dores de cabeça no futuro.&#xA;Por outro lado, cuidado para não utilizar senhas seguras demais e depois se&#xA;esquecer das mesmas. Se você utilizar algum software para administrá-las,&#xA;certifique-se de que a senha master dele seja ENORME, REALMENTE ENORME. E, se&#xA;possível, utilize algum método adicional para protegê-lo (2-factor auth, key,&#xA;etc).&lt;/p&gt;&#xA;&lt;p&gt;É uma boa prática utilizar 100% da linha de comando para administrar o seu&#xA;server. Talvez com a exceção do PhpMyAdmin, eu acho que todo bom administrador&#xA;deveria saber fazer tudo pela linha de comando.&lt;/p&gt;&#xA;&lt;p&gt;Bem, acho que até aqui isso resume parte da minha brincadeira. É claro que eu&#xA;não falei sobre uma porção de coisas, tem SSH, tem os arquivos de configuração,&#xA;tem LAMP/LEMP, tem todos os cenários mais extravagantes que você puder criar.&#xA;Mas esse é um começo. Para quem disse que ia começar a ler e estudar sobre o&#xA;assunto , sinto que estou no caminho certo e que comecei bem. Agora, o restante&#xA;desse caminho depende o que é que eu vou fazer com isso.&lt;/p&gt;&#xA;&lt;p&gt;Até breve.&lt;/p&gt;&#xA;&lt;p&gt;(Por sinal, o blog deve continuar congelado. Com exceção de posts como esse,&#xA;para marcar determinado badge/meta, o tempo de férias é curto, então não vou&#xA;tomá-lo para inventar posts que não precisam ser inventados)&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Hello, my little ol&#39; Arch Server&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Novos paradigmas @ Redes sociais &amp; News
      </title>
      <link>https://perrotta.dev/pt/2014/05/novos-paradigmas-@-redes-sociais-news/</link>
      <pubDate>Fri, 30 May 2014 11:57:00 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>legacy</category>
      <category>socialmedia</category>
      <category>serenity</category>
      <guid>https://perrotta.dev/pt/2014/05/novos-paradigmas-@-redes-sociais-news/</guid>
      <description>&lt;p&gt;♠ Produtividade já foi uma questão que discuti bastante por aqui. Por exemplo,&#xA;&lt;a href=&#34;http://thiagoperrotta.wordpress.com/2013/06/23/privacidade-nas-redes-sociais-parte-i/&#34;&gt;esse&lt;/a&gt;&#xA;post contém alguns pensamentos soltos, e &lt;a href=&#34;http://thiagoperrotta.wordpress.com/2013/11/01/journal-4-aaaaaargh-facebook/&#34;&gt;esse&#xA;outro&lt;/a&gt;&#xA;algumas &lt;em&gt;guidelines&lt;/em&gt; para o Facebook.&lt;/p&gt;&#xA;&lt;p&gt;Apesar de tudo, essa não é a única questão para a qual temos que abrir nossos&#xA;olhos. Parando para refletir um pouco, se você se imaginar há 3 anos e comparar&#xA;o seu eu ao eu atual, você irá notar que a forma com que a internet entrou em&#xA;sua vida e passou a &lt;strong&gt;fazer parte&lt;/strong&gt; dela, de modo intrínseco, é uma&#xA;&lt;strong&gt;metamorfose absurda&lt;/strong&gt;. Naturalmente, se você está lendo esse post, então o que&#xA;eu falei é uma suposição razoável para você.&lt;/p&gt;&#xA;&lt;p&gt;A questão é: perdemos muito tempo vendo notícias e &lt;em&gt;updates&lt;/em&gt; que não são&#xA;essenciais para a nossa cabeça, nem para uma eventual tomada de decisões. Claro&#xA;que alguns &lt;em&gt;updates&lt;/em&gt; são importantes, e outros são relacionados a pessoas que&#xA;você gosta de seguir / acompanhar, de modo que não acho que valha a pena você&#xA;ficar 100% sem adquirir informação nenhuma simplesmente porque a &lt;a href=&#34;https://en.wikipedia.org/wiki/Information_overload&#34;&gt;Information&#xA;Overload&lt;/a&gt; te dominou. Por&#xA;outro lado, &lt;a href=&#34;http://pennystocks.la/internet-in-real-time/&#34;&gt;tentar acompanhar&#xA;tudo&lt;/a&gt; é uma tremenda perda de&#xA;produtividade.&lt;/p&gt;&#xA;&lt;p&gt;Então, motivado por essas coisas, vou tentar mudar alguns de meus próprios&#xA;paradigmas em relação às redes sociais. Naturalmente, vou compartilhar algumas&#xA;coisas que soam como boas práticas, e que possivelmente você também poderá&#xA;querer adotar.&lt;/p&gt;&#xA;&lt;p&gt;1 - &lt;strong&gt;Deprecated&lt;/strong&gt;. Usei o&#xA;&lt;a href=&#34;https://perrotta.dev/pt/2014/03/bloqueando-websitesadsmalware-no-linux/&#34;&gt;hostsblock&lt;/a&gt;&#xA;durante uma semana (é só para Linux). Ele realmente bloqueia todos os domínios&#xA;que você especificar, mas isso acaba tendo a desvantagem que eu mencionei antes:&#xA;bloquear 100% não é uma solução ótima.&lt;/p&gt;&#xA;&lt;p&gt;2 - &lt;strong&gt;Deprecated&lt;/strong&gt;. Também cheguei a usar&#xA;&lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/leechblock/?src=search&#34;&gt;esse&lt;/a&gt;&#xA;add-on na época que usava Firefox. Mesmo comentário que o anterior.&lt;/p&gt;&#xA;&lt;p&gt;3 - Recentemente um&#xA;&lt;a href=&#34;https://chrome.google.com/webstore/detail/kill-news-feed/hjobfcedfgohjkaieocljfcppjbkglfd&#34;&gt;add-on&lt;/a&gt;&#xA;do Neal Wu para Chrome ficou bastante popular. Fiquei bastante feliz tanto pelo&#xA;que o add-on se propõe a fazer (não é um bloqueio de 100%!), quanto pela&#xA;pessoa que o desenvolveu (dica: é um cara bastante inteligente). E o melhor:&#xA;ele é &lt;a href=&#34;https://github.com/nealwu/KillNewsFeed&#34;&gt;open source&lt;/a&gt;, de modo que&#xA;você pode tentar adaptá-lo para bloquear outros sites também!&lt;/p&gt;&#xA;&lt;p&gt;Agora chega de &lt;em&gt;software&lt;/em&gt;, vamos às boas práticas.&lt;/p&gt;&#xA;&lt;p&gt;4 - Sempre que você ver um link da categoria &lt;em&gt;funny&lt;/em&gt;, &amp;ldquo;engraçadinho&amp;rdquo;,&#xA;&amp;ldquo;legalzinho&amp;rdquo;, NÃO O POSTE. Seus amigos não precisam ver isso. É, isso inclui a&#xA;categoria &amp;ldquo;reddit&amp;rdquo; também. Quem gosta do reddit vai ler coisas lá, eu não&#xA;preciso ficar compartilhando o post do dia do reddit que mais gostei na minha&#xA;&lt;em&gt;timeline&lt;/em&gt;. Isso se aplica principalmente ao 9gag e similares. Eu detesto esse&#xA;tipo de sites (9gag, não reddit), mas ainda assim vejo compartilhamentos sobre&#xA;isso o tempo todo. Dica: já dei unfollow na maior parte das pessoas que&#xA;compartilha sobre isso, mas parece que é algo viral, em todo o canto aparece&#xA;mais uma.&lt;/p&gt;&#xA;&lt;p&gt;5 - Boas plataformas para compartilhar links, GIFs e firulas?&#xA;&lt;a href=&#34;https://www.tumblr.com/&#34;&gt;Tumblr&lt;/a&gt;! (Eu não tenho um…).&lt;/p&gt;&#xA;&lt;p&gt;6 - Utilizar agregadores de feed (RSS ou não) para juntar as notícias que você&#xA;quer ver é uma ótima prática. Baseado em RSS, atualmente eu uso do&#xA;&lt;a href=&#34;https://www.commafeed.com/&#34;&gt;CommaFeed&lt;/a&gt;. O Reader do Wordpress também pode ser&#xA;razoável (ele também funciona para RSSs que não estão no Wordpress).&lt;/p&gt;&#xA;&lt;p&gt;7 - Eu procuro evitar entrar diretamente em portais de notícias (ainda mais se&#xA;forem grandes portais de notícias. Prefiro receber as principais notícias de&#xA;forma descentralizada. Bons sites para isso incluem&#xA;&lt;a href=&#34;http://www.reddit.com/&#34;&gt;Reddit&lt;/a&gt;, &lt;a href=&#34;https://news.ycombinator.com/&#34;&gt;Hacker News&lt;/a&gt;&#xA;(@Ycombinator), &lt;a href=&#34;http://slashdot.org/&#34;&gt;Slashdot&lt;/a&gt;, &lt;a href=&#34;https://news.google.com/news&#34;&gt;Google&#xA;News&lt;/a&gt;. O último não é bem descentralizado, mas&#xA;reúne notícias diversas.&lt;/p&gt;&#xA;&lt;p&gt;8 - Gosto do &lt;a href=&#34;http://getpocket.com/a/&#34;&gt;Pocket&lt;/a&gt; para reunir coisas para ler. Veja&#xA;bem: ler tudo é &lt;strong&gt;overkill&lt;/strong&gt;, mas algumas coisas valem a pena. No entanto, mesmo&#xA;para essas últimas, nem sempre você vai querer digerir dado artigo em dado&#xA;momento, então você o guarda para ler depois, é simples.&lt;/p&gt;&#xA;&lt;p&gt;9 - Sobre redes sociais de fotos (atualmente, Instagram e Imgur, a meu ver):&#xA;deixe as fotos dessas redes &lt;strong&gt;nessas redes&lt;/strong&gt;! Isto é, não conecte a sua conta do&#xA;Instagram com a sua conta do Facebook. Os seus amigos que não estão no Instagram&#xA;provavelmente não têm nenhum interesse em ficar visualizando &lt;strong&gt;todas&lt;/strong&gt; as&#xA;selfies que você posta. Por outro lado, é razoavelmente provável que os seus&#xA;amigos &lt;strong&gt;que estão&lt;/strong&gt; no Instagram possam gostar de ver essas fotos. Então, a meu&#xA;ver, conectar o Instagram com outras redes sociais é uma forma de narcisismo.&lt;/p&gt;&#xA;&lt;p&gt;10 - Conectar o Twitter com o Facebook é uma questão a se pensar. Se você é uma&#xA;daquelas pessoas que posta centenas de Tweets por dia, não faça isso, os seus&#xA;amigos do Facebook não irão querer ler todos os seus tweets. Por outro lado, se&#xA;você só posta alguns por dia (meu caso, ao menos hoje), talvez isso seja&#xA;razoável. Não tenho certeza se é 100% razoável, porque a probabilidade de um&#xA;único tweet ser relevante é bem pequena; por outro lado, talvez o conjunto de&#xA;tweets seja relevante, tudo depende do contexto.&lt;/p&gt;&#xA;&lt;p&gt;11 - Finalmente, a &lt;strong&gt;relevância&lt;/strong&gt; das redes sociais está no conceito de&#xA;&lt;strong&gt;comunidades&lt;/strong&gt;. Se você compartilha uma coisa X que interessa à comunidade Y,&#xA;então em geral as pessoas da comunidade Y vão ficar satisfeitas com X. Por outro&#xA;lado, quando você compartilha X com todo o seu feed, é bem provável que apenas&#xA;pouquíssimas pessoas achem X relevante. Assim, acho o conceito dos círculos do&#xA;Google+ fantástico.&lt;/p&gt;&#xA;&lt;p&gt;Essa lista poderia continuar de forma indefinida, mas acho que é mais prática do&#xA;que teoria, então fico satisfeito com os itens anteriores.&lt;/p&gt;&#xA;&lt;p&gt;E para finalizar, acho que o erro do News Feed do facebook é o seguinte: ele&#xA;assume que você quer ver os updates de &lt;strong&gt;todos&lt;/strong&gt; os seus amigos. Só que existe&#xA;um problema fundamental nisso: não é só porque uma pessoa X é sua conhecida que&#xA;você necessariamente quer ver todos os updates de X. Às vezes X é um colega de&#xA;trabalho, ou de faculdade, ou um antigo amigo de escola, e você quer se manter&#xA;conectado com X, não tem problema nenhum nisso; mas, isso não quer dizer que&#xA;você queira ver os updates de X. Assim, na maior parte das vezes, um usuário&#xA;médio do Facebook acaba vendo mais coisas que não o interessam do que as que o&#xA;interessam.&lt;/p&gt;&#xA;&lt;p&gt;O modelo do Twitter, ou do Google+ (por exemplo) é ligeiramente diferente: você&#xA;só segue, por definição, quem você quer seguir – então você em suma não tem o&#xA;direito de reclamar que a pessoa está postando futilidades, afinal foi você quem&#xA;a seguiu, qualquer coisa é só dar &lt;strong&gt;unfollow&lt;/strong&gt; nela. No caso do Google+ você só&#xA;visualiza updates dos círculos que você quer (assim como só posta para os&#xA;círculos que você quer).&lt;/p&gt;&#xA;&lt;p&gt;Note que a única plataforma que não inclui nessa discussão foi &lt;strong&gt;blogs&lt;/strong&gt;.&#xA;Trato-a de maneira diferente. Quem sabe não falo sobre isso em um outro dia. Até&#xA;a próxima.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Novos paradigmas @ Redes sociais &amp; News&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/socialmedia/&#34;&gt;#socialmedia&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/serenity/&#34;&gt;#serenity&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>&#39;My setup&#39; series (aka &#39;How I do my computing&#39;)
      </title>
      <link>https://perrotta.dev/pt/2014/05/my-setup-series-aka-how-i-do-my-computing/</link>
      <pubDate>Sat, 17 May 2014 17:42:58 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <category>serenity</category>
      <guid>https://perrotta.dev/pt/2014/05/my-setup-series-aka-how-i-do-my-computing/</guid>
      <description>&lt;p&gt;♠ Alguém precisa me explicar a relação entre &amp;lsquo;ser desenvolvedor web front-end&amp;rsquo; e&#xA;&amp;rsquo;ter paixão por produtos da Apple&amp;rsquo;, sério&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;https://perrotta.dev/pt/2014/05/my-setup-series-aka-how-i-do-my-computing/#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;. Recentemente encontrei 3&#xA;excelentes sites que descrevem como algumas pessoas trabalham / utilizam seus&#xA;computadores, dentre outras coisas também. &lt;sup id=&#34;fnref1:1&#34;&gt;&lt;a href=&#34;https://perrotta.dev/pt/2014/05/my-setup-series-aka-how-i-do-my-computing/#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; é brasileiro (bacana!), &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;https://perrotta.dev/pt/2014/05/my-setup-series-aka-how-i-do-my-computing/#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&#xA;sobre usuários de Linux e &lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;https://perrotta.dev/pt/2014/05/my-setup-series-aka-how-i-do-my-computing/#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; descreve os mais variados &lt;em&gt;setups&lt;/em&gt; de muita gente&#xA;boa!&lt;/p&gt;&#xA;&lt;p&gt;Naturalmente, adicionei esses 3 sites no meu&#xA;&lt;a href=&#34;https://github.com/thiagowfx/open-bookmarks&#34;&gt;open-bookmarks&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://setup.loopinfinito.com.br/&#34;&gt;http://setup.loopinfinito.com.br/&lt;/a&gt;&amp;#160;&lt;a href=&#34;https://perrotta.dev/pt/2014/05/my-setup-series-aka-how-i-do-my-computing/#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href=&#34;https://perrotta.dev/pt/2014/05/my-setup-series-aka-how-i-do-my-computing/#fnref1:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.mylinuxrig.com/tagged/the_linux_setup/&#34;&gt;http://www.mylinuxrig.com/tagged/the_linux_setup/&lt;/a&gt;&amp;#160;&lt;a href=&#34;https://perrotta.dev/pt/2014/05/my-setup-series-aka-how-i-do-my-computing/#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:3&#34;&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://usesthis.com/interviews/&#34;&gt;http://usesthis.com/interviews/&lt;/a&gt;&amp;#160;&lt;a href=&#34;https://perrotta.dev/pt/2014/05/my-setup-series-aka-how-i-do-my-computing/#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: &#39;My setup&#39; series (aka &#39;How I do my computing&#39;)&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/serenity/&#34;&gt;#serenity&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Física 3 @ UFRJ: Sugestão de referências
      </title>
      <link>https://perrotta.dev/pt/2014/05/f%C3%ADsica-3-@-ufrj-sugest%C3%A3o-de-refer%C3%AAncias/</link>
      <pubDate>Sun, 11 May 2014 01:19:08 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>legacy</category>
      <category>serenity</category>
      <guid>https://perrotta.dev/pt/2014/05/f%C3%ADsica-3-@-ufrj-sugest%C3%A3o-de-refer%C3%AAncias/</guid>
      <description>&lt;p&gt;♠ &lt;strong&gt;OBS.: Pequeno update em 10/06/2014.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;1 - Professor Walter Lewin&lt;/strong&gt;, &lt;a href=&#34;https://twitter.com/thiagowfx/status/473999504107003905&#34;&gt;eu te&#xA;amo&lt;/a&gt;! Sugestão:&#xA;assistir essas &lt;em&gt;lectures&lt;/em&gt; como se fossem introdutórias. Não espere entender ou&#xA;dominar toda a matéria de primeira.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://ocw.mit.edu/courses/physics/8-02-electricity-and-magnetism-spring-2002/video-lectures/&#34;&gt;http://ocw.mit.edu/courses/physics/8-02-electricity-and-magnetism-spring-2002/video-lectures/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update (2015-03-22):&lt;/strong&gt; caso o link acima esteja fora do ar, tente a seguinte&#xA;&lt;em&gt;playlist&lt;/em&gt; do YouTube:&#xA;&lt;a href=&#34;https://www.youtube.com/playlist?list=PLUdYlQf0_sSsfcNOPSNPQKHDhSjTJATPu&#34;&gt;https://www.youtube.com/playlist?list=PLUdYlQf0_sSsfcNOPSNPQKHDhSjTJATPu&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;2 - Professor Luiz Brescansin:&lt;/strong&gt; eu não te amo tanto quanto o WL, mas você&#xA;também foi um ótimo professor. Sugestão: ao final dessas aulas, você já deverá&#xA;estar dominando (ou, pelo menos, saber de onde vieram as fórmulas, os&#xA;desenvolvimentos e os raciocínios) os conceitos passados.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/playlist?list=PLxI8Can9yAHdG8tw2QofrU02IuAEVyGlL&#34;&gt;https://www.youtube.com/playlist?list=PLxI8Can9yAHdG8tw2QofrU02IuAEVyGlL&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;3 - Livro do Young &amp;amp; Freedman:&lt;/strong&gt; para fixar e formalizar o conteúdo exposto&#xA;nas vídeoaulas; e também como uma fonte primária para obter um resumo das&#xA;principais fórmulas utilizadas.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;4 - Opcional:&lt;/strong&gt; Livro do Moysés: complemento para fixar ainda mais as ideias.&#xA;Recomendo não utilizá-lo caso não haja tempo suficiente.&lt;/p&gt;&#xA;&lt;p&gt;Agora, essa matéria é tão prática quanto Cálculo 3. Julgo completamente inútil&#xA;ficar só na teoria, então&amp;hellip;faça exercícios! Sugestão: a) provas antigas, b)&#xA;listas de exercícios de seu professor, c) listas de exercícios do Open Course&#xA;Ware (mesmo link do Walter Lewin), d) exercícios recomendados pelo IF do livro&#xA;do Young.&lt;/p&gt;&#xA;&lt;p&gt;&lt;del&gt;Recomendação adicional: não perca tempo estudando em grupo para essa matéria,&#xA;em particular. Ela é bem individual. &lt;em&gt;No pain, no gain&lt;/em&gt;.&lt;/del&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; faça como achar melhor.&lt;/p&gt;&#xA;&lt;p&gt;Minhas fontes prediletas para a teoria foram 1) e 3); e, para a prática: a),&#xA;parte de b) e parte de c).&lt;/p&gt;&#xA;&lt;p&gt;(Fiz um &lt;a href=&#34;https://perrotta.dev/pt/2013/12/c%C3%A1lculo-@-ufrj-sugest%C3%A3o-de-refer%C3%AAncias/&#34;&gt;post parecido com esse para os Cálculos&lt;/a&gt; da UFRJ, bem mais&#xA;detalhado que esse).&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Física 3 @ UFRJ: Sugestão de referências&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/serenity/&#34;&gt;#serenity&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenPGP
      </title>
      <link>https://perrotta.dev/pt/2014/05/openpgp/</link>
      <pubDate>Fri, 09 May 2014 13:49:00 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>legacy</category>
      <category>security</category>
      <guid>https://perrotta.dev/pt/2014/05/openpgp/</guid>
      <description>&lt;p&gt;♠ Em meu &lt;a href=&#34;https://perrotta.dev/pt/2014/04/openpgp/&#34;&gt;último post&lt;/a&gt; incluí uma porção de&#xA;referências introdutórias ao tema, que são suficientes para que você comece a&#xA;utilizar o GNUPG. Agora eu mesmo já comecei a utilizá-lo publicamente. Em suma,&#xA;as duas principais razões para se ter uma chave pública são:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Autenticação&lt;/strong&gt;: assinar (=validar) arquivos; isto é, se eu distribuir&#xA;(digamos) um software para você, e eu assiná-lo com a minha chave privada,&#xA;você poderá utilizar a minha chave pública para conferir se aquele arquivo foi&#xA;realmente assinado por mim. Caso alguém (um &lt;em&gt;man in the middle&lt;/em&gt;) pegue o meu&#xA;arquivo original e o falsifique, fazendo-o se passar por mim, você poderá&#xA;detectar que o arquivo é falso, pois a minha chave pública invalidará a&#xA;assinatura desse software. Em outras palavras: a minha chave privada (que só&#xA;eu tenho) é utilizada para assinar arquivos ou documentos; e a minha chave&#xA;pública (disponível para todos) é utilizada como um validador da minha&#xA;assinatura digital/eletrônica. Legal, né? Quer ver um exemplo? &lt;a href=&#34;https://mailman.archlinux.org/pipermail/aur-general/2014-May/028299.html&#34;&gt;*&#xA;Aqui*&lt;/a&gt;,&#xA;meu primeiro e-mail validado com a minha chave.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Criptografia&lt;/strong&gt;: se você quiser me enviar uma mensagem criptografada, basta&#xA;você utilizar a minha chave pública para criptografá-la. Desse modo, somente&#xA;eu (dono da minha chave privada) serei capaz de descriptografá-la. Da mesma&#xA;maneira, se você me enviar a sua chave pública, eu poderei enviar uma mensagem&#xA;criptografada para você (e somente você, com a sua chave privada, poderá&#xA;descriptografá-la).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Essas razões não parecem importantes o suficiente para você? Veja bem, estamos&#xA;entrando cada vez mais numa era (se é que já não entramos nela)&#xA;predominantemente digital. Proteger a autenticidade e a privacidade do que&#xA;postamos na rede é algo que vai adquirir cada vez mais importância.&#xA;Naturalmente, ninguém vai assinar um post no facebook ou no twitter, isso é&#xA;exagero (Será mesmo? Talvez daqui a uns anos não seja mais).&lt;/p&gt;&#xA;&lt;p&gt;Mas eu acredito que toda corporação decente deveria incentivar os seus&#xA;funcionários a enviar mensagens assinadas com suas chaves pessoais. Mais do que&#xA;isso, toda corporação deveria ter um modelo de &lt;strong&gt;Web of Trust&lt;/strong&gt; com todas as&#xA;chaves de seus funcionários. Não se trata de paranoia ou de super proteger&#xA;informações as quais não valem tanto esforço de serem super protegidas, mas é um&#xA;passo básico na direção da privacidade moderna! O OpenPGP foi criado em 1991&#xA;(&lt;a href=&#34;https://en.wikipedia.org/wiki/OpenPGP#OpenPGP&#34;&gt;referência&lt;/a&gt;), agora estamos em&#xA;2014, será que isso é demais?&lt;/p&gt;&#xA;&lt;p&gt;Vou lançar um &lt;strong&gt;desafio&lt;/strong&gt;: me envie uma mensagem criptografada com a &lt;a href=&#34;http://pgp.mit.edu/pks/lookup?op=vindex&amp;amp;search=0x755D25D2A905373C&#34;&gt;minha&#xA;chave&#xA;pública&lt;/a&gt;! Se&#xA;quiser, envie nessa mensagem também a sua própria chave pública, assim eu posso&#xA;te responder (também) de modo criptografado. Os links do meu &lt;a href=&#34;https://perrotta.dev/pt/2014/04/openpgp/&#34;&gt;post anterior&lt;/a&gt; são suficientes para você aprender como fazer&#xA;isso. Eu espero que você se surpreenda com isso, muita gente boa troca mensagens&#xA;assim.&lt;/p&gt;&#xA;&lt;p&gt;Se eu receber pelo menos um e-mail, vou considerar escrever mais coisas a&#xA;respeito de OpenPGP.&lt;/p&gt;&#xA;&lt;p&gt;Além disso, espero criar as minhas próprias carteiras digitais {bitcoin,&#xA;litecoin, dogecoin} em breve. Naturalmente, seguidas de posts de divulgação&#xA;sobre elas!&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Happy GPG&amp;rsquo;ing!&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: confundir PGP e GPG é algo bastante comum. Acho que já aprendi a&#xA;diferença, ao menos não cometi nenhum erro nesse post sobre isso (no post&#xA;anterior eu cometi&amp;hellip;). O nome bonito da coisa é OpenPGP; gpg é o comando (no&#xA;linux) que a gente usa para gerenciar as chaves. GPG vem de &amp;ldquo;GNU Privacy&#xA;Guard&amp;rdquo;).&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: OpenPGP&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/security/&#34;&gt;#security&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Redesign do blog
      </title>
      <link>https://perrotta.dev/pt/2014/05/redesign-do-blog/</link>
      <pubDate>Fri, 09 May 2014 12:47:00 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>legacy</category>
      <category>meta</category>
      <guid>https://perrotta.dev/pt/2014/05/redesign-do-blog/</guid>
      <description>&lt;p&gt;♠ Acabei de remover várias features inúteis / bloated para esse blog. Por&#xA;exemplo, removi todas as categorias: agora só existem tags. Além do mais,&#xA;retirei vários widgets que ninguém utilizava. E, finalmente, mudei o tema!&#xA;Espero que gostem do novo formato.&lt;/p&gt;&#xA;&lt;p&gt;A inspiração veio do Jekyll, que é uma blogging engine simples porém elegante.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Redesign do blog&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/meta/&#34;&gt;#meta&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>(Re)formatando um pen-drive (@ Linux)
      </title>
      <link>https://perrotta.dev/pt/2014/05/reformatando-um-pen-drive-@-linux/</link>
      <pubDate>Wed, 07 May 2014 23:07:11 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/05/reformatando-um-pen-drive-@-linux/</guid>
      <description>&lt;p&gt;♠ &lt;strong&gt;Motivação:&lt;/strong&gt; toda vez que insiro um pen-drive em um computador com Windows da&#xA;faculdade, pego um vírus. &lt;strong&gt;SEMPRE&lt;/strong&gt;. Incrível. Naturalmente, a opção mais óbvia&#xA;para se livrar disso é inserindo o pen-drive em um outro Windows e ativando a&#xA;opção para formatar o pen-drive.&lt;/p&gt;&#xA;&lt;p&gt;Só existem dois probleminhas com essa &amp;ldquo;solução&amp;rdquo;. A primeira é que, ao inserir o&#xA;pen-drive nesse outro computador, você estará automaticamente infectando esse&#xA;computador. Na verdade, a coisa toda se parece com um vírus não-virtual mesmo:&#xA;bastou entrar em contato, infectou o novo organismo. Os seus únicos potenciais&#xA;anticorpos são: a) utilizar um outro sistema não compatível com o Windows ou b)&#xA;desativar a opção de &lt;em&gt;autorun&lt;/em&gt; de novas mídias no Windows em que o pen-drive for&#xA;inserido. O problema é que essa opção está quase sempre ativada, e ninguém se&#xA;lembra de desativá-la (ou não se importa, porque não é algo muito prático para&#xA;quem quer fazer uma simples apresentação de apenas alguns minutos!).&lt;/p&gt;&#xA;&lt;p&gt;O segundo é que, mesmo que você formate o pen-drive, alguns instantes depois o&#xA;vírus se recopiará para o mesmo. Ou seja, você só teria formatado por meros&#xA;instantes&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Claro, a melhor forma de atacar isso é começando por rodar um anti-vírus no&#xA;Windows originalmente infectado, mas isso foge do escopo desse post.&lt;/p&gt;&#xA;&lt;p&gt;Vou expor aqui uma forma de recuperar o pen-drive a partir do Linux. Recuperar,&#xA;nesse contexto, significa simplesmente formatá-lo: recriar o sistema de&#xA;arquivos. Só isso.&lt;/p&gt;&#xA;&lt;p&gt;Gostaria de destacar que existem boas chances de existir uma forma de fazer o&#xA;que eu vou listar a seguir através de um programa com interface gráfica&#xA;(exemplo: &lt;strong&gt;gparted&lt;/strong&gt;). No entanto, vou me ater à linha de comando, porque é uma&#xA;forma que vai sempre funcionar, e que é confiável (talvez não seja&#xA;necessariamente fácil, mas isso é outra história).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Etapas – atenção! Recomendo que leia tudo antes de testar em seu próprio&#xA;dispositivo. Se você utilizar esses documentos no disco errado, vai perder os&#xA;arquivos desse disco. Apenas atenção!:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;1 - Obtenha uma máquina com Linux, abra um emulador de terminal, e insira o&#xA;pen-drive.&lt;/p&gt;&#xA;&lt;p&gt;2 - Certifique-se que o Pen-drive foi reconhecido pelo sistema. Para isso, você&#xA;deverá checar os discos da forma /dev/sdX, onde X é uma única letra, como por&#xA;exemplo /dev/sda, /dev/sdb/, /dev/sdc. Usualmente o primeiro disco da máquina (o&#xA;/dev/sda) é o que está rodando o sistema. Então, atenção: **praticamente nunca o&#xA;pen-drive vai ser o /dev/sda.**Note que a palavra &lt;strong&gt;disco&lt;/strong&gt;, nesse contexto,&#xA;significa (em geral): Disco Rígido (HD), SSD, Pen-Drive, Cartão SD, &amp;hellip; ou seja,&#xA;praticamente qualquer dispositivo moderno de armazenamento de dados.&lt;/p&gt;&#xA;&lt;p&gt;2.1 - Como checar os discos? Rode o comando&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;sudo fdisk -l&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;É necessário um pouco de bom-senso. Geralmente você sabe a capacidade do seu&#xA;pen-drive (digamos, 4GB); portanto, procure o dispositivo que indicar 4GB. Se&#xA;você estiver na dúvida, retire o pen-drive, rode esse comando novamente, então&#xA;recoloque o pen-drive e rode esse comando mais uma vez: agora compare qual disco&#xA;apareceu dessa vez.&lt;/p&gt;&#xA;&lt;p&gt;3 - Vou supor que o pen-drive é o /dev/sdX. **Atenção! Utilize essa linha de&#xA;comando para a letra que é correta para você.**Agora, rode&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;sudo cfdisk /dev/sdX&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Provavelmente você só possui uma partição alocada, do tipo FAT32. Eu recomendo&#xA;deletar essa partição e criar uma nova. Isso deve ser intuitivo, apenas siga a&#xA;interface. Depois de criar a nova partição, usualmente ela vai ter algum sistema&#xA;de arquivos que tem a ver com o Linux. Nesse caso, é necessário mudar o tipo do&#xA;sistema de arquivos (procure a opção &amp;ldquo;type&amp;rdquo;, ou similar) para FAT32. NTFS também&#xA;é uma opção, mas eu realmente recomendo colocar FAT32: é o que o próprio windows&#xA;seleciona (geralmente)!&lt;/p&gt;&#xA;&lt;p&gt;Se você fez isso direitinho, agora procure a opção &amp;ldquo;write&amp;rdquo; para gravar as&#xA;mudanças realizadas. Se você NÃO FEZ isso direito e, por algum motivo, se&#xA;enrolou ou não encontrou dada opção, então procure &amp;ldquo;cancel&amp;rdquo;. Se você cancelar,&#xA;nada do que você fez foi gravado em disco, então é como se você nunca tivesse&#xA;rodado o comando &lt;strong&gt;cfdisk&lt;/strong&gt;, pode ficar tranquilo.&lt;/p&gt;&#xA;&lt;p&gt;4 - Agora que recriamos o nosso sistema de arquivos FAT32, devemos criá-lo&#xA;efetivamente! OK, perdão pela minha terminologia. É o seguinte: na etapa&#xA;anterior, &lt;strong&gt;indicamos&lt;/strong&gt; que o sistema de arquivos é FAT32 (ou NTFS, depende de&#xA;você). Agora vamos &lt;strong&gt;alocar&lt;/strong&gt; esse sistema de arquivos &lt;strong&gt;efetivamente&lt;/strong&gt;. O&#xA;comando típico é o seguinte:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;sudo mkfs.ntfs -L &amp;#34;MEULABEL&amp;#34; /deb/sdX1&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;sudo mkfs.vfat /dev/sdX1&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Qual você vai usar? Depende se você escolheu FAT32 ou NTFS. Para especificar um&#xA;label no caso de ter escolhido FAT32, utilize o comando&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;sudo fatlabel /dev/sdX1 &amp;#34;MEULABEL&amp;#34;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Sobre a numeração, /dev/sdX1, /dev/sdX2, etc, se referem às partições do disco&#xA;/dev/sdX. No caso, eu assumi que você só criou uma única partição (o que é o&#xA;comum em pen-drives), então você vai utilizar /dev/sdX1 mesmo.&lt;/p&gt;&#xA;&lt;p&gt;Bom, é isso! Se você seguiu as etapas corretamente, o seu pen-drive estará&#xA;formatado, livre do vírus. Não o insira na mesma máquina que o infectou, senão&#xA;você vai ter que formatá-lo novamente.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: (Re)formatando um pen-drive (@ Linux)&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kernel Panic, uma história de amor, parte ????
      </title>
      <link>https://perrotta.dev/pt/2014/05/kernel-panic-uma-hist%C3%B3ria-de-amor-parte/</link>
      <pubDate>Tue, 06 May 2014 23:36:13 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <category>serenity</category>
      <guid>https://perrotta.dev/pt/2014/05/kernel-panic-uma-hist%C3%B3ria-de-amor-parte/</guid>
      <description>&lt;p&gt;♠ É, meus amigos, a minha (longa) jornada de exploração do mundo Linux Desktop&#xA;está praticamente chegando ao fim. Pessoalmente, já explorei tudo o que eu&#xA;queria. Foram 2 longos anos, e acredito que eu tenha atingido um nível de&#xA;maturidade razoavelmente bom, a ponto de recomendar a outras pessoas que se&#xA;interessam por TI fazerem o mesmo que eu fiz. Felizmente, várias (mas,&#xA;infelizmente, não todas) das minhas etapas ao longo dessa jornada estão&#xA;registradas (às vezes, documentadas também!) nesse blog.&lt;/p&gt;&#xA;&lt;p&gt;OBS.: estou escrevendo esse post sem absolutamente nenhum link e nenhum tipo de&#xA;marcação (negrito, etc), isso é proposital.&lt;/p&gt;&#xA;&lt;p&gt;O desafio final, necessário para o meu diploma autodidata, foi adiado o máximo&#xA;possível. Sim, ele é exatamente isso que você está pensando: testar o Gentoo.&#xA;Hoje o meu Grub possui entradas tanto do Arch quanto do Gentoo. Vou adiantar uma&#xA;coisa: a entrada do Gentoo é temporária. Assim que eu terminar de explorar todas&#xA;as features que parecerem interessantes de uma distro baseada em código-fonte,&#xA;do portage, do eix, equery, masks, slots, OpenRC, e mais todas as&#xA;características peculiares do Gentoo, vou me desfazer dele.&lt;/p&gt;&#xA;&lt;p&gt;Vale a pena dedicar pelo menos um parágrafo para falar sobre o porquê disso. Vai&#xA;ser só um, prometo. Desde o meu primeiro dia com Linux (com nada menos&#xA;que&amp;hellip;Ubuntu! É, já falei disso aqui várias vezes), eu percebi que iria gostar&#xA;muito daquilo. Daquilo o quê? Tanto do design da coisa, quanto das comunidades,&#xA;de outras pessoas que também eram entusiastas por aquele design. Assim, tentei&#xA;me envolver com a comunidade do Ubuntu. Cadastrei-me no Launchpad, no fórum&#xA;Ubuntu-BR, no fórum oficial do Ubuntu (em inglês), tentei acessar o IRC do&#xA;&lt;code&gt;#ubuntu&lt;/code&gt;, ixi, foram várias coisas desse tipo. Fiquei um tempo fazendo isso. Mas&#xA;não me senti 100% à vontade. Por quê? Porque parecia algo não muito natural. Não&#xA;era algo com que eu chegasse um fim de semana e estivesse super animado e&#xA;entusiasmado para postar no fórum do Ubuntu, não mesmo.&lt;/p&gt;&#xA;&lt;p&gt;Ops, cá estou eu quebrando minha promessa e criando outro parágrafo&amp;hellip;daí, eu&#xA;decidi partir para outra, fui para o mundo do KDE, tentei fazer parte da&#xA;comunidade deles, etc, etc, ficou esse ciclo, e depois testei uma distro atrás&#xA;da outra, valendo destacar que também tentei participar da comunidade do&#xA;openSUSE e do Fedora.&lt;/p&gt;&#xA;&lt;p&gt;Só que existia um problema, nada disso parecia certo, nada disso parecia feliz,&#xA;natural. Parecia só uma modinha. Ah, um usuário de Linux novo, se juntar com a&#xA;comunidade. Tem um monte de wannabes por aí, colocando em seus blogs pessoais&#xA;vários símbolos de coisas relacionadas a open source e distros de Linux&#xA;(ops&amp;hellip;eu sou um deles???). Sabe qual é o problema? O problema é quando você&#xA;inclui essas coisas sem sequer saber sobre o significado delas direito. Quando&#xA;você tem uma pressão interna para colocar um símbolo do (digamos) Ubuntu&#xA;relacionado a você, mas você mal sabe o que é o Ubuntu, com a maior parte da sua&#xA;experiência limitando-se apenas usar o sistema.&lt;/p&gt;&#xA;&lt;p&gt;Uma das coisas que eu aprendi, um dos significados mais importantes e mais&#xA;(permita-me dizer) belos sobre esse mundo, é o significado de: COMUNIDADES.&#xA;Comunidades são uma coisa bastante complexa mas, uma vez que você entende o&#xA;propósito, a motivação, e o objetivo por trás de uma, tudo se torna&#xA;infinitamente mais fácil, e você passa automaticamente a entender sobre todas as&#xA;comunidades. Em outras palavras: conheça bem uma comunidade, e você conhecerá&#xA;todas!&lt;/p&gt;&#xA;&lt;p&gt;A questão foi: depois de passar por todas aquelas comunidades de distros que&#xA;citei, e ter detestado isso tudo, de maneira frustrada, chegou um certo dia que&#xA;eu conheci a comunidade certa PARA MIM. É óbvio que eu estou falando da&#xA;comunidade do Arch Linux. Se a comunidade do Arch é perfeita? Para mim, é! Mas,&#xA;note que a resposta para &amp;ldquo;X é perfeito?&amp;rdquo; é relativa, e depende do referencial.&#xA;Perfeita para quem? Continuando com esse exemplo, para a maior parte das pessoas&#xA;que eu conheço, o Arch é uma das piores comunidades que você tem para&#xA;participar. Você tem que correr atrás para interagir com os outros membros (isto&#xA;é, ninguém vai fazer nada por você se você próprio não se esforçar), ela é&#xA;fortemente baseada em meritocracia (quanto mais você colaborar, mais os outros&#xA;membros vão reconhecer o seu valor dentro da comunidade. Nem todas são assim. Em&#xA;alguns lugares, o mais rico é o mais foda. Ou, quem tem as melhores redes de&#xA;contatos. Ou, quem dedica mais tempo (não necessariamente mais contribuições)&#xA;para a comunidade. Cada comunidade tem a sua própria forma de atribuir valores a&#xA;si mesma!), em manter as coisas simples e evitar complexidades e firulas&#xA;desnecessárias (o que, por exemplo, muitas vezes acaba com o conceito de &amp;ldquo;ser&#xA;fácil de usar de primeira&amp;rdquo;, o que é claramente ruim para muita gente).&lt;/p&gt;&#xA;&lt;p&gt;Ah, enfim, quanto uma comunidade é bem definida, os seus valores são bem&#xA;definidos. Para o Arch, existe o &amp;ldquo;Arch Way&amp;rdquo;, para o Ubuntu, &amp;ldquo;Ubuntu code of&#xA;conduct&amp;rdquo;, para o Fedora, &amp;ldquo;core values&amp;rdquo;. Para o seu grupo de amigos (que também&#xA;forma uma comunidade!), talvez preferir pizza de Pepperonni (escrevi certo?) e&#xA;torcer para o time XXX de futebol (sorry, me recuso a citar qualquer time de&#xA;futebol brasileiro nesse espaço) sejam os valores da sua comunidade e, em&#xA;princípio, não há problema nenhum nisso!&lt;/p&gt;&#xA;&lt;p&gt;Muito bem, vamos voltar a ter foco no tema do post (se é que ele tem um). Eu ia&#xA;escrever 3 posts separados, um falando sobre comunidades, um falando sobre o&#xA;Arch e sobre o Gentoo, e o outro falando sobre um pouco de tudo, mas acabou que&#xA;ficou tudo misturado aqui.&lt;/p&gt;&#xA;&lt;p&gt;Sobre comunidades, uma das coisas que eu considero um MUST DO para qualquer&#xA;pessoa, é ler o sensacional &amp;ldquo;The art of community&amp;rdquo;, do Jono Bacon (eu disse que&#xA;não vou indicar links, faça seu dever de casa e pesquise, caso se interesse).&#xA;Esse livro está disponível sob a Creative Commons, então você pode baixá-lo&#xA;gratuitamente. Jono Bacon é o atual Community Manager do Ubuntu, ele é&#xA;responsável por gerenciar uma boa parte da comunidade do Ubuntu, e de assegurar&#xA;que os interesses da Canonical estejam mais ou menos congruentes aos da&#xA;comunidade do Ubuntu. Ele também é um dos atuais hosts do Bad Voltage, um&#xA;podcast que gosto bastante.&lt;/p&gt;&#xA;&lt;p&gt;Enfim, o negócio desse livro é que ele é uma lição de política, de comunidades,&#xA;de interação, de gestão, de (&amp;hellip;), AH, de tudo. Um livro perfeito para se ler em&#xA;um ano de eleições, mostra o quão falha é a gestão do nosso Brasil. E também o&#xA;quanto algumas empresas desse mesmo país estão fadadas ao fracasso.&#xA;Naturalmente, essas são conclusões que uma leitura atenta lhe permite tirar.&lt;/p&gt;&#xA;&lt;p&gt;Depois que li esse livro e refleti sobre a minha tentativa por procurar a&#xA;&amp;ldquo;comunidade perfeita&amp;rdquo;, percebi que tudo isso se relacionava e fazia completo&#xA;sentido. Encontrar uma comunidade da qual você se sinta parte é uma sensação&#xA;muito boa!&lt;/p&gt;&#xA;&lt;p&gt;Agora, já que eu estou falando de fazer parte, vale dizer outra coisa. O que é&#xA;preciso para fazer parte de uma comunidade? Há algumas que possuem os seus&#xA;métodos oficiais. &amp;ldquo;Fedora Ambassor&amp;rdquo; (acho que se escreve assim) é um exemplo de&#xA;badge oficial. Só vou dizer uma coisa sobre isso: existe uma vibe muito grande&#xA;de pseudocults e de pseudo community members nessa área (nessa = não me refiro&#xA;ao Fedora, não! Me refiro aos badges e tudo o mais). Pessoas que só querem um&#xA;badge de certa comunidade, mas que não sabem nem um pouco sobre a mesma, mas só&#xA;querem participar da organização para se promoverem, e ganharem algum nome,&#xA;aproveitando-se da reputação da organização. Bom, felizmente me orgulho de dizer&#xA;que na comunidade do Arch não existe a possibilidade disso acontecer,&#xA;simplesmente porque não há badges (bem, só em torno de umas 100 pessoas possuem&#xA;esses badges, então na prática é como se não houvesse; essas pessoas são os&#xA;usuários confiáveis (&amp;ldquo;trusted users&amp;rdquo;) e mais outros, que contribuem DIRETAMENTE&#xA;para a manutenção da distro): a forma de você se envolver com a comunidade é se&#xA;envolvendo, e pronto. Não existe nenhum selo para ser exibido. A vantagem disso&#xA;é que pseudocults usualmente desistem fácil de comunidades desse jeito: ora&#xA;bolas, o objetivo é acumular badges, e não participar da comunidade em si.&#xA;Resumindo: participa quem quer, quando quer, PORQUE quer. Quer o quê? Ver a&#xA;comunidade crescer, evoluir, e se interagir cada vez mais! Sem selos.&lt;/p&gt;&#xA;&lt;p&gt;O parágrafo anterior foi fortemente baseado no livro do Bacon, mas OK. Um resumo&#xA;mal feito, verdade. Quando um livro é sensacional, qualquer resumo dele é mal&#xA;feito, não tem como. Nada substitui o conteúdo original do livro.&lt;/p&gt;&#xA;&lt;p&gt;OK, se você ainda está lendo isso, ou você está curioso para ver onde esse post&#xA;vai dar, ou talvez você tenha um espírito puro em relação a comunidades e não&#xA;seja pseudocult, portanto. Talvez você ainda esteja procurando a sua comunidade&#xA;perfeita. Enfim, você é especial, porque a maioria das pessoas já ficam de saco&#xA;cheio logo nos primeiros parágrafos desse texto xDD, aprendi a fazer isso com a&#xA;comunidade do Arch, viu como aprendemos coisas?&lt;/p&gt;&#xA;&lt;p&gt;Mas, voltando a falar sério: essa é a minha terceira versão de um texto que eu&#xA;sempre quis escrever, de algo que eu sempre quis expressar. As duas primeiras&#xA;versões nunca foram publicadas, estão bagunçadas demais. Essa também está, mas&#xA;está bem menos, acredite. E, mesmo que eu escrevesse 10 vezes, continuaria&#xA;assim, sabe por quê? Porque quando tentamos falar de modo perfeito de algo no&#xA;qual acreditamos e de que somos entusiasmados, não tem como não misturar&#xA;sentimentos e pensamentos pessoais com o fluxo do texto. Isso só mostra que esse&#xA;tema é algo realmente bastante especial para você.&lt;/p&gt;&#xA;&lt;p&gt;Mas, muito bem, essa parte foi um pouco (muito!?) filosófica. Vou escrever uma&#xA;outra parte, comparando o Gentoo ao Arch e, nessa, prometo que vou ser mais&#xA;objetivo. Além disso, existe uma possibilidade de que eu poste uma continuação&#xA;para esse post, com mais filosofia. Se você tiver curiosidade em ver os dois&#xA;primeiros rascunhos para esse post (uma bagunça&amp;hellip;), deixe-me saber disso.&lt;/p&gt;&#xA;&lt;p&gt;Até a próxima. E, vou reforçar: o meu conteúdo sobre Linux está em breve&#xA;chegando ao fim. Quer dizer, não sobre Linux, mas sobre Linux Desktop. Realmente&#xA;foi uma jornada bastante legal, mas eu vou me mover para outras áreas agora.&#xA;Qual? Muito possivelmente: ou redes/servidores/essas coisas, ou teoria de&#xA;linguagens de programação e de compiladores. Existem outras possibilidades, mas&#xA;essas são as mais prováveis. E, é claro, sempre tem um pedaço da maratona de&#xA;programação, mas sobre isso você sabe que eu escrevo em outro lugar.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Kernel Panic, uma história de amor, parte ????&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/serenity/&#34;&gt;#serenity&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenPGP
      </title>
      <link>https://perrotta.dev/pt/2014/04/openpgp/</link>
      <pubDate>Sat, 26 Apr 2014 16:21:00 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>legacy</category>
      <category>privacy</category>
      <category>security</category>
      <guid>https://perrotta.dev/pt/2014/04/openpgp/</guid>
      <description>&lt;p&gt;♠ Resolvi tomar mais um passo em direção à minha privacidade e segurança, passo&#xA;esse que deveria ter tomado faz bastante tempo. Não é um passo secreto; se&#xA;fosse, então esse post não existiria, naturalmente. Estou falando de &lt;a href=&#34;https://en.wikipedia.org/wiki/Pretty_Good_Privacy&#34;&gt;PGP&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Esse post serve para mostrar que isso existe (afinal, nem todos estão cientes&#xA;sobre isso) e para deixar uma coleção de links que podem ser úteis para quem&#xA;quiser ler mais sobre isso ou, até mesmo, entrar nesse mundo.&lt;/p&gt;&#xA;&lt;p&gt;Gostaria de ressaltar que esse assunto não é algo que eu considero trivial, nem&#xA;que possa ser aprendido em um único dia. Existem vários conceitos de segurança e&#xA;de criptografia envolvidos nisso. No entanto, acho que isso faz alguém que se&#xA;importe com TI em geral aumentar a sua maturidade em relação a segurança.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;You should keep your private master key very, very safe. However, keeping all&#xA;your keys extremely safe is inconvenient: every time you need to sign a new&#xA;package upload, you need to copy the packages onto suitable portable media, go&#xA;into your sub-basement, prove to the armed guards that you&amp;rsquo;re you by using&#xA;several methods of biometric and other identification, go through a deadly maze,&#xA;feed the guard dogs the right kind of meat, and then finally open the safe, get&#xA;out the signing laptop, and sign the packages. Then do the reverse to get back&#xA;up to your Internet connection for uploading the packages.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;(retirado da wiki do debian)&lt;/p&gt;&#xA;&lt;h2 id=&#34;links&#34;&gt;&#xA;  Links&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/04/openpgp/#links&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://straightedgelinux.com/blog/howto/setupgnupg.html&#34;&gt;http://straightedgelinux.com/blog/howto/setupgnupg.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.pgpi.org/doc/pgpintro/&#34;&gt;http://www.pgpi.org/doc/pgpintro/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.pgp.net/pgpnet/pgp-faq/pgp-faq-security-questions.html&#34;&gt;http://www.pgp.net/pgpnet/pgp-faq/pgp-faq-security-questions.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://pgp.mit.edu/&#34;&gt;http://pgp.mit.edu/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.void.gr/kargig/blog/2013/12/02/creating-a-new-gpg-key-with-subkeys/&#34;&gt;https://www.void.gr/kargig/blog/2013/12/02/creating-a-new-gpg-key-with-subkeys/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://wiki.debian.org/Subkeys&#34;&gt;https://wiki.debian.org/Subkeys&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://keyring.debian.org/creating-key.html&#34;&gt;http://keyring.debian.org/creating-key.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.iusmentis.com/technology/encryption/pgp/pgpattackfaq/&#34;&gt;http://www.iusmentis.com/technology/encryption/pgp/pgpattackfaq/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://wiki.archlinux.org/index.php/GnuPG&#34;&gt;https://wiki.archlinux.org/index.php/GnuPG&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://we.riseup.net/riseuplabs&amp;#43;paow/openpgp-best-practices&#34;&gt;https://we.riseup.net/riseuplabs+paow/openpgp-best-practices&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;OBS.: ainda não utilizo a minha chave de maneira pública. &lt;strong&gt;Em breve&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: OpenPGP&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/privacy/&#34;&gt;#privacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/security/&#34;&gt;#security&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Os servidores de DNS da Net/Virtua foram hackeados
      </title>
      <link>https://perrotta.dev/pt/2014/04/os-servidores-de-dns-da-net/virtua-foram-hackeados/</link>
      <pubDate>Sat, 26 Apr 2014 12:00:00 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/04/os-servidores-de-dns-da-net/virtua-foram-hackeados/</guid>
      <description>&lt;p&gt;♠ Se você é usuário da NET, tome MUITO CUIDADO se, ao digitar um link no seu&#xA;navegador predileto, você se deparar com uma página falsa do Flash Player. &lt;strong&gt;NÃO&#xA;CLIQUE EM NADA!!&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Isso não acontece só para o site do facebook, acontece para outros sites também.&#xA;Mas não acontece para todas as páginas. No meu caso, quando não acontece para&#xA;algumas páginas, é porque o servidor de DNS utilizado para consulta é algum&#xA;outro.&lt;/p&gt;&#xA;&lt;p&gt;O motivo dessa página estar aparecendo é que &lt;strong&gt;o DNS da Net foi hackeado&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;O servidor 201.6.4.116 é um dos servidores DNS da Net, e o 8.8.8.8 (assim como o&#xA;8.8.4.4) são servidores DNS do Google. Se fizermos uma consulta de DNS no&#xA;domínio &lt;code&gt;www.google.com&lt;/code&gt; com o servidor de DNS da Net, e depois com o servidor&#xA;de DNS do Google, vemos que esses dois resultados são diferentes. Motivo? &lt;strong&gt;A&#xA;DROGA DO SERVIDOR DE DNS DA NET FOI HACKEADO!!!&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Notem que o servidor 206.190.150.21 (que o servidor de DNS da Net diz ser o&#xA;endereço do Google) é, justamente, o servidor de origem daquele arquivo .zip&#xA;malicioso.&lt;/p&gt;&#xA;&lt;h2 id=&#34;recomendação&#34;&gt;&#xA;  Recomendação&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/04/os-servidores-de-dns-da-net/virtua-foram-hackeados/#recomenda%c3%a7%c3%a3o&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Em primeiro lugar, se você ver a página acima do Flash Player, &lt;strong&gt;feche-a&#xA;imediatamente, NÃO CLIQUE EM NADA!!&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Segundo, mude os seus servidores de DNS para os do Google (8.8.4.4) e (8.8.8.8)&#xA;o mais rápido possível, e então reinicie o seu computador (reiniciar a rede&#xA;basta, mas só para garantir).&lt;/p&gt;&#xA;&lt;h3 id=&#34;linux-networkmanager&#34;&gt;&#xA;  Linux (NetworkManager)&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/04/os-servidores-de-dns-da-net/virtua-foram-hackeados/#linux-networkmanager&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Supondo que você usa NetworkManager (provavelmente, é o default do Ubuntu se não&#xA;me engano), crie um arquivo&#xA;&lt;code&gt;/etc/NetworkManager/dispatcher.d/use-my-custom-dns.sh&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash&#xA;cp -f /etc/resolv.conf.custom /etc/resolv.conf&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;E depois crie outro arquivo &lt;code&gt;/etc/resolv.conf.custom&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;# Google&amp;#39;s DNS&#xA;nameserver 8.8.8.8&#xA;nameserver 8.8.4.4&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;E então reinicie o NetworkManager (se você não sabe como fazer isso, a melhor&#xA;forma é reiniciando o computador).&lt;/p&gt;&#xA;&lt;p&gt;Ao reiniciá-lo, verifique o conteúdo do arquivo &lt;code&gt;/etc/resolv.conf&lt;/code&gt;. Ele deve ser&#xA;exatamente igual ao &lt;code&gt;/etc/resolv.conf.custom&lt;/code&gt; anterior que criamos.&lt;/p&gt;&#xA;&lt;h3 id=&#34;outros-sistemas-operacionais&#34;&gt;&#xA;  Outros sistemas operacionais&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/04/os-servidores-de-dns-da-net/virtua-foram-hackeados/#outros-sistemas-operacionais&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Se você for usuário Windows, pesquise como fazer isso.&lt;/p&gt;&#xA;&lt;p&gt;Se tudo estiver OK, eu recomendaria que vocês deletassem a cache (e tudo o mais)&#xA;dos seus navegadores, e então &lt;strong&gt;provavelmente&lt;/strong&gt; vocês estarão seguros. Pelo&#xA;menos enquanto o DNS do Google não for hackeado também&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: Se você for usuário do Chromium/Chrome, além de mudar o seu DNS e&#xA;deletar a sua sessão (Ctrl + Shift + Delete), assegure-se de que a URL&#xA;&lt;code&gt;chrome://net-internals/#dns&lt;/code&gt; esteja OK. Na dúvida, clique em &amp;ldquo;Clear host&#xA;cache&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Os servidores de DNS da Net/Virtua foram hackeados&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emacs, I just love you
      </title>
      <link>https://perrotta.dev/pt/2014/04/emacs-i-just-love-you/</link>
      <pubDate>Thu, 24 Apr 2014 22:08:00 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/04/emacs-i-just-love-you/</guid>
      <description>&lt;p&gt;♠ Hoje, dois anos depois de ouvir falar desse aparentemente simples, comum e&#xA;mundano editor de texto, agora ele faz parte do meu ambiente de forma&#xA;intrínseca.&lt;/p&gt;&#xA;&lt;p&gt;Algumas ferramentas de que gosto:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;org-mode&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;org2blog (comecei a usar hoje!!)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;yasnippet (comecei a usar hoje!!)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;emacs –daemon (comecei a usar hoje!!)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;magit (para controlar repositórios)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;dired (gerenciador de arquivos dentro do emacs)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;helm – ferramentas do emacs integradas entre si&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;my-favorite-programming-language&lt;/code&gt;-mode&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;web-mode: para arquivos em html/css/javascript (em geral)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;markdown-mode (!!!!)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;E tantas outras…&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Emacs, I just love you&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>i3lock-wrapper PKGBUILD
      </title>
      <link>https://perrotta.dev/pt/2014/04/i3lock-wrapper-pkgbuild/</link>
      <pubDate>Mon, 21 Apr 2014 17:42:45 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/04/i3lock-wrapper-pkgbuild/</guid>
      <description>&lt;p&gt;♠ Após ler os logs da aula de PKGBUILD, me senti inspirado para melhorar mais um&#xA;&lt;a href=&#34;https://aur.archlinux.org/packages/i3lock-wrapper/&#34;&gt;PKGBUILD&lt;/a&gt; que resolvi&#xA;manter recentemente.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: i3lock-wrapper PKGBUILD&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dota 2 @ Linux
      </title>
      <link>https://perrotta.dev/pt/2014/04/dota-2-@-linux/</link>
      <pubDate>Sun, 20 Apr 2014 22:15:34 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/04/dota-2-@-linux/</guid>
      <description>&lt;p&gt;♠ Nesse post: configurando o Linux para ter um bom desempenho no Dota 2 no Steam.&lt;/p&gt;&#xA;&lt;p&gt;1 - Utilizar as seguintes flags para lançar o jogo:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-plaintext&#34;&gt;-console -novid -noborder -high -autoconfig -nomousegrab&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Fonte:&#xA;&lt;a href=&#34;http://dota2.gamepedia.com/Launch_Options&#34;&gt;http://dota2.gamepedia.com/Launch_Options&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Depois de lançá-lo pela primeira vez com o &lt;em&gt;autoconfig&lt;/em&gt;, vá nas opções de vídeo&#xA;e coloque tudo na menor qualidade possível (menos qualidade ==&amp;gt; mais&#xA;desempenho). Depois, retire a flag de autoconfig.&lt;/p&gt;&#xA;&lt;p&gt;2 - Recomendo habilitar cl_showfps 1 no console. Esse console é o de dentro do&#xA;jogo, o atalho default para acessá-lo é a contrabarra, mas eu mudei para o&#xA;apóstrofo/aspas simples, porque a contrabarra não estava funcionando aqui. Você&#xA;pode mudar o atalho nas configurações das hotkeys. Consegui um fps entre 30 e 50&#xA;(variando loucamente).&lt;/p&gt;&#xA;&lt;p&gt;Fonte com outros comandos no console: &lt;a href=&#34;http://dota2.gamepedia.com/List_of_Console_Commands&#34;&gt;http://dota2.gamepedia.com/List_of_Console_Commands&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;3 - Se a sua placa de vídeo for Intel (exemplo: Intel Graphics HD 4000), crie um&#xA;arquivo &lt;code&gt;~/.drirc&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;p&gt;Fonte:&#xA;&lt;a href=&#34;https://github.com/thiagowfx/dotfiles/blob/master/.drirc&#34;&gt;https://github.com/thiagowfx/dotfiles/blob/master/.drirc&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Isso tende a aumentar o desempenho do jogo, eu acho. A experiência me mostrou&#xA;que é uma boa prática ter esse arquivo, mas não tenho certeza do porquê que ele&#xA;funciona.&lt;/p&gt;&#xA;&lt;p&gt;4 - Utilize os últimos &lt;em&gt;drivers&lt;/em&gt; / pacotes, se possível. Especialmente o mesa3d&#xA;e as bibliotecas de 32 bits. Se você estiver utilizando o Arch&#xA;(rolling-release), um Ubuntu recente (suporte oficial da Steam) ou o Steam OS,&#xA;provavelmente estará tudo certo (desde que você atualize o sistema&#xA;regularmente).&lt;/p&gt;&#xA;&lt;p&gt;Vale dizer que eu quase nunca consegui rodar o dota direito nesse notebook, mas&#xA;após seguir todos esses passos eu consigo um bom desempenho. Tudo bem que eu&#xA;estou rodando com tudo no mínimo, mas antes nem assim rodava direito. Alguma&#xA;dessas modificações fez bastante diferença. Qual? Boa pergunta.&lt;/p&gt;&#xA;&lt;p&gt;Vale dizer que eu estou utilizando um &lt;em&gt;tiling window manager&lt;/em&gt;, o que significa&#xA;que a flag de &lt;strong&gt;noborder&lt;/strong&gt; é especialmente atraente. Isso significa que posso&#xA;mudar de workspace/tag (equivalente a Alt+Tab para &lt;em&gt;stacking window managers&lt;/em&gt;)&#xA;de forma ridiculamente fácil. Além do mais, eu consigo redimensionar e mover o&#xA;contexto OpenGL do Dota 2 como se eu estivesse brincando. Essa flexibilidade&#xA;vale a pena, e é melhor (a meu ver) do que rodar o game em&lt;em&gt;fullscreen&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Dota 2 @ Linux&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Recovery típico via USB
      </title>
      <link>https://perrotta.dev/pt/2014/04/recovery-t%C3%ADpico-via-usb/</link>
      <pubDate>Fri, 18 Apr 2014 13:38:36 +0000</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/04/recovery-t%C3%ADpico-via-usb/</guid>
      <description>&lt;ol&gt;&#xA;&lt;li&gt;Meu computador não boota! E agora? Possíveis sintomas: tela preta congelada,&#xA;tela de splash congelada, systemd travado, upstart travado, corrupção (fsck&#xA;não ficou satisfeito), bootloader (grub,syslinux,EFI) mal configurado (ou não&#xA;configurado)&lt;/li&gt;&#xA;&lt;li&gt;Obter uma distro de Linux e gravá-la num USB Flash Drive (pendrive). Meu&#xA;gosto pessoal: System rescue cd, Parted magic, Slitaz ou Arch Linux.&lt;/li&gt;&#xA;&lt;li&gt;Bootar a distro e imediatamente abrir um console/emulador de terminal. Com&#xA;interface gráfica ou não, a gosto.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;fdisk -l&lt;/code&gt; para detectar os discos do computador. Detectar o disco cujo&#xA;sistema está com problema. Geralmente o que contém a partição /boot ou /.&#xA;Identificar as partições também é usualmente importante.&lt;/li&gt;&#xA;&lt;li&gt;Se você precisar formatar alguma partição, &lt;code&gt;cfdisk&lt;/code&gt; ou &lt;code&gt;parted&lt;/code&gt;. Exemplo:&#xA;&lt;code&gt;cfdisk /dev/sda1&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Se você precisar (re)criar algum &lt;em&gt;filesystem&lt;/em&gt; , &lt;code&gt;mkfs&lt;/code&gt; (por exemplo,&#xA;&lt;code&gt;mkfs.ext4 -L &amp;quot;archroot&amp;quot; /dev/sda1&lt;/code&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Para (re)montar o seu sistema de arquivos: (por exemplo) &lt;code&gt;mount /dev/sda1 /mnt&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;chroot no sistema que você acabou de montar: &lt;code&gt;chroot /mnt&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Para recuperar (na verdade, gerar novamente) o arquivo de configuração do&#xA;grub dentro do chroot: &lt;code&gt;grub-mkconfig -o /boot/grub/grub.cfg&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Para reinstalar o grub (fora do chroot!), use &lt;code&gt;grub-install&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Explorar o diretório &lt;code&gt;/etc/systemd/system&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Usualmente um desses passos é um caminho para resolver o problema. No final das&#xA;contas, as coisas são bastante específicas, dependem do contexto.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Recovery típico via USB&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Opinião] Ubuntu 14.04 lançado
      </title>
      <link>https://perrotta.dev/pt/2014/04/opini%C3%A3o-ubuntu-14.04-lan%C3%A7ado/</link>
      <pubDate>Fri, 18 Apr 2014 01:51:56 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <category>serenity</category>
      <guid>https://perrotta.dev/pt/2014/04/opini%C3%A3o-ubuntu-14.04-lan%C3%A7ado/</guid>
      <description>&lt;p&gt;♠ O &lt;a href=&#34;http://www.ubuntu.com/download/&#34;&gt;Ubuntu&lt;/a&gt; 14.04 acabou de ser lançado. Olhando&#xA;rapidamente as &lt;a href=&#34;https://wiki.ubuntu.com/TrustyTahr/ReleaseNotes&#34;&gt;&lt;em&gt;release&#xA;notes&lt;/em&gt;&lt;/a&gt;, dá para notar que&#xA;tem muita coisa (e &lt;em&gt;bastante&lt;/em&gt; atualizada) boa nessa versão LTS. Também não faz&#xA;muito tempo (menos de 1 mês) que a versão 3.12 do Gnome foi&#xA;&lt;a href=&#34;https://help.gnome.org/misc/release-notes/3.12/&#34;&gt;lançada&lt;/a&gt;, o que não é nenhuma&#xA;surpresa, já que as &lt;em&gt;releases&lt;/em&gt; dos dois projetos são mais ou menos&#xA;sincronizadas.&lt;/p&gt;&#xA;&lt;p&gt;Desde que a interface &lt;em&gt;Unity&lt;/em&gt; foi introduzida, depois de muito mimimi (alguns&#xA;com razão, outros nem tanto) por parte da comunidade e do papo que &lt;a href=&#34;https://encrypted.google.com/search?hl=en&amp;amp;q=%22ubuntu%20is%20not%20a%20democracy%22&#34;&gt;&lt;em&gt;Ubuntu is&#xA;not a democracy&lt;/em&gt;&lt;/a&gt;,&#xA;depois que o Steam passou a ser suportado no Ubuntu, depois que o bug #1 foi&#xA;&lt;a href=&#34;https://bugs.launchpad.net/ubuntu/&amp;#43;bug/1&#34;&gt;fechado&lt;/a&gt; e o Skype passou a ser&#xA;suportado no Ubuntu e, finalmente, depois que pude acompanhar um pouco sobre&#xA;como a comunidade do Ubuntu funciona, e ter conhecido um pouco mais o Jono Bacon&#xA;(&lt;em&gt;community manager&lt;/em&gt;), tenho que dizer que a Canonical está fazendo um ótimo&#xA;trabalho.&lt;/p&gt;&#xA;&lt;p&gt;Apesar de não adotá-lo como a minha distro principal atualmente, é bastante&#xA;bonito ver um projeto &lt;em&gt;open source&lt;/em&gt; vastamente utilizado por vários usuários no&#xA;mundo todo, inclusive vários conhecidos, prosperar. Esse é o poder da&#xA;&lt;a href=&#34;https://www.artofcommunityonline.org/&#34;&gt;comunidade&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Aproveito e deixo&#xA;&lt;a href=&#34;https://www.omgubuntu.co.uk/2014/04/10-things-to-do-after-installing-ubuntu-14-04&#34;&gt;esse&lt;/a&gt;&#xA;link para quem acabou de instalar essa versão.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: [Opinião] Ubuntu 14.04 lançado&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/serenity/&#34;&gt;#serenity&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spotify
      </title>
      <link>https://perrotta.dev/pt/2014/04/spotify/</link>
      <pubDate>Tue, 15 Apr 2014 22:57:13 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <category>serenity</category>
      <guid>https://perrotta.dev/pt/2014/04/spotify/</guid>
      <description>&lt;p&gt;♠ Raramente recomendo algum serviço / algo comercial, mas faço questão de&#xA;recomendar o &lt;a href=&#34;http://www.spotify.com/&#34;&gt;Spotify&lt;/a&gt;. Estou usando-o há mais de uma&#xA;semana, e é uma boa forma (1) de indexar as músicas que você gosta (2),&#xA;certamente melhor do que &lt;a href=&#34;https://perrotta.dev/pt/2013/10/movendo-quase-todas-as-m%C3%BAsicas-para-a-nuvem/&#34;&gt;a nuvem&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Resumidamente:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Um bom modelo de negócios (para o usuário final): você ouve músicas&#xA;gratuitamente, tendo apenas que ouvir uns 30 segundos de propaganda&#xA;ocasionalmente (tipo a cada 3 ou 4 músicas, não é tanto assim). Esse é o tipo&#xA;de negócio que dá gosto de&#xA;&lt;a href=&#34;https://github.com/thiagowfx/open-bookmarks&#34;&gt;suportar&lt;/a&gt; (veja a parte de &amp;ldquo;NOT&#xA;ADBLOCK&amp;rdquo;).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;em&gt;scrobbles&lt;/em&gt; podem ser encaminhados(?) para o &lt;em&gt;last.fm&lt;/em&gt; (ainda estou&#xA;procurando uma forma de fazer isso para o &lt;em&gt;libre.fm&lt;/em&gt;); o cliente (&lt;em&gt;player&lt;/em&gt;)&#xA;para Desktop e para Web possuem uma forma fácil e integrada de dizer quais&#xA;músicas você gostou e quais você detestou, aumentando cada vez mais o poder&#xA;de previsão / recomendação desse serviço.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Vejamos algumas controvérsias:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Com DRM (isso pode ser superado de maneira relativamente fácil, porém&#xA;demorada, mas isso não é algo que queremos fazer com um serviço bom, certo?).&#xA;Mas o que mais esperar de um serviço de músicas? Já acho incrível o catálogo&#xA;que ele tem – em termos de quantidade e de qualidade. Não dá para reclamar&#xA;disso. É uma forma parecida com a do Steam.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Ainda não está 100% disponível no Brasil (deve ficar em breve). Se o seu IP&#xA;diz que você é do Brasil, dê o seu jeito. As boas e velhas &lt;em&gt;keywords&lt;/em&gt; são&#xA;&lt;em&gt;proxy&lt;/em&gt; e/ou &lt;em&gt;VPN&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Ele possui cliente nativo para Linux! No Arch, veja no&#xA;&lt;a href=&#34;https://aur.archlinux.org/packages/spotify/&#34;&gt;AUR&lt;/a&gt; (a quantidade de votos&#xA;reflete a sua popularidade).&lt;/p&gt;&#xA;&lt;p&gt;Para completar, mais tarde quero testar o Pandora também, para comparar os dois.&#xA;Vale dizer que ouvi falar pela primeira vez do Spotify faz muito tempo, no&#xA;&lt;a href=&#34;http://elementopie.com/everyday-linux-episodes&#34;&gt;Everyday Linux Podcast&lt;/a&gt; (valeu&#xA;Mark, Seth e Chris!), em algum episódio entre o 50º e o 100º (não vou me lembrar&#xA;de qual&amp;hellip;), mas só pude testá-lo agora.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Spotify&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/serenity/&#34;&gt;#serenity&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Android dev: summary
      </title>
      <link>https://perrotta.dev/pt/2014/04/android-dev-summary/</link>
      <pubDate>Sat, 12 Apr 2014 22:57:34 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/04/android-dev-summary/</guid>
      <description>&lt;p&gt;♠ Esse é um &lt;em&gt;draft&lt;/em&gt; perdido com algumas anotações sobre Android. Foi criado&#xA;enquanto eu estava fazendo um curso no Coursera. Na época, acabei escrevendo&#xA;aqui por falta de um lugar melhor para isso. Hoje em dia eu faria diferente,&#xA;tenho todo um plano para organizar (e compartilhar!) algumas das minhas&#xA;anotações. Por enquanto esse plano ainda não está em prática, mas enfim.&lt;/p&gt;&#xA;&lt;p&gt;Abaixo está o &lt;em&gt;draft&lt;/em&gt;, reproduzido na íntegra:&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Hello there. This is just part of a experiment. Usually I take notes with my&#xA;notebooks, but they usually become messed up. Temporarily I&amp;rsquo;ll use this blogging&#xA;space as a note taking platform too. I have to find more convenient ways to do&#xA;that&amp;hellip;any recommendations accepted! I&amp;rsquo;ve already thought of github, but it is&#xA;not &lt;em&gt;that&lt;/em&gt; indexable. This public information should (may) be useful for&#xA;someone a day.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Debug @ Console: &lt;code&gt;xinetd&lt;/code&gt; w/ &lt;code&gt;systemctl service&lt;/code&gt; &amp;gt; &lt;code&gt;telnet localhost&lt;/code&gt; &amp;gt; 5554 &amp;gt; 5556 &amp;gt; &amp;hellip; // help FTW&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Use 5554/5556 to refer to the device (e.g. to send text messages or make calls)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Use LogCat View @ Eclipse to see log messages (filter options FTW) // Code: Log.e [&amp;hellip;]&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;C-F12&lt;/code&gt; to rotate the emulator (other hotkeys @ developer.android.com page)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;command android&lt;/code&gt; to open the Android SDK Manager&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;KISS: only the Intel images + the SDK platform are important&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Enable HAXM (Windows or Mac) or KVM (Linux) acceleration if you can&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;.xml&lt;/code&gt; files everywhere&amp;hellip;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;android-udev&lt;/code&gt;: use it to connect your device to your computer on Linux (see the AUR)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Android API: 10 (2.3.3 - Gingerbread), 16 (4.1.2 - Jelly Bean!), 18 (4.3)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;do not make your &lt;code&gt;~/workspace&lt;/code&gt; a mess, please&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;R.java ==&amp;gt; if any problems, go to Project &amp;gt; Clean&amp;hellip;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;C-S-O&lt;/code&gt; come in handy (Eclipse: organize imports)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Use the &amp;lsquo;Quick Access View&amp;rsquo;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;alias emulator-template=&amp;quot;emulator -avd &amp;quot;Intel-10-480x800&amp;quot; -qemu -m 512 -enable-kvm -gpu on&amp;quot;&lt;/code&gt; // &lt;a href=&#34;https://developer.android.com/tools/devices/emulator.html#acceleration&#34;&gt;https://developer.android.com/tools/devices/emulator.html#acceleration&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;host is acessible from the emulator via 10.0.2.2 (QEMU feature)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;C-I&lt;/code&gt; auto indent @ Eclipse&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Android dev: summary&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Integrando QT Creator com cmake
      </title>
      <link>https://perrotta.dev/pt/2014/04/integrando-qt-creator-com-cmake/</link>
      <pubDate>Sat, 12 Apr 2014 15:38:15 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/04/integrando-qt-creator-com-cmake/</guid>
      <description>&lt;p&gt;♠ &lt;strong&gt;TL;DR&lt;/strong&gt;: movendo o estilo de desenvolvimento de Emacs + programa na linha de&#xA;comando para QT Creator + programa com interface gráfica (em&amp;hellip;QT, é claro!).&lt;/p&gt;&#xA;&lt;p&gt;Existem basicamente duas etapas para realizar essa transição. A primeira é tão&#xA;ridiculamente fácil, que nem precisaria ficar registrada aqui. Apesar disso, não&#xA;parece ser tão trivial ou que vá funcionar &lt;em&gt;out-of-the-box&lt;/em&gt;, então vou&#xA;documentá-la aqui assim mesmo.&lt;/p&gt;&#xA;&lt;p&gt;Já a segunda requer um pouco de entendimento sobre como o &lt;strong&gt;cmake&lt;/strong&gt; e o &lt;strong&gt;qmake&lt;/strong&gt;&#xA;(ferramenta de gerenciamento de compilação utilizada por&lt;em&gt;default&lt;/em&gt; por um projeto&#xA;do QT Creator) funcionam.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;OBS.: QT5. Mas, você também pode aplicar o que está escrito aqui para QT4. Com&#xA;alguns cuidados.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;primeira-etapa&#34;&gt;&#xA;  Primeira etapa&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/04/integrando-qt-creator-com-cmake/#primeira-etapa&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;1-) Assegure-se de que o seu projeto em cmake funciona corretamente. A estrutura&#xA;atual dele deverá ser similar à seguinte:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ProjectTopLevelDir/&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;ProjectTopLevelDir/CMakeLists.txt&lt;/strong&gt;(arquivo top-level de configuração do cmake)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ProjectTopLevelDir/src/ (código-fonte do projeto)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ProjectTopLevelDir/build/ (onde o projeto é compilado)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Existe uma variação comum para o caminho de &lt;em&gt;build&lt;/em&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ProjectTopLevelDir/../build/&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Tanto faz a variação adotada. No entanto, ao utilizarmos o QT Creator, o &lt;em&gt;wizard&lt;/em&gt;de importação de projeto nos recomendará a segunda, por&lt;em&gt;default&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;2-) Abra o QT Creator, clique em &lt;em&gt;Open File or Project&lt;/em&gt;, e importe o&#xA;CMakeLists.txt indicado no item anterior. É importante importar o CMakeLists.txt&#xA;mais &lt;strong&gt;top-level&lt;/strong&gt; do seu projeto.&lt;/p&gt;&#xA;&lt;p&gt;3-) A pasta de build especificada pode ser a mesma que a anterior. Ou, você pode&#xA;adotar o padrão sugerido pelo &lt;em&gt;wizard&lt;/em&gt;, que é algo do tipo&#xA;&lt;strong&gt;ProjectTopLevelDir-build/&lt;/strong&gt;(a segunda variação, como eu disse anteriormente).&lt;/p&gt;&#xA;&lt;p&gt;4-) Clique em &amp;ldquo;Run CMake&amp;rdquo;. Você provavelmente irá querer o &amp;ldquo;Unix Generator&#xA;(Desktop)&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;5-) Sente-se e espere a mágica acontecer. Brincadeira, não é mágica, na verdade&#xA;é um comportamento muito bem definido. O que o Qt Creator faz&#xA;&lt;em&gt;behind-the-scenes&lt;/em&gt;é, basicamente, rodar o cmake para gerar um .cbp (output de&#xA;projeto para o Code::Blocks, mas que o Qt Creator sabe interpretar também &amp;ndash;&#xA;thank you!), em vez de um usual Makefile. Esse .cbp configura o ambiente do Qt&#xA;Creator para o seu novo projeto.&lt;/p&gt;&#xA;&lt;p&gt;6-) Clique em &lt;strong&gt;Finish.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;segunda-etapa---preliminares&#34;&gt;&#xA;  Segunda etapa - preliminares&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/04/integrando-qt-creator-com-cmake/#segunda-etapa---preliminares&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Agora você vai notar que o botão de &amp;ldquo;play&amp;rdquo; (&lt;strong&gt;Run&lt;/strong&gt;, atalho Control-R)&#xA;construirá o seu projeto corretamente e, provavelmente, também rodará o&#xA;executável correto. Isso indica o fim da primeira parte.&lt;/p&gt;&#xA;&lt;p&gt;Se você realizar quaisquer modificações significativas no seu projeto (no que&#xA;diz respeito à estrutura dele, ou algum CMakeLists.txt), assegure-se de rodar o&#xA;CMake novamente. Você pode fazer isso clicando com o botão direito no projeto&#xA;(na sidebar da esquerda) e depois em &amp;ldquo;Run CMake&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;E daí você percebe que especificar etapas em linha de comando é algo bem mais&#xA;fácil e &lt;strong&gt;preciso&lt;/strong&gt; do que especificar etapas em uma IDE. Além do mais, daqui a&#xA;algumas versões, a interface do Qt Creator pode mudar, e o que eu acabei de&#xA;descrever aqui terá de ser reaprendido / readaptado. Use o bom senso.&lt;/p&gt;&#xA;&lt;p&gt;Muito bem, na segunda etapa dispensaremos &lt;strong&gt;completamente&lt;/strong&gt; a ferramenta&#xA;&lt;strong&gt;qmake&lt;/strong&gt;, passando a utilizar somente o **cmake.**Assumiremos que você quer&#xA;criar uma interface em Qt. Se você só quiser utilizar o QT Creator, sem criar&#xA;nenhuma interface, então você pode parar na etapa 1.&lt;/p&gt;&#xA;&lt;h2 id=&#34;segunda-etapa---agora-sim&#34;&gt;&#xA;  Segunda etapa - agora sim&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/04/integrando-qt-creator-com-cmake/#segunda-etapa---agora-sim&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;1-) Abra o seu CMakeLists.txt top-level num editor de texto. Pode ser no próprio Qt Creator, ou não, tanto faz.&lt;/p&gt;&#xA;&lt;p&gt;2-) Vá para o final desse arquivo. Vamos adicionar as seguintes instruções lá:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://gist.github.com/thiagowfx/10549532&#34;&gt;https://gist.github.com/thiagowfx/10549532&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;3-) Comentários:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Note que essa é a instrução de um dos meus projetos. Toda a parte onde contém &amp;ldquo;raytracer&amp;rdquo; você deve mudar de acordo com o seu próprio projeto.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A parte do &lt;strong&gt;automoc&lt;/strong&gt;é essencial se você utiliza &lt;strong&gt;signals e slots.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A parte do &lt;strong&gt;wrap_ui&lt;/strong&gt; é essencial se você utiliza o Qt Designer para criar um arquivo .ui. Se você criou o seu código &amp;ldquo;na mão&amp;rdquo;, não precisa. O que a &lt;strong&gt;wrap_ui&lt;/strong&gt; faz é invocar o &lt;strong&gt;uic&lt;/strong&gt;(ui compiler) do Qt nos arquivos .ui especificados. Isso é exatamente o que o &lt;strong&gt;qmake&lt;/strong&gt; faz&lt;em&gt;behind-the-scenes&lt;/em&gt;(assim como a parte do &lt;strong&gt;moc&lt;/strong&gt;, descrita no item anterior).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Se você utiliza *resources,*também é necessário adicionar uma instrução para isso. Ela não existe no meu exemplo. Olhe as referências no fim desse post.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Depois de criar quaisquer executáveis, é importante linká-los com a biblioteca do Qt. É para isso que a parte &lt;strong&gt;use_modules&lt;/strong&gt; serve.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Depois disso, o seu projeto está sendo completamente gerenciado pelo **cmake.**Sem necessidade de &lt;strong&gt;qmake.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;referências&#34;&gt;&#xA;  Referências&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/04/integrando-qt-creator-com-cmake/#refer%c3%aancias&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sugiro olhar o meu repositório no Github,&#xA;&lt;a href=&#34;https://github.com/thiagowfx/open-bookmarks&#34;&gt;open-bookmarks&lt;/a&gt;. Olha a parte&#xA;que fala de cmake com qt5. Vou deixar uma cópia dessas referências aqui, no&#xA;entanto, se eu adicionar quaisquer referências no futuro, elas serão&#xA;adicionadas no repositório, e não nesse post.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Referências:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.kdab.com/using-cmake-with-qt-5/&#34;&gt;http://www.kdab.com/using-cmake-with-qt-5/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://blogs.kde.org/node/4495&#34;&gt;https://blogs.kde.org/node/4495&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://qt-project.org/doc/qt-5/cmake-manual.html&#34;&gt;http://qt-project.org/doc/qt-5/cmake-manual.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.itk.org/pipermail/insight-users/2009-October/032974.html&#34;&gt;http://www.itk.org/pipermail/insight-users/2009-October/032974.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.executionunit.com/blog/2014/01/22/moving-from-qmake-to-cmake/&#34;&gt;http://www.executionunit.com/blog/2014/01/22/moving-from-qmake-to-cmake/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Integrando QT Creator com cmake&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>btrfs, let&#39;s go
      </title>
      <link>https://perrotta.dev/pt/2014/04/btrfs-lets-go/</link>
      <pubDate>Thu, 10 Apr 2014 21:48:36 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/04/btrfs-lets-go/</guid>
      <description>&lt;p&gt;♠ Hoje ouvi num &lt;em&gt;podcast&lt;/em&gt; que o Facebook em breve usará o sistema de arquivos&#xA;&lt;em&gt;btrfs&lt;/em&gt; em seus servidores. Link upstream em&#xA;&lt;a href=&#34;http://www.theinquirer.net/inquirer/news/2336904/facebook-will-trial-btrfs-linux-file-system-in-its-data-centres&#34;&gt;1&lt;/a&gt;.&#xA;Servidores reais! De produção. R-E-A-I-S.&lt;/p&gt;&#xA;&lt;p&gt;(OK, não são todos os servidores, mas isso já é um começo. Uma bateria de&#xA;testes.)&lt;/p&gt;&#xA;&lt;p&gt;Isso possui algumas implicações bem interessantes:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Os dias de &lt;em&gt;ext4&lt;/em&gt; como o filesystem principal do Linux podem estar contados.&#xA;Na verdade, é dito que o btrfs &lt;strong&gt;não&lt;/strong&gt; foi criado para substituir o ext4, ele&#xA;seria apenas mais uma opção. Mas, o ext4 não vai ficar no topo para sempre&amp;hellip;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Quando uma super empresa resolve tomar uma decisão como essa, significa que&#xA;eles não vêem mais o btrfs como uma brincadeirinha. Além do mais, note que a&#xA;versão 13.2 do openSUSE provavelmente trará o btrfs como filesystem padrão.&#xA;Lembrando que o openSUSE (assim como o Fedora, e o Arch) é uma das distros&#xA;mais pioneiras no que diz respeito a adotar novas tecnologias.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Ou seja, usar o &lt;em&gt;btrfs&lt;/em&gt; como filesystem principal no&amp;hellip;DESKTOP pode começar a&#xA;ser uma boa ideia. Pessoalmente, só não migrei para o btrfs por dois motivos.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;sem swap!&lt;/li&gt;&#xA;&lt;li&gt;dor de cabeça&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Na verdade, o primeiro motivo ocupa 90% de espaço. Dor de cabeça é natural,&#xA;seria a mesma coisa se fosse para usar LVM, criptografar o HD/SSD inteiro ou&#xA;aderir à uma nova tecnologia com o qual não se está acostumado. Documentação não&#xA;falta! Migraria sem nenhum problema. Amanhã mesmo.&lt;/p&gt;&#xA;&lt;p&gt;O grande problema é a falta de &lt;em&gt;swap&lt;/em&gt;, é uma função que eu particularmente prezo&#xA;bastante. Naturalmente, não é algo super útil em servidores, mas em desktops ( /&#xA;notebooks, bah) é uma &lt;em&gt;feature&lt;/em&gt; cômoda. Nada como acordar no dia seguinte e ver&#xA;todas as suas janelas e seu trabalho restaurado do último ponto onde estavam.&lt;/p&gt;&#xA;&lt;p&gt;Um dia eu testo o &lt;em&gt;combo&lt;/em&gt; máximo: btrfs + LVM + criptografia. No desktop. Na&#xA;verdade, acho que o btrfs dispensa LVM, aquelas &lt;em&gt;pools&lt;/em&gt; dele devem ter uma&#xA;função similar a ela. Enfim.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: btrfs, let&#39;s go&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Séries com finais ruins
      </title>
      <link>https://perrotta.dev/pt/2014/04/s%C3%A9ries-com-finais-ruins/</link>
      <pubDate>Thu, 10 Apr 2014 00:55:00 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>legacy</category>
      <category>serenity</category>
      <guid>https://perrotta.dev/pt/2014/04/s%C3%A9ries-com-finais-ruins/</guid>
      <description>&lt;p&gt;♠ Certo, a palavra &lt;em&gt;trivia&lt;/em&gt; distingue bem computação/programação de outros&#xA;tópicos.&lt;/p&gt;&#xA;&lt;p&gt;Ultimamente, tive a sorte de ter escolhido boas séries para ver (motivação&#xA;inicial, desde anos atrás: entender bem o inglês falado. Hoje isso está longe de&#xA;ser minha motivação para ver séries: &lt;em&gt;podcasts&lt;/em&gt; são muito melhores (=mais&#xA;eficazes (ou eficientes?)) para se ouvir um idioma não-nativo, pelo menos isso é&#xA;o que a minha experiência me diz.).&lt;/p&gt;&#xA;&lt;p&gt;Escolher boas séries é importante, porque tomar a decisão de assisti-las do&#xA;início ao fim é algo custoso, que toma bastante tempo. Então, no mínimo vale a&#xA;pena parar para analisar se a série certa para você foi escolhida. Certo?&lt;/p&gt;&#xA;&lt;p&gt;As 3 últimas séries que eu terminei de assistir (na ordem), assim como meus&#xA;comentários pessoais (bem resumidamente, pois muito poderia ser comentado sobre&#xA;elas, afinal, são vários minutos (horas!) de diálogos e entretenimento (ou não))&#xA;foram:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;em&gt;The Office (US)&lt;/em&gt;. Humor sutil e inteligente, bem &lt;em&gt;light&lt;/em&gt;, muitos personagens,&#xA;dá para se apegar fácil a eles, situações do cotidiano. Mockumentary-style&#xA;(~sitcom + documentary). Problema: a última temporada (9º) foi completamente&#xA;chata (lembre-se de que é uma série de humor). Poderia ter terminado na&#xA;oitava, e todos ficaríamos felizes com isso. O motivo é bastante simples: um&#xA;dos personagens principais (O Michael -&amp;gt; Steve Carell) saiu na 8ª temporada, e&#xA;isso simplesmente quebrou o ritmo e a fluidez da coisa.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;em&gt;How I Met Your Mother&lt;/em&gt;. OK, nunca fui um fã 100% dela, mas era legalzinha e&#xA;&lt;em&gt;light.&lt;/em&gt; Sitcom americana clássica. &lt;strong&gt;Problema&lt;/strong&gt;: o último episódio rompeu&#xA;completamente a evolução dos personagens e decepcionou uma base enorme de fãs&#xA;(basta ver o &lt;em&gt;thread&lt;/em&gt; de discussão do último episódio no Reddit).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;em&gt;Burn Notice&lt;/em&gt;. Parando para pensar agora, uma das poucas séries fora da&#xA;categoria &lt;em&gt;sitcom&lt;/em&gt; que eu assisti. É uma série de ação, meio policial (na&#xA;verdade, de espionagem, pequena sutileza). Esse é um gênero que eu costumo&#xA;evitar, simplesmente porque a maioria dos episódios tende a ser previsível&#xA;(CSI é um ótimo exemplo de roteiro fixado). No entanto, fiz uma boa escolha,&#xA;porque a direção dessa série é ligeiramente diferente (leia: menos previsível)&#xA;do que séries típicas desse gênero. Terminei de ver o último episódio faz uns&#xA;minutos atrás. Problema: a última temporada inteira (7ª). Podia ter parado&#xA;na 6ª, ela tinha sido sensacional do início ao fim, depois a série&#xA;simplesmente se perdeu.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Comentários:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Será que é tão difícil escolher fazer um final bom para uma série? Podemos&#xA;parar para tentar definir o que é um final bom (ou bom final). Agradar os fãs?&#xA;Deixar os personagens no seu estágio máximo de evolução (=maturidade)? Ocorrer&#xA;algum evento clímax? Seja como for, para as três séries anteriores, nenhuma&#xA;dessas coisas aconteceu.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Você sabe que escolheu uma série boa quando sente um sentimento de nostalgia /&#xA;de vazio quando ela acaba. Das 3, HIMYM foi a que eu menos senti nostalgia&#xA;(provavelmente porque o ruim foi o último episódio; diferentemente das outras&#xA;duas, onde o que foi ruim foi a última temporada (inteira!)).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Passei a achar que assistir séries (mas não muitas, sem exagero, por favor!) é&#xA;uma boa prática, por um número de motivos. Não vou explicitá-los agora, mas um&#xA;deles é o fato de que você passa a achar os roteiros de filmes algo simples e&#xA;previsível. Dado o fato de que em uma temporada muita coisa acontece com os&#xA;personagens, sendo uma evolução usualmente complexa (e peculiar, para cada um&#xA;deles), o espaço de tempo entre 1 e 2 horas que um filme te proporciona passa&#xA;a parecer algo simples e fútil. É questão de contexto e relatividade, mas isso&#xA;implica (no fim das contas) que, ao menos, os filmes que você escolher para&#xA;assistir no futuro provavelmente serão escolhidos de maneira mais cuidadosa do&#xA;que se você não assistisse série nenhuma. (OK, que argumentação extensa, já&#xA;posso escrever uma dissertação sobre isso.)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Também achei uma boa prática escrever esse &lt;em&gt;post&lt;/em&gt;. Às vezes faz bem fugir do&#xA;tema central do seu &lt;em&gt;blog&lt;/em&gt; (oi? Eu tenho um tema central por acaso?).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Isso poderia ser considerado &lt;em&gt;off-topic&lt;/em&gt;, mas esse é um ótimo contexto para&#xA;introduzir essa noção: descobri, na semana passada, que o meu estilo de&#xA;escrita (o qual eu gosto bastante e, infelizmente, conheço pouquíssimas&#xA;pessoas que gostam de escrever nesse estilo. Hum, provavelmente isso é bom,&#xA;significa que meu estilo de escrita é razoavelmente original) foi fortemente&#xA;influenciado pelo Douglas Adams (isto é, ele escrevia bastante num estilo no&#xA;qual eu me inspirei para escrever dessa maneira, hoje). Descobri isso tendo&#xA;terminado de ler (o original) &lt;a href=&#34;https://www.goodreads.com/book/show/359.The_Salmon_of_Doubt&#34;&gt;&lt;em&gt;The Salmon of&#xA;Doubt&lt;/em&gt;&lt;/a&gt;:&#xA;aproveito para deixá-lo como recomendação. É um livrinho bonzinho, bem &lt;em&gt;light&lt;/em&gt;&#xA;(já usei essa palavra pelo menos 3 vezes nesse post).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Só faltou falar do conceito de &lt;em&gt;upstreamness&lt;/em&gt; de séries. OK, esse é um&#xA;neologismo meu (acho que essa palavra não existe com o significado que eu&#xA;adotei). Isso é um conceito bastante poderoso (=provoca uma boa influência),&#xA;pelo menos é o que você passa a achar com o tempo. Acho que dá para entender o&#xA;que significa, não é? Estou tomando emprestado o conceito de &lt;a href=&#34;https://en.wikipedia.org/wiki/Upstream_%28software_development%29&#34;&gt;upstream de&#xA;desenvolvimento de&#xA;software&lt;/a&gt;. É&#xA;basicamente o fato de você acompanhar uma série enquanto ainda há episódios em&#xA;produção (isto é, em contraste com ver uma série que parou de ser produzida).&#xA;Vou falar mais sobre o poder do conceito de &lt;em&gt;upstream&lt;/em&gt; em um post futuro, só&#xA;que com o significado voltado para &lt;em&gt;open source&lt;/em&gt; e desenvolvimento de&#xA;software mesmo. Deixa isso para depois.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Pronto, nada mais a acrescentar. Agora estou na fase de procurar uma nova&#xA;série para ver. Isso não vai acontecer tão cedo: como eu disse, escolher&#xA;uma &lt;strong&gt;boa&lt;/strong&gt; série é um processo custoso. Mas, aceito recomendações.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Séries com finais ruins&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/serenity/&#34;&gt;#serenity&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sugestão de app de gravação de som
      </title>
      <link>https://perrotta.dev/pt/2014/04/sugest%C3%A3o-de-app-de-grava%C3%A7%C3%A3o-de-som/</link>
      <pubDate>Sun, 06 Apr 2014 14:40:02 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/04/sugest%C3%A3o-de-app-de-grava%C3%A7%C3%A3o-de-som/</guid>
      <description>&lt;p&gt;♠ Na Play Store, naturalmente, existe uma infinidade de aplicativos que fazem&#xA;isso (duh), mas a maioria deles é cheia de ads. Em&#xA;&lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=sound%20recorder&amp;amp;fdid=net.micode.soundrecorder&#34;&gt;(1)&lt;/a&gt;&#xA;você encontra um &lt;em&gt;open source&lt;/em&gt; e sem ads.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Sugestão de app de gravação de som&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Erro de sincronização no Chromium
      </title>
      <link>https://perrotta.dev/pt/2014/03/erro-de-sincroniza%C3%A7%C3%A3o-no-chromium/</link>
      <pubDate>Sat, 29 Mar 2014 00:14:06 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/03/erro-de-sincroniza%C3%A7%C3%A3o-no-chromium/</guid>
      <description>&lt;p&gt;♠ Faz uns dias que noto que a sincronização dos meus favoritos no Chromium não&#xA;estava sendo realizada corretamente. Com um pouco de investigação, descobri que&#xA;o domínio &lt;code&gt;clients4.google.com&lt;/code&gt; (utilizado para o servidor de sync, pelo menos&#xA;no meu caso) estava bloqueado no meu Arch (adivinha &lt;a href=&#34;https://perrotta.dev/pt/2014/03/bloqueando-websitesadsmalware-no-linux/&#34;&gt;por causa de&#xA;que&lt;/a&gt;&amp;hellip;).&lt;/p&gt;&#xA;&lt;p&gt;Moral da história: cuidado, muito cuidado, com os seus &lt;em&gt;próprios&lt;/em&gt; filtros.&lt;/p&gt;&#xA;&lt;p&gt;OBS.: escreva &lt;code&gt;chrome://sync-internals&lt;/code&gt; (ou &lt;code&gt;chrome://sync&lt;/code&gt;) na barra de&#xA;endereços e seja feliz.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Erro de sincronização no Chromium&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>CT sem luz: vamos indexar isso!
      </title>
      <link>https://perrotta.dev/pt/2014/03/ct-sem-luz-vamos-indexar-isso/</link>
      <pubDate>Sat, 22 Mar 2014 21:28:22 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/03/ct-sem-luz-vamos-indexar-isso/</guid>
      <description>&lt;p&gt;♠ &amp;ldquo;Inspirado&amp;rdquo; pelas quedas de luz nessa semana no Centro de Tecnologia da UFRJ , resolvi criar &lt;a href=&#34;http://thiagowfx.github.io/ct-sem-luz/&#34;&gt;uma página&lt;/a&gt;para indexar (a partir de hoje) sempre que novas quedas de luz ocorrerem.&lt;/p&gt;&#xA;&lt;p&gt;O objetivo disso? Dados são poder. É muito fácil chegar e reclamar &amp;ldquo;&lt;em&gt;toda hora a luz acaba&lt;/em&gt;&amp;rdquo;, mas como podemos sustentar essas reclamações com uma devida argumentação se não possuímos dados (estatísticas) sobre a frequência com que essas coisas ocorrem?&lt;/p&gt;&#xA;&lt;p&gt;Além do mais, se algum dia um futuro (ou atual) diretor ou decano resolver se gabar de que estamos em uma grande universidade, alguém pode aproveitar para lembrá-lo de que uma grande universidade &lt;em&gt;sem luz&lt;/em&gt; não é algo muito útil.&lt;/p&gt;&#xA;&lt;p&gt;Não espero que essa página fique completa, pelo menos não comigo sozinho. Vou anotar todas as vezes em que eu perceber quedas de luz, mas encorajo fortemente que outras pessoas também anotem, e me avisem para que eu possa incluir mais dados lá.&lt;/p&gt;&#xA;&lt;p&gt;Esse projeto é o início de (provavelmente) muitos outros. Hoje a indexação é sobre as quedas de luz, amanhã pode ser sobre o estacionamento, sobre a segurança, sobre a infraestrutura. A internet está aí, só falta mais alunos quererem correr atrás para melhorar o que é deles.&lt;/p&gt;&#xA;&lt;p&gt;(OBS.: não estou realizando a divulgação desse &lt;em&gt;website&lt;/em&gt;em lugar nenhum, além do meu próprio blog pessoal. Se você achar esse projeto relevante, pelo menos deixe seus amigos saberem que ele existe.)&lt;/p&gt;&#xA;&lt;p&gt;(OBS2.: quando esse projeto crescer, eu espero encontrar um domínio melhor para hospedá-lo. Mas, por enquanto, o github me parece suficiente.)&lt;/p&gt;&#xA;&lt;p&gt;Obrigado pela atenção.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: CT sem luz: vamos indexar isso!&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>(Removendo) Bloatware @ Android
      </title>
      <link>https://perrotta.dev/pt/2014/03/removendo-bloatware-@-android/</link>
      <pubDate>Sat, 22 Mar 2014 16:40:51 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <category>privacy</category>
      <guid>https://perrotta.dev/pt/2014/03/removendo-bloatware-@-android/</guid>
      <description>&lt;p&gt;♠ Recentemente tive contato com um &lt;em&gt;Stock Android&lt;/em&gt; 4.4.x (KitKat) e, &lt;em&gt;whooooa&lt;/em&gt;,&#xA;como eu tinha me esquecido o quanto um Android novo era &lt;em&gt;bloated&lt;/em&gt;, cheio de&#xA;firulas e coisas desnecessárias, que só complicam a usabilidade e a compreensão&#xA;do usuário.&lt;/p&gt;&#xA;&lt;p&gt;Vou utilizar um vocabulário relativamente mais amigável, já que esse post&#xA;pretende dar alguma luz a um usuário não experiente (ou experiente).&lt;/p&gt;&#xA;&lt;h2 id=&#34;motivação&#34;&gt;&#xA;  Motivação&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/03/removendo-bloatware-@-android/#motiva%c3%a7%c3%a3o&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Vejamos, em primeiro lugar eu vou reforçar o que eu acabei de falar: &lt;strong&gt;qual o&#xA;objetivo disso, pra quê??&lt;/strong&gt; Se o público alvo for usuários experientes, eles vão&#xA;ficar extremamente descontentes e insatisfeitos, porque serão expostos a firulas&#xA;as quais eles não querem. Você poderia argumentar o seguinte: &amp;ldquo;ah, então é só&#xA;eles removerem essas coisas. Certo?&amp;rdquo; Não. Errado. Quer dizer, estaria certo, o&#xA;problema é que não dá para desinstalar programas &amp;ldquo;de fábrica&amp;rdquo; &lt;em&gt;por default&lt;/em&gt; – a&#xA;menos que você ganhe acesso &lt;em&gt;root&lt;/em&gt; no seu Android. Então, porque não a)&#xA;distribuir &lt;em&gt;smartphones&lt;/em&gt; com acesso root &lt;em&gt;out-of-the-box&lt;/em&gt; (=por padrão) ou b)&#xA;fazer com que os aplicativos que já vêm instalados não tenham status &amp;ldquo;de&#xA;fábrica&amp;rdquo;, o que significa que eles poderiam ser facilmente removidos.&lt;/p&gt;&#xA;&lt;p&gt;Por outro lado, se o público alvo for usuários não experientes (e é, essa é a&#xA;maior parte do &lt;em&gt;market share&lt;/em&gt; do Android), então para que ficar incluindo um&#xA;monte de funções, aplicativos e firulas que esses usuários nunca usarão? Pior&#xA;ainda, muitos deles em inglês (estamos falando de usuários não experientes, nem&#xA;todos sabem inglês). Naturalmente, não se pode agradar a todos, sempre vai haver&#xA;alguma parcela dos usuários que terá que se descontentar um pouquinho, isso em&#xA;si seria extremamente natural. O problema é que a parcela é enorme, e o&#xA;descontentamento não é só &lt;em&gt;um pouquinho&lt;/em&gt;. Bom, você pode dizer que a maioria das&#xA;pessoas não está nem aí / não liga para isso (é verdade). Então, justamente&#xA;&lt;strong&gt;por não ligarem&lt;/strong&gt; é que esses &amp;ldquo;extras&amp;rdquo; (a partir de agora me refiro a isso&#xA;como &lt;strong&gt;bloat/bloatware&lt;/strong&gt; poderiam (deveriam?) ser reduzidos ao mínimo possível.&#xA;Aí não tem como falar disso sem falar no KISS (~Keep it Simple); provavelmente&#xA;esse é o acrônimo que eu mais uso aqui, mas é porque é um conceito que a maioria&#xA;das pessoas e dos fabricantes parecem ignorar completamente. Como Albert&#xA;Einstein disse uma vez, ~&amp;ldquo;mantenha as coisas o mais simples possível, mas não&#xA;simplórias&amp;rdquo;. Não se trata de disponibilizar só o kernel para o usuário, não é,&#xA;&lt;em&gt;caramba&lt;/em&gt;, mas também não há a necessidade de incluir um monte de funções só&#xA;para complicar a vida dele. Aí você diz: ah, mas a maioria dos Androids possui&#xA;algum aplicativo &amp;ldquo;helper&amp;rdquo;, que vem com um tutorial e instruções de uso das&#xA;funções mais importantes do aparelho. Mas esse é outro erro, parece ajudar, mas&#xA;na verdade só complica. Segundo Donald Norman, um produto com um design bom é um&#xA;produto que &lt;strong&gt;dispensa&lt;/strong&gt; tutoriais, textos explicativos e/ou manuais. Ele é&#xA;intuitivo, de forma que o usuário consegue perceber o objetivo de seu uso e como&#xA;usá-lo &amp;ldquo;automagicamente&amp;rdquo; (pequena analogia: imagine um elevador, você entra&#xA;nele, aperta o botão, e vai para o andar que você quer. Isso é um exemplo de bom&#xA;design. Agora, se em determinado elevador você precisar parar para ler as&#xA;instruções de como operá-lo, isso é (em geral) um &lt;em&gt;design&lt;/em&gt; ruim. Exceções&#xA;existem, cuidado para não generalizar esse argumento!).&lt;/p&gt;&#xA;&lt;p&gt;Vou parar por aqui, esse assunto está longe de ser &lt;em&gt;exaustado&lt;/em&gt; apenas com dois&#xA;parágrafos, &lt;strong&gt;mas&lt;/strong&gt; acho que isso já resume a minha motivação por trás desse&#xA;&lt;em&gt;post&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;algumas-guidelines&#34;&gt;&#xA;  Algumas &lt;em&gt;guidelines&lt;/em&gt;&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/03/removendo-bloatware-@-android/#algumas-guidelines&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Nessa seção: algumas coisas que você pode fazer (ou pelo menos tentar fazer, ou&#xA;se informar sobre) para reduzir o &lt;em&gt;bloat&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Note que eu também vou incluir algumas &lt;em&gt;features&lt;/em&gt;. Dependendo do seu ponto de&#xA;vista, elas também podem ser &lt;em&gt;bloat&lt;/em&gt; (isto é, você apenas estaria trocando um&#xA;&lt;em&gt;bloat&lt;/em&gt; por outro). No final, o produto perfeito não é genérico, mas sim&#xA;&lt;em&gt;tailored&lt;/em&gt; e adaptado para as necessidades de cada usuário (mesmo que o próprio&#xA;usuário não esteja ciente do que ele mesmo quer).&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Primeiro de tudo: REMOVA todos os aplicativos &lt;strong&gt;default&lt;/strong&gt; que você não&#xA;&lt;strong&gt;instalaria&lt;/strong&gt; caso eles não viessem nativamente. Por exemplo: você baixaria o&#xA;jogo XXXX sag(?) ou o aplicativo da rede social YYYY caso ele não viesse junto&#xA;com o seu Android? Não? &lt;strong&gt;Então remova ele&lt;/strong&gt;!&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Aí vem o problema do tópico anterior: você não vai conseguir (em geral)&#xA;remover esses aplicativos. Então, o que você pode fazer? a) root (apenas se o&#xA;seu aparelho for suficientemente popular, e você for um usuário mais&#xA;experiente, disposto a se arriscar um pouquinho) ou b) desativar os&#xA;aplicativos. Não é tão bom quanto remover, mas pelo menos eles não ficarão&#xA;rodando em segundo plano, nem aparecerão na sua &lt;em&gt;app drawer.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Instale o &lt;a href=&#34;https://play.google.com/store/apps/details?id=de.j4velin.notificationToggle&#34;&gt;Notification&#xA;Toggle&lt;/a&gt;.&#xA;Ótimo design, isso deveria ser nativo em todos os Androids.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Instale um &lt;em&gt;launcher&lt;/em&gt;! O Launcher nativo do Android é limitado até demais.&#xA;Agora, cuidado aqui. Dependendo do &lt;em&gt;launcher&lt;/em&gt; que você instalar e das&#xA;configurações que vocẽ for &lt;em&gt;tweakar&lt;/em&gt; depois, isso pode acabar trazendo mais&#xA;&lt;em&gt;bloat&lt;/em&gt; pro seu smartphone. Eu gosto do&#xA;&lt;a href=&#34;https://play.google.com/store/apps/details?id=com.anddoes.launcher&#34;&gt;Apex&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Aprenda como limpar a cache do seu dispositivo. Dá para fazer isso através de&#xA;um aplicativo, ou manualmente. Não convém fazer isso com muita frequência, mas&#xA;de vez em quando é uma boa ideia.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Desative a localização (GPS, Wi-Fi e redes móveis). A menos que você use com&#xA;frequência algum aplicativo relacionado a isso. Sério, não &amp;lsquo;venda&amp;rsquo; seus dados&#xA;de localização tão facilmente.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Instale um &lt;em&gt;browser&lt;/em&gt; decente! O Stock Browser do Android é muito ruim. Dentre&#xA;as recomendações, Chrome, Firefox ou Dolphin (não necessariamente nessa&#xA;ordem). O Opera Mini ainda é útil para navegar no 3G e economizar mais dados.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Desative o &lt;em&gt;bluetooth&lt;/em&gt;. Quase ninguém usa isso hoje em dia. A única vez que&#xA;eu usei isso foi para se comunicar com o meu notebook. Economiza bateria.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Retire todos os &lt;em&gt;widgets&lt;/em&gt; que vieram por padrão na sua &lt;em&gt;Home Screen&lt;/em&gt;. A&#xA;menos que você realmente precise deles&amp;hellip; (é tão importante assim saber o&#xA;clima / a temperatura toda hora?)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Desative o &lt;em&gt;Google Now&lt;/em&gt;. Ser interrompido toda hora com notificações é&#xA;contraprodutivo. A menos que isso seja importante para você&amp;hellip;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Perceba, esses itens são apenas recomendações, pode ser que um aspecto ou&#xA;outro seja importante para você, eu não vou mais ficar repetindo isso, acho&#xA;que já deu para captar a mensagem.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=adaway&amp;amp;fdid=org.adaway&#34;&gt;Adblock&lt;/a&gt;!&#xA;Funciona &lt;strong&gt;bem pra caramba&lt;/strong&gt;, um dos aplicativos que eu mais prezo. Precisa de&#xA;root!&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Desative as transições / animações / haptic feedback / audio feedback.&#xA;Traduzindo: desativar os efeitos visuais quando você muda de tela, desativar a&#xA;vibração quando você toca em um botão (virtual) ou numa tecla (do teclado&#xA;virtual), desativar o barulho de quando você toca em algo. Procure isso na&#xA;configurações (&lt;em&gt;settings&lt;/em&gt;). Geralmente está lá para o final, nas últimas&#xA;opções.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Revise os aplicativos que vieram por padrão na sua &lt;em&gt;Home Screen&lt;/em&gt;. Você não&#xA;precisa usar os que vieram (mas, provavelmente você irá querer alguns, como o&#xA;dos contatos e o do telefone, assim como o web browser – senão, eu me pergunto&#xA;qual é o objetivo do seu smartphone).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Sincronização &lt;em&gt;upstream&lt;/em&gt; com o fabricante: você não precisa disso, desative&#xA;isso. Explicando melhor: geralmente os fabricantes disponibilizam algum&#xA;aplicativo para sincronizar ou ajudar você a fazer alguma coisa. Isso varia&#xA;bastante de um para o outro, e até mesmo o mesmo fabricante costuma mudar o&#xA;nome desses aplicativos de uma versão do Android para outra. Note que eu&#xA;&lt;strong&gt;não&lt;/strong&gt; me refiro à sincronização do Google.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Instale uma &amp;ldquo;*store&amp;rdquo; alternativa, com &lt;em&gt;&lt;strong&gt;softwares livres&lt;/strong&gt;&lt;/em&gt;!&#xA;&lt;a href=&#34;https://f-droid.org/&#34;&gt;F-Droid&lt;/a&gt;. Se você, além disso, puder utilizar algum&#xA;&lt;em&gt;software&lt;/em&gt; de lá (em vez de um &lt;em&gt;closed source&lt;/em&gt;), melhor ainda.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Vou parar por aqui. Esse post pode muito bem ter uma continuação no futuro,&#xA;ainda daria para falar de outras coisas. Tenho certeza de que você não conhecia&#xA;pelo menos um item que estava aí em cima. Assim como eu ainda não conheço outros&#xA;que não estão aí em cima. Sempre tem alguma coisinha nova para aprender, ou&#xA;alguma dica nova para melhorar a usabilidade. Aceito sugestões!&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: (Removendo) Bloatware @ Android&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/privacy/&#34;&gt;#privacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>2^11 (aka 2048)
      </title>
      <link>https://perrotta.dev/pt/2014/03/211-aka-2048/</link>
      <pubDate>Tue, 18 Mar 2014 20:33:37 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>gaming</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/03/211-aka-2048/</guid>
      <description>&lt;p&gt;♠ Ah, eis o &lt;em&gt;hit&lt;/em&gt; dos últimos dias, um jogo simples, com um nome simples, com uma&#xA;jogabilidade simples, e também com uma maneira bastante simples de agradar os&#xA;&lt;em&gt;first-timers&lt;/em&gt;. E não precisa de instruções, é bastante intuitivo, qualquer um&#xA;pode jogá-lo (se você não achou ele intuitivo, então &lt;em&gt;Houston, we have a&#xA;problem!&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Uma leitura (ou releitura) atenta mostra que o &lt;strong&gt;simples&lt;/strong&gt; é um aspecto bastante&#xA;positivo aqui (e não uma forma de depreciação, como talvez desse a entender em&#xA;outro contexto), definitivamente uma ótima aplicação do princípio&#xA;&lt;a href=&#34;https://en.wikipedia.org/wiki/KISS_principle&#34;&gt;KISS&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Você pode se perguntar porque eu estou postando sobre isso, e essa é uma ótima&#xA;pergunta mesmo. Vejamos, eu compartilhei no meu Mural do Facebook pelo menos 3&#xA;vezes sobre esse jogo (em menos de uma semana), então isso significa que é algo&#xA;que eu realmente achei bacana – veja bem, existe uma enorme diferença entre um&#xA;jogo como esse ficar popular e &lt;em&gt;outros&lt;/em&gt; jogos ficarem populares, digamos, uma&#xA;diferença que dá muito mais orgulho do que ver o Flappy Bird ficar popular. E é&#xA;realmente uma pena que o desenvolvedor original desse jogo não esteja faturando&#xA;a mesma coisa que o desenvolvedor original do Flappy Bird faturava antes de&#xA;retirar os seus &lt;em&gt;apps&lt;/em&gt; das &lt;em&gt;stores&lt;/em&gt;. É realmente uma pena.&lt;/p&gt;&#xA;&lt;p&gt;Estou postando sobre isso porque eu realmente gosto de ver esse efeito de&#xA;compartilhamentos em massa de coisas &lt;em&gt;boas&lt;/em&gt; (vou deixar essa definição&#xA;subjetiva). Considerando que a) tem tanta porcaria sendo compartilhada por aí e&#xA;b) os compartilhamentos desse jogo realmente atingiram uma excelente expansão:&#xA;vi desde vários &lt;em&gt;shares&lt;/em&gt; nas timelines nas quais eu ainda não dei &lt;em&gt;unfollow&lt;/em&gt;&#xA;no Facebook, em vários grupos de lá, e em vários blogs e redes sociais por aí.&lt;/p&gt;&#xA;&lt;p&gt;Sabe outro aspecto que é bastante legal de se ver? A criatividade de algumas&#xA;pessoas. Vi várias versões derivadas desse jogo. Não vou tentar reencontrar&#xA;(logo, postar) os &lt;em&gt;links&lt;/em&gt; aqui, até porque a maioria deles eu já compartilhei,&#xA;mas eis um &lt;em&gt;mini index&lt;/em&gt; do que eu vi:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;2048 original, vanilla, &lt;em&gt;simple, simple&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;2048-AI: um cara que usou um algoritmo de minimax e sei lá mais o que para&#xA;tentar resolver o jogo automaticamente. Segundo ele, o algoritmo funcionava (=&#xA;terminava o jogo) em ~90% dos casos (está no Stack Overflow a explicação dele,&#xA;em algum lugar), bastante bom.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Outros limites: 4096, etc (nada criativo, mas pelo menos mostra que a pessoa&#xA;já sabe mudar um número no código-fonte, infelizmente eu conheço muita gente&#xA;que não saberia sequer fazer isso – claro que eu estou me referindo somente a&#xA;pessoas que fizeram alguma disciplina de computação)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Uma versão com números de Fibonacci (depois do 21, nós começam a surgir na&#xA;cabeça)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Uma versão com vários 1024 já preenchidos (¬¬)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Uma versão com emoticons (isto é, sem nenhuma indicação numérica). Não achei&#xA;essa ideia trivial, utilizar figuras em vez de números, também é interessante.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Por sinal, acabei de descobrir que existe um &lt;a href=&#34;https://play.google.com/store/apps/details?id=gabriele.cirulli.puzzle&#34;&gt;aplicativo para&#xA;Android&lt;/a&gt;&#xA;do mesmo. Oh, não&amp;hellip;e o desenvolvedor tem 19 anos (note que eu não usei a&#xA;palavra &lt;em&gt;somente&lt;/em&gt; (como em &amp;ldquo;somente 19 anos&amp;rdquo;). Bobagem. No mundo da&#xA;programação, &lt;em&gt;idade&lt;/em&gt; e &lt;em&gt;limite&lt;/em&gt; estão em escopos diferentes).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Indie Games FTW&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;(Não deixe de dar uma olhada no código-fonte&amp;hellip;&#xA;&lt;a href=&#34;https://github.com/gabrielecirulli/2048&#34;&gt;https://github.com/gabrielecirulli/2048&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: 2^11 (aka 2048)&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/gaming/&#34;&gt;#gaming&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>pull request
      </title>
      <link>https://perrotta.dev/pt/2014/03/pull-request/</link>
      <pubDate>Sun, 16 Mar 2014 23:42:19 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/03/pull-request/</guid>
      <description>&lt;p&gt;♠ Meu primeiro &lt;em&gt;pull request&lt;/em&gt; para um projeto &lt;em&gt;open source&lt;/em&gt; acabou de ser aceito!&#xA;:D&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/robbyrussell/oh-my-zsh/pull/2574&#34;&gt;Aqui&lt;/a&gt; está o commit.&lt;/p&gt;&#xA;&lt;p&gt;Em si, esse é o mesmo tipo de alegria que eu tive quando contribui com o &lt;a href=&#34;https://perrotta.dev/pt/2014/02/meu-primeiro-pkgbuild/&#34;&gt;meu&#xA;primeiro&#xA;PKGBUILD&lt;/a&gt;&#xA;para o &lt;a href=&#34;http://aur.archlinux.org/&#34;&gt;AUR&lt;/a&gt;. É realmente bastante bom poder&#xA;contribuir com alguma coisa para a comunidade, por menor que ela seja, desde um&#xA;simples post ajudando um &lt;em&gt;newbie&lt;/em&gt; em um fórum, passando por um simples &lt;em&gt;commit&lt;/em&gt;&#xA;ou por uma simples edição numa wiki,até mesmo a criação de um projeto &lt;a href=&#34;https://groups.google.com/d/msg/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7gJ&#34;&gt;novo e&#xA;aparentemente&#xA;inofensivo&lt;/a&gt;,&#xA;porém relevante para muita gente (&lt;em&gt;damn&lt;/em&gt;, pra completar a minha lista só falta o&#xA;último item).&lt;/p&gt;&#xA;&lt;p&gt;Espero que, depois desse, ainda venham muito mais por aí (&lt;strong&gt;virão!&lt;/strong&gt;).&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: pull request&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Scilab Notes (HOWTO)
      </title>
      <link>https://perrotta.dev/pt/2014/03/scilab-notes-howto/</link>
      <pubDate>Fri, 07 Mar 2014 17:09:30 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/03/scilab-notes-howto/</guid>
      <description>&lt;p&gt;♠ Resumo sobre como utilizar o Scilab. Objetivo: matrizes, equações lineares e,&#xA;mais geralmente, álgebra linear (computacional, ou não). A motivação para essas&#xA;notas são basicamente a) resumo pessoal e b) estudar para uma prova.&lt;/p&gt;&#xA;&lt;p&gt;Essas notas não tendem a ser extensivas. Na verdade, estou colocando aqui&#xA;apenas as coisas que parecem ser mais importantes / úteis, e que eu&#xA;provavelmente possa precisar uma vez ou outra. O Scilab é um ambiente&#xA;full-featured, bem mais rico e complexo do que esse resumo pareça demonstrar&#xA;(por exemplo, não estou cobrindo nada de programação, nem de Cálculo, aqui). É&#xA;realmente impressionante. Eu já o tinha usado uma vez mas, agora que passo&#xA;novamente por ele, percebo o quão completo ele é.&lt;/p&gt;&#xA;&lt;p&gt;Essas notas estão licenciadas sob a Creative Commons BY-NC-SA (assim como todo&#xA;o conteúdo desse blog, até hoje), o que significa que você pode compartilhá-las&#xA;à vontade, desde que não faça uso comercial das mesmas; além disso, você pode&#xA;criar derivados a partir delas, desde que os distribuam sob a mesma licença.&#xA;OK, agora vamos ao trabalho.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Se você quiser aprimorar esse trabalho (por exemplo, indicando algum erro, ou&#xA;acrescentando mais alguma coisa), por favor deixe um comentário ou me mande uma&#xA;mensagem para que eu inclua mais itens aqui. Obrigado.&lt;/strong&gt; No entanto, lembre-se&#xA;que essa lista não pretende ser exaustiva.&lt;/p&gt;&#xA;&lt;h2 id=&#34;geral&#34;&gt;&#xA;  Geral&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/03/scilab-notes-howto/#geral&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Definindo um vetor / matriz linha: &lt;code&gt;a = [1, 2, 3]&lt;/code&gt; ou &lt;code&gt;b = [1 2 3]&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Soma, subtração: &lt;code&gt;a + b&lt;/code&gt;, &lt;code&gt;a — b&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Obtendo ajuda (interativa) sobre uma função: &lt;code&gt;help&lt;/code&gt;, exemplo &lt;code&gt;help help&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Atribuição: &lt;code&gt;c = a + b&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Definindo constantes: &lt;code&gt;k = 5.23&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Ele suporta as keybindings do Emacs (parcialmente&amp;hellip;)! Que alegria ao descobrir isso:&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;C-a: início da linha&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;C-e: fim da linha&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;C-k: matar a linha&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;C-b: volta um caractere&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;C-f: ops, em vez de avançar um caractere ele entra no search&amp;hellip;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Up/down: navegar no histórico de comandos&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;$ scilab -nw: modo console&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Listas: declarar como &lt;code&gt;l = list(1,2,3,4)&lt;/code&gt;. Existem várias formas de manipulá-las. Não achei uma função super útil a princípio, manipular vetores parece mais útil na maior parte das aplicações.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;clc()&lt;/code&gt;: clear no console&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;%eps&lt;/code&gt;, sim, isso mesmo.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;%T&lt;/code&gt;, &lt;code&gt;%F&lt;/code&gt;: true, false.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;%inf&lt;/code&gt;, infinito.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;rand()&lt;/code&gt; gera número aleatório (sempre de 0 a 1), &lt;code&gt;rand(5,4)&lt;/code&gt; gera uma matriz com elementos aleatórios.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Funções / variáveis matemáticas: &lt;code&gt;exp&lt;/code&gt; (e^), &lt;code&gt;log&lt;/code&gt;, &lt;code&gt;log10&lt;/code&gt;, &lt;code&gt;ceil&lt;/code&gt;, &lt;code&gt;floor&lt;/code&gt;, &lt;code&gt;abs(-10)&lt;/code&gt;, &lt;code&gt;max&lt;/code&gt;, &lt;code&gt;min&lt;/code&gt;, &lt;code&gt;sum&lt;/code&gt;, &lt;code&gt;prod&lt;/code&gt;, &lt;code&gt;sqrt(10)&lt;/code&gt;, &lt;code&gt;%pi&lt;/code&gt;, &lt;code&gt;%e&lt;/code&gt;, trigonométricas &lt;code&gt;cos&lt;/code&gt;, &lt;code&gt;sin&lt;/code&gt;, &lt;code&gt;tan&lt;/code&gt;, &lt;code&gt;sec&lt;/code&gt;, &lt;code&gt;csc&lt;/code&gt;, &lt;code&gt;cotg&lt;/code&gt;, inversas &lt;code&gt;atan&lt;/code&gt;,&lt;code&gt;acos&lt;/code&gt;, &lt;code&gt;asin&lt;/code&gt;, hiperbólicas, &lt;code&gt;sinh&lt;/code&gt;, &lt;code&gt;cosh&lt;/code&gt;, &amp;hellip; tudo o que você imaginar.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Funções matemáticas: &lt;code&gt;factor&lt;/code&gt;, &lt;code&gt;factorial&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Operações típicas com números complexos:&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;z=complex(1,2)&lt;/code&gt;: define a partir da parte real, e depois da parte imaginária&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Alternativamente: &lt;code&gt;1 + 2 * %i&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;real(z)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;imag(z)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Conjugado &lt;code&gt;z&#39;&lt;/code&gt; ou &lt;code&gt;conj(z)&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;ans&lt;/code&gt; retorna a última resposta que você não atribuiu (útil!)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;:&lt;/code&gt; forma vetores (implícitos). Python-like. Exemplo: &lt;code&gt;1:5&lt;/code&gt; retorna &lt;code&gt;[1,2,3,4,5]&lt;/code&gt; e &lt;code&gt;1:2:5:&lt;/code&gt; retorna &lt;code&gt;[1,3,5]&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;álgebra-linear&#34;&gt;&#xA;  Álgebra linear&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/03/scilab-notes-howto/#%c3%a1lgebra-linear&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Multiplicação por escalar: &lt;code&gt;k * a&lt;/code&gt;, &lt;code&gt;5 * a&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Comprimento de um vetor/matriz (= número de elementos): &lt;code&gt;length(l)&lt;/code&gt; ou &lt;code&gt;size(l)&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Declarando uma matriz: &lt;code&gt;m = [ [1,2]; [3,4] ]&lt;/code&gt; ou &lt;code&gt;m = [1,2; 3,4]&lt;/code&gt;, isto é, o ponto-e-vírgula separa as linhas. Convém declarar todos os elementos dela!&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Multiplicação de matrizes: &lt;code&gt;m * n&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Multiplicação de uma matriz por ela mesmo == potenciação: &lt;code&gt;m^2&lt;/code&gt;, &lt;code&gt;m^5&lt;/code&gt;, &lt;code&gt;m**5&lt;/code&gt;, etc.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Inversa de uma matriz: &lt;code&gt;m^-1&lt;/code&gt; ou &lt;code&gt;inv(m)&lt;/code&gt;. Lembrando que &lt;code&gt;m * m^-1&lt;/code&gt; = matriz identidade.* Falando em identidade, para declarar uma matriz identidade com n linhas e m colunas:&lt;code&gt;eye(n, m)&lt;/code&gt;. Note que &lt;code&gt;eye(k)&lt;/code&gt; (onde k é uma constante) é igual a 1 (constante). A matriz não precisa ser quadrada, porém note que apenas a diagonal principal é preenchida. Você também pode fazer &lt;code&gt;eye(m)&lt;/code&gt; (de uma matriz).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;zeros(3,4)&lt;/code&gt;, &lt;code&gt;ones(5,2)&lt;/code&gt;: matriz com apenas zeros, ou apenas uns, com a dimensão especificada.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;diag(m)&lt;/code&gt; retorna a diagonal principal de m.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Matriz transposta: &lt;code&gt;m&#39;&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Norma (quadrada) da matriz: &lt;code&gt;norm(a)&lt;/code&gt;. Você pode calcular a norma p especificando um segundo argumento: norm(a,1) retorna a norma de Manhattan / Táxi.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;triu(m)&lt;/code&gt; ou &lt;code&gt;tril(m)&lt;/code&gt;: retorna a matriz triangular superior e inferior, respectivamente. Basicamente, a mesma matriz de entrada, só que as posições adequadas são preenchidas com zero.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Essa achei super útil: &lt;code&gt;clean(m)&lt;/code&gt;. Arredonda para zero os elementos muito pequenos (algo como &lt;code&gt;1e-10&lt;/code&gt;, por exemplo).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Extrair elemento de matriz: &lt;code&gt;m(1,2)&lt;/code&gt; (da linha 1, coluna 2) (1-based index).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Extrair uma linha ou uma coluna (respec.): &lt;code&gt;m(1,:)&lt;/code&gt;, &lt;code&gt;m(:,1)&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Slices de uma matriz: &lt;code&gt;m(2,2:3)&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A\B e A/B: divisão de matriz, pela esquerda e pela direita, respectivamente. Isso é super útil, especialmente a do backslash.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;clear a, m, k, b&lt;/code&gt;: mata as variáveis/matrizes/etc especificadas. Como se nunca tivessem existido.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;kernel(m)&lt;/code&gt; - nullspace&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;[L,U] = lu(m)&lt;/code&gt; - retorna a fatoração LU de m. Também existe uma versão alternativa, com uma matriz de permutação, &lt;code&gt;[L,U,E] = lu(m)&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;det(m)&lt;/code&gt; &amp;ndash;&amp;gt; determinante&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;rank(m)&lt;/code&gt;&amp;ndash;&amp;gt; posto de m = número de vetores linearmente independentes&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;trace(m)&lt;/code&gt; &amp;ndash;&amp;gt; traço da matriz (=soma dos elementos da diagonal). O mesmo que &lt;code&gt;sum(diag(m))&lt;/code&gt;. Faz sentido, né?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;autovetores, autovalores = spec(A) ==&amp;gt; só podem ser calculados todos de uma vez.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Acho que estou satisfeito. A única coisa que falta para completar essa lista é&#xA;como definir funções. Isso inevitavelmente nos fará entrar na parte de&#xA;programação do Scilab&amp;hellip;if, for e amigos. Provavelmente não postarei aqui como&#xA;definir funções. Existe uma pequena chance de eu incluir aqui uma função como&#xA;exemplo, mas só.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Scilab Notes (HOWTO)&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>&#39;Livrando-se&#39; da notificação de voicemail no Android
      </title>
      <link>https://perrotta.dev/pt/2014/03/livrando-se-da-notifica%C3%A7%C3%A3o-de-voicemail-no-android/</link>
      <pubDate>Tue, 04 Mar 2014 02:02:11 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/03/livrando-se-da-notifica%C3%A7%C3%A3o-de-voicemail-no-android/</guid>
      <description>&lt;p&gt;♠ Em geral não tenho nada a reclamar do Android, mas uma das piores decisões de&#xA;design que já vi foi com a função de voicemail.&lt;/p&gt;&#xA;&lt;p&gt;Basicamente, se você recebe uma mensagem de voz na sua operadora, você receberá&#xA;uma notificação sobre isso. Legal, né? Até aí tudo certo. O problema é que essa&#xA;notificação é diferente, ela não funciona como as outras&amp;hellip;você &lt;em&gt;não&lt;/em&gt; pode se&#xA;livrar dela. Sabe? Tudo o que você quer é dar scroll pro lado para nunca mais&#xA;ver aquilo, mas não dá, simplesmente não dá. Como fica a UX (=user experience)??&lt;/p&gt;&#xA;&lt;p&gt;O design é tão ruim, que você não consegue se livrar disso nem com permissões de&#xA;root.&lt;/p&gt;&#xA;&lt;p&gt;Isso se aplica, pelo menos, até a versão 4.1.2 do Android (que é a minha).&#xA;&lt;strong&gt;Talvez&lt;/strong&gt; isso tenha sido corrigido com novas versões do Android, mas eu não&#xA;posso confirmar isso.&lt;/p&gt;&#xA;&lt;p&gt;Eis um &lt;em&gt;workaround&lt;/em&gt; (gambiarra) para se livrar dessa notificação: abra o&#xA;aplicativo &amp;ldquo;Phone&amp;rdquo; (você pode fazer isso segurando a notificação, e depois&#xA;clicando em &amp;ldquo;App info&amp;rdquo;), e depois clique em &amp;ldquo;Force Stop&amp;rdquo; / &amp;ldquo;Forçar Parada&amp;rdquo;.&#xA;Depois disso, abra o aplicativo do telefone de novo, só para garantir que está&#xA;tudo OK. A notificação deverá ter sumido.&lt;/p&gt;&#xA;&lt;p&gt;No entanto, isso não é uma solução permanente. Por quê? Se você desligar o seu&#xA;telefone e religá-lo, ou se você entrar no modo avião (ou perder sinal com a&#xA;operadora) e depois reentrar em contato com a sua operadora, a notificação de&#xA;voicemail voltará. Mas, isso é o máximo que se pode fazer.&lt;/p&gt;&#xA;&lt;p&gt;Se você descobrir uma forma mais eficiente do que eu falei para se livrar do&#xA;voicemail, não deixe de me avisar =P&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: &#39;Livrando-se&#39; da notificação de voicemail no Android&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bloqueando {websites,ads,malware} no Linux
      </title>
      <link>https://perrotta.dev/pt/2014/03/bloqueando-websitesadsmalware-no-linux/</link>
      <pubDate>Sun, 02 Mar 2014 20:52:27 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <category>privacy</category>
      <category>security</category>
      <guid>https://perrotta.dev/pt/2014/03/bloqueando-websitesadsmalware-no-linux/</guid>
      <description>&lt;p&gt;♠ &amp;ldquo;For the sake of the productivity&amp;rdquo;, notas pessoais sobre o bloqueio de websites.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1---a-forma-nua-e-crua-etchosts&#34;&gt;&#xA;  1 - A forma nua e crua: /etc/hosts&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/03/bloqueando-websitesadsmalware-no-linux/#1---a-forma-nua-e-crua-etchosts&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Um arquivo &lt;code&gt;/etc/hosts&lt;/code&gt; típico é da forma:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;$ cat /etc/hosts&#xA;#&#xA;# /etc/hosts: static lookup table for host names&#xA;#&#xA;#&amp;lt;ip-address&amp;gt; &amp;lt;hostname.domain.org&amp;gt; &amp;lt;hostname&amp;gt;&#xA;127.0.0.1 localhost.localdomain localhost&#xA;::1 localhost.localdomain localhost&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Para bloquear um novo site, basta redirecioná-lo localmente para localhost&#xA;(=127.0.0.1). Por exemplo, para bloquear o Facebook, adicione a esse arquivo as&#xA;linhas:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-plaintext&#34;&gt;127.0.0.1 facebook.com&#xA;127.0.0.1 www.facebook.com&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;11-servidor-local-nulo-para-localhost&#34;&gt;&#xA;  1.1 Servidor local &amp;ldquo;nulo&amp;rdquo; para localhost&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/03/bloqueando-websitesadsmalware-no-linux/#11-servidor-local-nulo-para-localhost&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Mas essa maneira por si só é muito sem graça então, além de redirecionar para&#xA;localhost, vamos fazer com que o usuário receba uma página &amp;ldquo;vazia&amp;rdquo;/&amp;ldquo;nula&amp;rdquo; ao&#xA;tentar acessar esses websites. Mas isso é bastante simples, basta instalar um&#xA;servidor local como o kwakd ou o pixelserv.&lt;/p&gt;&#xA;&lt;h2 id=&#34;2---um-pouco-mais-de-estrutura-por-favor&#34;&gt;&#xA;  2 - Um pouco mais de estrutura, por favor&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/03/bloqueando-websitesadsmalware-no-linux/#2---um-pouco-mais-de-estrutura-por-favor&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;O programa &lt;strong&gt;hostsblock&lt;/strong&gt; é excelente para isso. Veja a página oficial. Como um&#xA;bônus, você ainda bloqueia malware e ads (na verdade, esse é o objetivo primário&#xA;dele), isso no sistema inteiro, não apenas no navegador – por exemplo, se você&#xA;quiser instalar um Adblock, geralmente tem que instalar individualmente para&#xA;todos os seus navegadores. Estou utilizando-o recentemente, e o achei bastante&#xA;bom. Ele é bastante elegante (do ponto de vista de simplicidade de código) e&#xA;extremamente funcional. Ao ser combinado com o dnsmasq, ele fica mais elegante&#xA;ainda. Ao ser combinado com o cron, você tem uma lista de domínios a ser&#xA;bloqueados que é atualizada periodicamente.&lt;/p&gt;&#xA;&lt;p&gt;Se você quiser combiná-lo com o Network Manager e tiver problemas com isso,&#xA;&lt;a href=&#34;https://wiki.archlinux.org/index.php/Dnsmasq&#34;&gt;esse post&lt;/a&gt; talvez seja útil. Se&#xA;você achou todos esses projetos relevantes, considere votá-los no AUR para que&#xA;eles ganhem mais relevância.&lt;/p&gt;&#xA;&lt;h2 id=&#34;se-você-usa-o-chromium&#34;&gt;&#xA;  Se você usa o Chromium&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;https://perrotta.dev/pt/2014/03/bloqueando-websitesadsmalware-no-linux/#se-voc%c3%aa-usa-o-chromium&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;OBS.: Se você utiliza o Chromium ou o Google Chrome, vai descobrir que ele é&#xA;esperto e tenta contornar os websites que ele não consegue acessar. Depois de&#xA;bastante pesquisa, descobri a razão para isso:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.chromium.org/developers/design-documents/dns-prefetching&#34;&gt;http://www.chromium.org/developers/design-documents/dns-prefetching&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://superuser.com/questions/723703/why-is-chromium-bypassing-etc-hosts-and-dnsmasq/&#34;&gt;https://superuser.com/questions/723703/why-is-chromium-bypassing-etc-hosts-and-dnsmasq/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://encrypted.google.com/search?hl=en&amp;amp;q=make%20chromium%20not%20use%20google%20default%20dns#hl=en&amp;amp;q=remove&amp;#43;google&amp;#43;dns&amp;#43;from&amp;#43;chrome&#34;&gt;https://encrypted.google.com/search?hl=en&amp;q=make%20chromium%20not%20use%20google%20default%20dns#hl=en&amp;q=remove+google+dns+from+chrome&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;O problema é que ele fazia &lt;em&gt;DNS prefetching&lt;/em&gt; para agilizar o carregamento de&#xA;algumas páginas (ainda não estou 100% certo disso, mas tudo indica que esse era&#xA;o problema). Foi difícil descobrir isso principalmente porque a maioria das&#xA;discussões sobre o assunto se aplica apenas a versões antigas do Chromium (sabe,&#xA;daquela época que ainda tinham dois botões, em vez de um só).&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Happy blocking!&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Bloqueando {websites,ads,malware} no Linux&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/privacy/&#34;&gt;#privacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/security/&#34;&gt;#security&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Consertando caracteres estranhos em Markdown
      </title>
      <link>https://perrotta.dev/pt/2014/02/consertando-caracteres-estranhos-em-markdown/</link>
      <pubDate>Thu, 27 Feb 2014 12:32:17 +0000</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/02/consertando-caracteres-estranhos-em-markdown/</guid>
      <description>&lt;p&gt;♠ Ao converter um documento para Markdown com a sua &lt;em&gt;engine&lt;/em&gt; preferida, se você se&#xA;deparar com caracteres estranhos, do tipo:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;histÃ³ria de um programador e sua (possÃ­vel) evoluÃ§Ã£o Ã© recomendado para&#xA;quem estÃ¡ da computaÃ§Ã£o&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;É bastante fácil resolver isso: o problema é em relação ao &lt;em&gt;encoding /&lt;/em&gt; à&#xA;codificação do seu documento. Basta forçar o UTF-8, com a seguinte tag (pode&#xA;colocar no início do seu documento, por exemplo):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code class=&#34;language-html&#34;&gt;&amp;lt;meta http-equiv=&amp;#39;Content-Type&amp;#39; content=&amp;#39;text/html; charset=utf-8&amp;#39; /&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Originalmente extraído do Stack Overflow (novidade&amp;hellip;). Durante muito tempo&#xA;fiquei com esse problema, deixando de usar Markdown por causa disso&amp;hellip;não mais&#xA;=P&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Consertando caracteres estranhos em Markdown&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Novo blog – ICPC Journal
      </title>
      <link>https://perrotta.dev/pt/2014/02/novo-blog-icpc-journal/</link>
      <pubDate>Sat, 22 Feb 2014 23:32:16 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/02/novo-blog-icpc-journal/</guid>
      <description>&lt;p&gt;♠ Estou começando um novo blog em&#xA;&lt;a href=&#34;http://thiagowfx.github.io/icpc-journal/&#34;&gt;http://thiagowfx.github.io/icpc-journal/&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Eis uns simples &lt;em&gt;remarks:&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Pode ser que tudo isso vire &lt;em&gt;flood&lt;/em&gt;, sendo apenas um pretexto para aprender (e&#xA;praticar) Jekyll, e ganhar mais um pouco de familiaridade com Liquid, HTML,&#xA;YAML e CSS. Se isso acontecer, então ao menos terei aprendido algo útil;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Por outro lado, pode ser que isso vá para a frente, tornando-se (mais um)&#xA;projeto pessoal durante os 2 ou 3 próximos anos (ou quem sabe mais? O futuro é&#xA;tão incerto). Nesse caso, eu espero que alguém (isso inclui eu mesmo) possa&#xA;aprender alguma coisa com o que eu escrever lá.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Lá eu utilizarei uma linguagem bem mais simples, direta e menos pessoal do que&#xA;eu uso aqui (yeah, aqui tem o &lt;em&gt;inferno de parênteses&lt;/em&gt; (mas você já sabia&#xA;disso, certo?)), e isso vai fazer com que a linguagem que eu uso aqui também&#xA;mude um pouco.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;E, por último: os posts desse novo blog &lt;strong&gt;NÃO&lt;/strong&gt; serão replicados nas minhas&#xA;redes sociais (em geral, pois pode haver uma exceção ou outra), visto que esse&#xA;é um tema bastante específico portanto, se você quiser acompanhá-lo, dê o seu&#xA;jeito ;) – favoritos, RSS, enfim. Ademais, tentarei deixar o site leve, com&#xA;poucos add-ons, widgets ou outras firulas – diferente desse Wordpress aqui :D.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Se eu postar &lt;em&gt;aqui&lt;/em&gt; novamente sobre isso, provavelmente vai ser para falar sobre&#xA;a minha experiência (conclusão) em relação ao &lt;em&gt;Jekyll&lt;/em&gt; (devo dizer que estou&#xA;impressionado, é uma engine bastante simples, me lembra bastante do sistema CMS&#xA;do &lt;a href=&#34;http://xyne.archlinux.ca/&#34;&gt;Xyne&lt;/a&gt;, o Xac).&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Novo blog – ICPC Journal&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Notas de Física 3
      </title>
      <link>https://perrotta.dev/pt/2014/02/notas-de-f%C3%ADsica-3/</link>
      <pubDate>Mon, 17 Feb 2014 00:09:43 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>dev</category>
      <category>legacy</category>
      <guid>https://perrotta.dev/pt/2014/02/notas-de-f%C3%ADsica-3/</guid>
      <description>&lt;p&gt;♠ Estou fazendo um experimento nesse período, de estudar a matéria de física 3 de&#xA;forma um pouco diferente (para mim), quase que inteiramente virtualmente,&#xA;utilizando as aulas em sala apenas como um complemento. O contrário funcionava&#xA;melhor até física 1: eu assistia as aulas, e fazia exercícios como um&#xA;complemento. A partir de física 2, percebi que não {era,é} uma boa ideia deixar&#xA;a parte de &amp;ldquo;estudar sozinho em casa&amp;rdquo; como um complemento, muito pelo contrário,&#xA;a matéria é densa e difícil, portanto  é melhor se esforçar mais em casa do que&#xA;em sala de aula.&lt;/p&gt;&#xA;&lt;p&gt;Como quer que seja, é muito mais fácil dizer qual decisão foi {boa,melhor} e&#xA;qual decisão foi {ruim,pior} olhando para trás; foi por isso que eu escrevi o&#xA;&lt;a href=&#34;https://perrotta.dev/pt/2013/12/c%C3%A1lculo-@-ufrj-sugest%C3%A3o-de-refer%C3%AAncias/&#34;&gt;post de referências de Cálculo {1,2,3,4}&lt;/a&gt;, só que ali eu já havia&#xA;terminado ({e} bem!) os meus Cálculos, então eu não corria risco nenhum de me&#xA;comprometer.&lt;/p&gt;&#xA;&lt;p&gt;No entanto, aqui, eu estou inventando essa firula enquanto eu curso física,&#xA;então pode ser que isso tudo dê errado (mas também pode ser que dê certo!), pode&#xA;ser que isso tudo seja esquecido daqui a 1 semana ou 1 mês (mas também pode ser&#xA;que isso seja levado a mais adiante do que eu imaginei) e, ainda, pode ser que&#xA;eu não me dê tão bem assim em física quanto eu quero (mas também pode ser que eu&#xA;passe bem!).&lt;/p&gt;&#xA;&lt;p&gt;Vou resumir a ideia nesse parágrafo, e chega de escrever: abaixo você vai&#xA;encontrar um link com as minhas notas de física 3. O que são notas? Anotações.&#xA;Algo como um diário de estudo. Referências. Plano de estudos. Exercícios.&#xA;Conclusões. Traps. Qualquer coisa que vier a minha cabeça. &lt;em&gt;Really&lt;/em&gt;. Veja bem,&#xA;&lt;em&gt;por design&lt;/em&gt;, eu nunca disse que essas notas &lt;em&gt;foram feitas&lt;/em&gt; para ajudar alguém,&#xA;ou para servir como um guia; portanto, não espere que elas estejam inteligíveis&#xA;ou bem formatadas ou sequer bem estruturadas (apesar de que conterão o mínimo de&#xA;estruturação). &lt;em&gt;Por design&lt;/em&gt;, essas notas são simplesmente uma forma de&#xA;compartilhar, de modo aberto, a minha experiência com uma matéria que eu&#xA;considero difícil (relativamente). Elas podem ou não ser úteis para você. Se não&#xA;forem, no mínimo elas estarão sendo úteis para mim mesmo, então, objetivo&#xA;cumprido ;). Falando sério agora, uma dessas duas coisas vai acontecer: a) ou&#xA;daqui a alguns dias essa ideia vai morrer (nesse caso, existe uma alta&#xA;probabilidade de eu deletar esse post), o que é bem provável; se isso acontecer,&#xA;provavelmente eu vou fazer o meu resumo à mão mesmo e, se ele ficar bom o&#xA;suficiente, vou escaneá-lo e compartilhá-lo (eu fiz isso com a segunda parte da&#xA;matéria de física 2, talvez você ainda encontre esse resumo por aí), mas não&#xA;garanto nada ou b) pela primeira vez terei conseguido estudar de maneira&#xA;estruturada e criando notas memoráveis ;) – porque, convenhamos, cadernos&#xA;usualmente vão para o lixo mais cedo ou mais tarde, mas não posso dizer o mesmo&#xA;de conteúdo digital.&lt;/p&gt;&#xA;&lt;p&gt;Blá blá blá, notas aqui: &lt;em&gt;dead dropbox link&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Se tudo correr bem, esse documento será atualizado constantemente, provavelmente&#xA;semanalmente. Por sinal, agora ele está uma bagunça mas, se ele ficar maior, vou&#xA;incluir mais links de referências e organizá-lo melhor (não faço isso agora&#xA;porque pode ser que eu simplesmente aperte a tecla DELETE&amp;hellip;enquanto isso, todas&#xA;as referências de que preciso estão nos meus favoritos).&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Notas de Física 3&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/dev/&#34;&gt;#dev&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>★ Ace Combat (D)assault Horizon -- Mini Review
      </title>
      <link>https://perrotta.dev/pt/2014/02/ace-combat-dassault-horizon--mini-review/</link>
      <pubDate>Sun, 16 Feb 2014 19:53:20 -0300</pubDate><author>serendipity@perrotta.dev (Thiago Perrotta)</author>
      <category>bestof</category>
      <category>legacy</category>
      <category>gaming</category>
      <category>serenity</category>
      <guid>https://perrotta.dev/pt/2014/02/ace-combat-dassault-horizon--mini-review/</guid>
      <description>&lt;p&gt;♠ Só para não começar sem uma introdução: esse post contém a) uma pequena review&#xA;do jogo acima e b) reflexões gerais sobre os jogos dessa geração. E, como&#xA;sempre, não espere que esse texto seja desenvolvido de forma linear (não&#xA;está mesmo =P).&lt;/p&gt;&#xA;&lt;p&gt;Ah, como os jogos de hoje em dia estão ficando cada vez menores. Sinto falta&#xA;daquela &amp;lsquo;magia&amp;rsquo; dos clássicos. OK, eu não me refiro a clássicos como Mario ou&#xA;jogos de consoles ou plataformas antigos. O próprio Ace Combat 2 (PlayStation 1)&#xA;serve como um exemplo de clássico.&lt;/p&gt;&#xA;&lt;p&gt;É que nem o caminho que alguns sistemas operacionais de hoje em dia estão&#xA;tomando. Seja pela computação gráfica, pelo &lt;em&gt;gameplay&lt;/em&gt;, pelo &lt;em&gt;plot&lt;/em&gt;, ou até&#xA;mesmo pela trilha sonora, está tudo ficando cada vez mais dinâmico. Investe-se&#xA;bastante tempo, esforço e recursos numa superprodução (e põe super nisso!), mas&#xA;o usuário final só pode desfrutar de um pedacinho desse resultado. Senti a mesma&#xA;sensação quando zerei Portal 2 pela segunda vez faz um mês. Talvez eu não tenha&#xA;notado isso pela primeira vez, mas na segunda percebi que o jogo era menor do&#xA;que se parecia. Na verdade, o jogo é pequeno pra caramba, consegui zerá-lo em um&#xA;único dia. O mesmo se aplica para o Assault Horizon. É um jogo tão pequeno,&#xA;zerável em um único dia. E eu o joguei no nível difícil (&amp;ldquo;elite&amp;rdquo;). Ah, pelo&#xA;menos preservando parte dos clássicos da série Ace Combat, quando você o zera, o&#xA;um novo nível é desbloqueado (adivinha o nome&amp;hellip;&amp;ldquo;ace&amp;rdquo;, claro!). Os Call of Duty&#xA;modernos também são um ótimo exemplo de jogos &lt;em&gt;super&lt;/em&gt; (ah, o Assault Horizon –&#xA;agora referido como &lt;strong&gt;ACAH&lt;/strong&gt; – também é super no seu peso, uns bons 11 GB)&#xA;porém efêmeros.&lt;/p&gt;&#xA;&lt;p&gt;Antes de tudo, você deveria saber que eu sou um super fã da série Ace Combat.&#xA;Apesar de tudo, um fã por acaso. Tive sorte que vários títulos foram lançados&#xA;para o PlayStation &amp;ndash;&amp;gt; Ace Combat 2 para o PS1, e Ace Combat 0 e 5 para o PS2.&#xA;Na verdade, ainda tinha o 3 e o 4, mas esses eu infelizmente não joguei. Ah,&#xA;leia mais desse lero lero na &lt;a href=&#34;https://en.wikipedia.org/wiki/Ace_Combat&#34;&gt;Wiki&lt;/a&gt;.&#xA;Cheguei até a jogar parte do 6 (para Xbox 360), mas o DVD estava ruim, travava&#xA;na quarta fase. Well&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Ace Combat provavelmente foi o jogo que eu mais joguei, em número de horas.&#xA;Provavelmente o segundo lugar é ou do Age of Empires II (PC, Windows XP, e&#xA;depois 7, na época), ou do Star Wars: Battlefront II (PS2 também). O AC0 eu devo&#xA;ter zerado umas 7 vezes (uma em cada nível, e provavelmente um nível joguei&#xA;repetido) e o AC5 umas 5 vezes. E, naquela época, os jogos eram maiores – como&#xA;eu disse no início do texto –, então imagina que eu tomei uma boa parte do meu&#xA;tempo no ginásio fazendo isso. Não é à toa que eu gosto de caças, e que sei o&#xA;nome (&amp;ldquo;nome&amp;rdquo;) de vários deles de cabeça. É engraçado falar isso, porque hoje em&#xA;dia o que entope a cabeça dos jovens são o nome de vários heróis, spells, itens,&#xA;skills e magias em jogos como DotA e LoL. Antigamente nada disso existia, então&#xA;as memórias que se retinham eram outras.&lt;/p&gt;&#xA;&lt;p&gt;Ah, você também deveria saber que essa é uma das poucas exceções da minha vida&#xA;que eu abri no que diz respeito a jogar o mesmo jogo mais de uma vez. Eu&#xA;realmente acho (sempre achei) uma completa (total!) perda de tempo você jogar o&#xA;mesmo jogo várias vezes (a menos que jogue num nível mais difícil depois, mas&#xA;ainda assim&amp;hellip;), assim como ver uma série de TV ou um filme várias vezes.&#xA;Simplesmente porque isso tende a não agregar nada de novo. Resolver o mesmo&#xA;problema de programação várias vezes&amp;hellip;sabe, é sempre melhor procurar uma&#xA;alternativa, algo novo, mesmo que seja do mesmo gênero. Uma outra série, um&#xA;outro jogo, problemas mais avançados.&lt;/p&gt;&#xA;&lt;p&gt;Eis alguns aspectos do ACAH.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Trilha Sonora&lt;/strong&gt;. Muito boa. Mantém a qualidade dos Ace Combat anteriores.&#xA;Tenha a certeza que vou ter mais alguns arquivos mp3 na minha biblioteca pessoal&#xA;de músicas.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Efeitos de som&lt;/strong&gt;. Caaaaaaaaaaaaaaaaaaaramba, sensacional. Só para deixar&#xA;claro: trilha sonora diz respeito a &amp;ldquo;música de fundo&amp;rdquo;, e efeitos de som diz&#xA;respeito a todo o resto: explosões, explosões, mais explosões, o vento, o motor&#xA;do avião, até mesmo as vozes de rádio dos personagens. O ACAH superou os Ace&#xA;Combat anteriores nesse quesito. Nunca fiz tanta questão em usar headphone&#xA;pra jogar um jogo (o segundo jogo que entra nesse quesito é, certamente,&#xA;Portal 2, ótima trilha sonora e ótimos efeitos de som também). A toda hora,&#xA;sempre tem um efeito de som diferente. Especialmente no nível Elite (imagina&#xA;no Ace&amp;hellip;), toda hora tem algum caça mirando em você, toda hora você está&#xA;tentando estabilizar a sua mira em alguém, toda hora tem algum aliado cheio&#xA;de mimimi por ajuda e, por isso, toda hora tem um efeito de som típico desse&#xA;combate. É uma sensação que eu não sei descrever muito bem, mas só digo que&#xA;ficou sensacional. Capricharam nesse aspecto. Experimenta abrir esses 3&#xA;vídeos ao mesmo tempo para entender o que eu estou dizendo:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=TnM0lUBLuug&#34;&gt;http://www.youtube.com/watch?v=TnM0lUBLuug&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=WFr5SxHxACg&#34;&gt;http://www.youtube.com/watch?v=WFr5SxHxACg&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=kIY3LzLBqy4&#34;&gt;http://www.youtube.com/watch?v=kIY3LzLBqy4&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Entendeu? Hahaha, isso é muito legal.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Gameplay&lt;/strong&gt;. Introduziram várias coisas novas (e tiraram várias coisas&#xA;antigas&amp;hellip;normal, não?). Em particular, existe uma nova engine, um novo sistema&#xA;de combate aéreo. Vou dizer que gostei bastante. Se chama &amp;ldquo;dogfight mode&amp;rdquo; (DFM).&#xA;Tem um novo modo para combate terrestre também. Isso definitivamente foi um bom&#xA;diferencial. Acrescenta uma dificuldade bem peculiar ao jogo. Em particular,&#xA;fico imaginando como foi a programação desse troço, é algo realmente bastante&#xA;avançado, mas ainda assim não parece tão artificial ou forçado para o usuário&#xA;final. No fim das contas, ele ainda precisa ter o seu &amp;ldquo;talento&amp;rdquo; para ser um bom&#xA;Ace. Digo isso porque muitos jogos hoje em dia simplesmente não contam mais com&#xA;a habilidade do jogador, apenas contanto com ações que sempre vão acontecer,&#xA;sendo que o jogador apenas vai as encaminhando aos poucos. Nesse ace combat,&#xA;mesmo sendo mais dinâmico e tudo o mais (como eu disse antes), ainda assim o&#xA;sucesso da missão depende de você.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Dificuldade&lt;/strong&gt;. Você já viu que eu sou um fã da série, então o que eu disser&#xA;aqui é bastante influenciado. Você também leu que eu zerei o jogo em menos de 24&#xA;horas (não seguidas&amp;hellip;)., no nível elite (&amp;ldquo;difícil&amp;rdquo;). Então, eu achei o jogo&#xA;relativamente fácil. Veja bem, em várias partes de algumas missões eu tive que&#xA;jogar mais de 10 vezes para passar (umas 3 partes), em outras eu morri uma vez&#xA;ou outra, mas nem tanto. Em particular, na última missão, eu passei de primeira.&#xA;Isso usualmente é raro, nos outros ace combats eu sempre tive que jogar várias&#xA;vezes a última missão. Isso não significa que ela foi fácil, acho que eu demorei&#xA;mais de 10 minutos, talvez uns 15, para matar um simples caça (claro, era o&#xA;BOSS&amp;hellip;o nome dele era Markov, finge que é peculiar), quase morrendo por pouco&#xA;umas 2 vezes. Mas, assim, como ainda tem o nível &amp;ldquo;ace&amp;rdquo;, então eu achei a&#xA;dificuldade do nível elite bem razoável. Foi trabalhosa, apesar de tudo. Se eu&#xA;achei fácil foi por causa da minha familiaridade (experiência&amp;hellip;) com os ace&#xA;combats anteriores.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Duração do jogo&lt;/strong&gt;. Já falei, não é? Achei curto. Podia ter mais missões.&#xA;Sério, acho que teve umas 13, o Ace Combat 0 tem 21 (se não me engano), e o 5&#xA;tem umas 28. Isso porque a duração de cada missão tende a variar, de qualquer&#xA;modo.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Variedade de caças&lt;/strong&gt;. Hum. Esse não foi um ponto forte do jogo. Pelo&#xA;contrário. Muito monótono. Os Ace combats antigos tinham uma variedade enorme,&#xA;sem contar que sempre havia um sistema que comprar ou de vender caças. Aquilo&#xA;realmente era um negócio (business, bro). No ACAH, além de não haver sistema de&#xA;compra (você sempre pega algum dos caças que estão disponíveis), quase não se&#xA;percebe a diferença entre os caças. Tem todos os clássicos, F-16, F-22, JAS-39C,&#xA;Mig-29, Mig-21, A-10, F-14, Su-35 (e vários outros)&amp;hellip;mas, por exemplo, se você&#xA;jogar com o F-22 e com o Su-47, quase não vai perceber a diferença entre eles.&#xA;Talvez nem do Mig-29 pro F-22. No Ace Combat Zero você percebia a mínima&#xA;sutileza entre dois caças diferentes (bom, pelo menos depois de jogar um monte&#xA;de vezes, não é&amp;hellip;). Mas não aqui. Isso me deixou um pouco chateado, porque eu&#xA;conheço os pontos fortes e fracos dos caças, então eu esperava aplicar esse&#xA;conhecimento antigo para poder passar das missões de forma mais flexível.&#xA;Maaaas, tudo bem.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Gameplay&lt;/strong&gt;. &lt;strong&gt;De novo&lt;/strong&gt;. Olha, para todas as fontes que eu li no ano passado,&#xA;que me deixaram com vontade de jogar esse jogo: concordo plenamente com vocês,&#xA;esse ACAH se parece pra caramba com o Call of Duty hahaahhaa. É sério, várias&#xA;vezes durante o jogo você vê que é uma cópia de algumas ideias do Call of Duty.&#xA;Eu não mencionei até agora, mas esse não é um jogo só de caças. Você também&#xA;controla helicóptero, machine guns, bombers. Tudo firula. Vou dizer que gostei&#xA;do gameplay do helicóptero. Nunca tinha jogado nesse estilo moderno antes, ficou&#xA;realmente bom. Mas, foi realmente desnecessário colocar a parte das machine&#xA;guns. Claro, deixa o jogo mais variado, mas&amp;hellip;caramba, eu quero jogar com&#xA;caças, não um mini FPS dentro do jogo. E o jogo já é pequeno, daí você&#xA;coloca parte dele como &amp;ldquo;não caça&amp;rdquo;&amp;hellip;enfim.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Pronto&lt;/strong&gt;. Acho que cobri todos os aspectos relevantes (pra mim&amp;hellip;). Tem um&#xA;modo multiplayer também, mas eu não tentei ele ainda. Ah, os gráficos são&#xA;sensacionais, é claro. Rodou até bem no meu notebook (Intel Core i5 + Intel&#xA;Graphis HD 4000, no Windows 8.1 x64). Gostei das hotkeys padrões (joguei sem&#xA;joystick, pelo teclado mesmo), só alterei umas coisinhas. Dava para controlar&#xA;tudo pelo teclado, só a parte do helicóptero que precisava de &lt;em&gt;mouse&lt;/em&gt;. Dava pra&#xA;pular algumas cenas do jogo (isso é ótimo! Alguns jogos te obrigam a ver a droga&#xA;da história, parece que é para não desperdicar o que foi gasto para&#xA;renderizá-la&amp;hellip;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Overall&lt;/strong&gt;: ótimo jogo, te faz lembrar dos Ace Combat anteriores (mesmo com o&#xA;toque Call of Duty&amp;hellip;), retoma aquela sensação que só o AC tem de pilotar o caça&#xA;que nem um louco, e tendo que se esforçar para se desviar os mísseis e dos&#xA;tiros, ao mesmo tempo que vai tentando matar uma nuvem de inimigos. O tempo&#xA;realmente voou, porque o jogo foi curto mas, ainda assim, dá para aproveitá-lo.&#xA;A Namco fez um ótimo trabalho, e eu acho que o AC ainda continua sendo o melhor&#xA;simulador de vôo que já foi criado. OK, o melhor simulador &lt;em&gt;de caças&lt;/em&gt;&amp;hellip;certamente&#xA;existem simuladores profissionais, para você aprender a&#xA;pilotar um avião. Claro, eles não tem nenhuma ação, o que é bom (você não vai&#xA;querer voar de verdade com ação, acredite&amp;hellip;), mas também é ruim, porque&#xA;usualmente um gamer só vai querer jogá-lo de curiosidade mesmo; esses&#xA;simuladores são para uso profissional mesmo, não para entretenimento.&lt;/p&gt;&#xA;&lt;p&gt;Não gosto de dar notas (estrelas, tanto faz o nome que você usar) &lt;em&gt;absolutas&lt;/em&gt;&#xA;para um jogo, então não vou dar nenhuma =P. Mas, relativamente comparando, eu&#xA;colocaria esse ace combat bastante perto do 0 e do 5. É difícil até mesmo&#xA;decidir se gosto mais do 0 ou do 5. Ele não chega a ser igual ao 0 nem ao 5&#xA;porque não é grande o suficiente e porque os caças não são variados o&#xA;suficiente, e são esses detalhes que importam a longo prazo. Mas,&#xA;definitivamente, o ACAH fica rankeado no nível dos Call of Duties &amp;ldquo;Modern&#xA;Warfare&amp;rdquo; 2 e 3, e fica depois do Portal &lt;strong&gt;1&lt;/strong&gt; (o 2 é sensacional, nem tente&#xA;comparar).&lt;/p&gt;&#xA;&lt;p&gt;Esse é o primeiro post que eu escrevo a partir do Windows (eu acho), e é a minha&#xA;primeira review pública de um game, em um espaço pessoal, que eu faço. Uma&#xA;possível continuação, a partir daqui, seria gravar um screencast comigo jogando.&#xA;Sim, isso provavelmente seria legal, ainda mais no nível Ace. Bom, vou pensar se&#xA;eu faço isso. De qualquer modo, não vai ser tão cedo, porque há bastante coisa&#xA;para fazer na faculdade. Por sinal, o ACAH provavelmente vai ser o único game&#xA;que eu terei jogado até o fim do período (isso, ainda, em um dia só&amp;hellip;&lt;em&gt;mimi&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;p&gt;EDIT: Deu para perceber que eu tentei focar nos pontos bons do jogo (apesar de&#xA;também ter citado alguns ruins). No entanto, eu não falei explicitamente o&#xA;quanto os clássicos (AC0 e AC5) são muito mais fiéis, no que diz respeito ao&#xA;espírito de simulação de caças, do que o ACAH que, nesse sentido, parece mais um&#xA;jogo de ação. Enfim, eu vou deixar os &lt;a href=&#34;http://store.steampowered.com/app/228400/&#34;&gt;comentários do steam aqui&lt;/a&gt;, eles complementam o que eu&#xA;falei. Se você está pensando em comprá-lo, vale a pena lê-los antes.&lt;/p&gt;&#xA;&lt;p&gt;— § —&lt;/p&gt;&lt;p&gt;Reply via &lt;a href=&#34;mailto:serendipity@perrotta.dev?subject=Reply to: Ace Combat (D)assault Horizon -- Mini Review&#34;&gt;email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://perrotta.dev/tags/bestof/&#34;&gt;#bestof&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/legacy/&#34;&gt;#legacy&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/gaming/&#34;&gt;#gaming&lt;/a&gt; &lt;a href=&#34;https://perrotta.dev/tags/serenity/&#34;&gt;#serenity&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
