segunda-feira, 24 de junho de 2013

Minha análise sobre os recentes protestos.

O movimento que se formou no Brasil não é de 'esquerda' nem de 'direita'. É da moda. A maior parte das pessoas que participam dele não tem um arcabouço teórico pra encaixar e compreender as dificuldades que encontram na vida, e por isso estão com raiva. Essa raiva foi expressa agora pois as manifestações atingiram massa crítica o suficiente pra essas pessoas terem segurança nos números. Essa massa crítica eu desconfio que foi formada graças a inflação monetária constante e a percepção cada vez maior que existe algum problema sério com o modelo que deveria ter dado certo (social democracia). Uma evidência dessa percepção é a raiva contra os partidos políticos, dirigida aos partidos de 'esquerda' e aos de 'direita'.
Minhas previsões:
  • Alguns líderes do MPL e outros assim percebidos pelo governo irão ganhar verbas vultuosas para suas ONGs.
  • Outros serão trazidos mais perto do poder, e virarão políticos.
  • Os membros da tradicional esquerda irão esvaziar o movimento, pois esse se tornou de massa realmente, e a massa no Brasil é extremamente conservadora socialmente (preconceituosa com negros, homossexuais, mulheres e indígenas). Claro, isso não se traduz em liberalismo econômico.
  • A raiva irá se esfriar, mas o rancor permanecerá, e se tornará cada vez mais profundo com o aumento da inflação, o inchamento de cargos públicos e os serviços públicos cada vez mais estatais e, por consequência, piores.
  • Por causa do item acima, veremos no futuro movimentos mais violentos e provavelmente voltados contra alguma válvula de escape (empresas internacionais, minorias vistas (correta e incorretamente) como privilegiadas, etc)

Minha única sugestão para fugir desses cenários é educação econômica dos indivíduos , mas isso é difícil, e é uma tarefa que cada um tem que realizar por si mesmo.

segunda-feira, 29 de outubro de 2012

Programming paradigms, case studies in clojure

Hello there internet. As part of my new job, I've done a small presentation about programming paradigms, and I've sliced and sent it to youtube.

Sorry about the background noise. I need a new mic.

segunda-feira, 11 de junho de 2012

Persistence vs Endurance

Quick post about a distiction that I find important for programmers in general, and specially for those involved with declarative programming. You can thank Ritch Hickey for this post 1 2.

Persistence is a synonim for immutable. That is, any function applied to this structure should produce a new version of it instead of mutating it.

Endurance is the capacity of a thing to resist the passage of time. This is what usually what people refer to as persistance.

2 concepts decomplected. Cool.

terça-feira, 29 de maio de 2012

Transporte coletivo, greve e monopólios

Resumo:

Uma greve de proporções alarmantes de novo se alenta na cidade de Florianópolis. Nessa ilha da magia os cidadãos contabilizam perdas enormes de dinheiro, tempo, liberdade e paciência.

Vou criticar nestas linhas o modelo atual, apontando seu defeito fundamental. Se este defeito fosse consertado, teríamos a redução de custos, greves, filas e um maior conforto e benefício para os consumidores do serviço de transporte coletivo.


O que é monopólio

Se os leitores desejarem uma leitura mais abrangente recomendo a fonte que usei nas palavras a seguir.Sennholz () Ela é muito mais completa e profissional que a amadora resenha que se segue. Pois bem. Existem 2 tipos de monopólio, o bom e o mau.

O bom

O que controla o preço de produtos produzidos por monopolistas em um ambiente de mercado livre? Basicamente a concorrência em potencial, ou seja, mesmo que uma empresa fique tão eficiente que apenas ela reste num determinado setor, ela não pode relaxar e começar a cobrar preços ``abusivos'', pois tal atitude criaria espaço para novos empreendedores e empresas de outros setores adentrarem o setor do monopolista.

Em outras palavras:

A concorrência potencial existe em todas as áreas da produção e do comércio em que haja liberdade de entrada; áreas em que qualquer pessoa seja livre para entrar e competir. Em outras palavras, em qualquer setor em que o governo não impeça a livre entrada por meio de licenças, concessões, parcerias e outras formas de controle, a concorrência potencial irá existir. As empresas e os empreendedores estão continuamente em busca de novos itens e novas linhas de produção. Motivados pela busca do lucro e guiados pelo sistema de preços, eles estão constantemente ávidos para empreender em qualquer área pouco explorada cujos rendimentos potenciais sejam atipicamente altos.

Não havendo regulamentações e burocracias governamentais, a incursão em um outro setor da economia exigirá de uma empresa pouco mais do que uma simples reorganização, atualização e aquisição de novos equipamentos, algo que pode ser feito em algumas semanas ou meses. Ou, no extremo, instalações novas podem ser construídas para se empreender uma vigorosa incursão neste novo setor. Assim, um produtor, seja ele um monopolista, um duopolista ou um concorrente dentre vários, estará sempre enfrentando a concorrência potencial de todos os outros produtores existentes no mercado. Sennholz ()

O mau

O mau é resultado da negação direta da concorrência em potencial, através da única entidade capaz de impedir a entrada de novos empreendedores num determinado mercado, o estado. Se esta entidade garantir uma existência confortável aos monopolistas com certeza estes irão se aproveitar de sua posição dominante e enforçar preços muito mais altos do que os encontrados no mercado livre, além da baixa qualidade e serviços oferecidos.

Novamente fazendo uso das palavras de Sennholz ():

o governo efetivamente restringe a concorrência e cria monopólios locais e nacionais. Toda a regulamentação governamental sobre o mercado tem o objetivo de garantir a determinadas empresas — os membros do monopólio, oligopólio ou cartel — uma renda ``justa'', o que significa uma renda bem maior do que aquela que conseguiriam no livre mercado.

A crise do transporte coletivo em Florianópolis

A análise econômica acima nos ajuda a entender a situação do transporte coletivo de Florianópolis da seguinte forma:

A - Existe concessões exclusivas das linhas de Florianópolis, com a prefeitura agindo como guardiã das mesmas.

B - Por causa dessa atitude surgem micro monopólios maus no transporte coletivo na cidade.

C - Os monopólios causam desperdício, mau uso, má qualidade e preços mais altos do que os encontrados em um mercado livre. (vide seção anterior)

Resumindo, o estado garante a posição das empresas de transporte coletivo (junto com seus sindicatos aparelhados), transferindo os impostos dos moradores de Florianópolis para elas e mantendo o preço nas alturas. Um abraço corporativista que garante farto apoio em épocas de eleições, tanto das empresas quanto dos sindicatos dos trabalhadores das mesmas, em troca de uma condição confortável e suculenta para os parasitas sobre rodas.

Conclusão

No nível teórico, a situação do transporte coletivo de Florianópolis é uma ilustração ótima da teoria do monopólio da escola austríaca de economia Rothbard (1970).

No nível prático, nem as empresas nem o sindicato dos trabalhadores são os principais responsáveis pela situação vergonhosa do transporte coletivo em Florianópolis. O responsável é o governo municipal, que através da sua política de concessões, criou monopólios municipais em detrimento do cidadão.

Bibliografia

Murray N. Rothbard.
Man, economy, and state.
1970.
URL http://mises.org/rothbard/mes/chap10a.asp.

Hans F. Sennholz.
Monopólio bom e monopólio ruim - como são gerados e como são mantidos.
URL http://mises.org.br/Article.aspx?id=1057.

terça-feira, 15 de maio de 2012

A recaptcha downloader in clojure.

A small snippet for the community and for myself in the future. I think the code is simple enough to be self explanatory.
(ns blanket.recaptcha-downloader
  (:require [clj-http.client :as client])
  (:use [clojure.java.io :as io]))

(def recaptcha-address
  "http://www.google.com/recaptcha/api/reload?c=03AHJ_VutgYGIAR51CgxyMvWU_8nVtoUhbTV9w3tCRIKvAxWPN7OMidVd8XCGH_gljkGAdXBvLC3axQ3n4ei4_pe6MFhw_WwhPkGEzPLqHYn1xqcAbE_SFs8zPtW47_yICuNmB35gp_ue8jLlpR6OqKTfoXH4D1fJLNA&k=6Ld4iQsAAAAAAM3nfX_K0vXaUudl2Gk0lpTF3REf&reason=r&type=image")

(defn fetch 
  "Downloads a number of recaptchas into a given directory, or data/
  as a default dir."
  ([N] (fetch N "data/"))
  ([N dir]
     (doseq [i (range N)]
       (let [c-num (second (re-find #"\'(.*)\',"
                                    (:body (client/get recaptcha-address))))]
         (with-open [in (io/input-stream
                         (str "http://www.google.com/recaptcha/api/image?c="
                              c-num))
                     out (io/output-stream (str dir c-num ".jpg"))]
           (io/copy in out))))))



terça-feira, 24 de abril de 2012

Cleaner meaner emacs .init file

Just finished an improved version of my emacs configuration in order to clean up
its increasing complexity. Check out its size:


(defvar *my-default-lib* "~/.emacs.d/lib"
  "Vendor libraries that cannot be installed via the package system")
(defvar *my-conf* "~/.emacs.d/conf/"
  "My configurations")

(add-to-list 'load-path *my-default-lib*)
(add-to-list 'load-path *my-conf*)


(load "package-manager.el")
(load "misc.el")
(load "history.el")
(load "keybindings.el")
(load "ido-conf.el")
(load "autocompletion.el")
(load "eshell-conf.el")
(load "slime-conf.el")
(load "spell-checking.el")
(load "lisp-conf.el")
(load "scheme-conf.el")
(load "ruby-conf.el")
(load "js-conf.el")
(load "haskell-conf.el")


(setq custom-file (concat *my-conf* "custom.el"))
(load custom-file 'noerror)
Basically everything now has its own file. There is also a nice package system that I borrowed from here. That means that everything that can be installed through the package system will be.
(require 'package)
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/")
             '("ELPA"      . "http://tromey.com/elpa/"))

(package-initialize)

(defvar my-packages '(ac-slime
                      highlight-parentheses
                      highlight-symbol
                      paredit
                      rainbow-delimiters
                      ido-ubiquitous
                      smex
                      undo-tree
                      haskell-mode
                      yasnippet
                      yasnippet-bundle
                      clojure-mode
                      zenburn-theme)
  "A list of packages to ensure are installed at launch.")


(defun my-packages-installed-p ()
  (loop for p in my-packages
        when (not (package-installed-p p)) do (progn (message "%s" p) (return nil))
        finally (return t)))

(unless (my-packages-installed-p)
  ;; check for new packages (package versions)
  (message "%s" "Emacs is now refreshing its package database...")
  (package-refresh-contents)
  (message "%s" " done.")
  ;; install the missing packages
  (dolist (p my-packages)
    (when (not (package-installed-p p))
      (package-install p))))


quarta-feira, 11 de abril de 2012

What school is all about

I have just finished a piece of John Taylor
Gatto's book. So far it is brilliant, heavy, and truer than the overwhelming material
I have read on schooling (exceptions go to Seymour Papert and Ivan
Illich). One thing that struck me deep was a poem by a high
school senior in Alton, Illinois, two weeks before he committed
suicide
.
I though of sharing it here, for me to remember what
school is all about.

He drew... the things inside that needed saying.
Beautiful pictures he kept under his pillow.
When he started school he brought them...
To have along like a friend.
It was funny about school, he sat at a square brown
desk Like all the other square brown desks... and his
room Was a square brown room like all the other
rooms, tight And close and stiff.
He hated to hold the pencil and chalk, his arms stiff
His feet flat on the floor, stiff, the teacher watching
And watching. She told him to wear a tie like
All the other boys, he said he didn't like them.
She said it didn't matter what he liked. After that the
class drew.
He drew all yellow. It was the way he felt about
Morning. The Teacher came and smiled, "What's this?
Why don't you draw something like Ken's
drawing?"
After that his mother bought him a tie, and he
always Drew airplanes and rocketships like
everyone else.
He was square inside and brown and his hands were
stiff. The things inside that needed saying didn't
need it
Anymore, they had stopped pushing... crushed, stiff
Like everything else.