Skip to content

Estamos de casa nova

31/10/2011

Sim pessoal, agora já tenho meu próprio domínio. A partir do dia 31/10/2011 atenderemos no endereço www.eduardosan.com.

Passe por lá!

Conteúdos de blogs no Brasil pela boobox

03/10/2011

A boo-box publicou hoje um estudo sobre o conteúdo dos blogs no Brasil, e não pude deixar de comentar alguns dos resultados. Começando pelo começo (pleonasmos à parte), os primeiros colocados não são uma surpresa. Vamos à eles:

  1. Entretenimento: 24%. Destes, 67% são de blogs de humor. Talvez isso esteja relacionado aos primeiros blogs que fizeram sucesso na Internet brasileira, tipo Não Salvo, Jacaré Banguela, Kibeloco e afins. Falta de criatividade copiar modelos que fazem sucesso, mas parece que é o que estamos fazendo.
  2. Tecnologia: 20%. A maior parte desse tema vem de tutoriais e análise de mercados (84%). Não entendi como eles juntaram temas tão distintos e seria bom saber qual o percentual de cada um. A proliferação de tutoriais é até óbvia, pois é muito mais fácil ter um conteúdo mastigado nas mãos. E Mercados? Aí não sei…
Por fim, a análise final me parece óbvia: o conteúdo gerado é baseado no que as pessoas querem ler. Acho que falta um pouco de criatividade para propor um assunto diferente e esperar que as pessoas leiam (ou não). Eu não tenho vontade de ser extremamente acessado. O blog é, para mim, uma terapia de botar para fora as ideias malucas que estão na minha cabeça, mas entendo o desejo de ser reconhecido que a maior parte tem. Por isso, um dado chama a atenção: blogs de política representam apenas 1% do total. Como já disse, somos um país de fãs de Big Brother, e ninguém liga para a política. E não acredito que vamos mudar tão cedo. Triste…
Se tem algo a acrescentar, fique à vontade para utilizar a caixa de comentários. Recomendo, para quem deseja encarar o desafio, o Nerdcast sobre a Profissão Blogueiro.

Modelo de carta: eu apoio a obrigatoriedade do Ginga

30/09/2011

Enviar para: cgice@mdic.gov.br

Assunto: Consulta pública 08 de 19 de setembro de 2011

Senhor Ministro,

É de conhecimento notório que a televisão é a ferramenta de comunicação com maior poder de alcance na população brasileira, configurando talvez o único instrumento cujo acesso é verdadeiramente democrático. A TV Digital no Brasil foi idealizada para não só ressaltar a força do instrumento, mas também para revolucionar a forma de comunicação através da interatividade e impulsionar a produção de conteúdo nacional.

Com a utilização do Ginga, indústrias de qualquer tamanho armadas apenas pela sua capacidade criativa podem competir com as gigantes nacionais e internacionais do setor. Tal competição só é possível por causa do caráter aberto do Ginga e seus componentes que permite o desenvolvimento sem pagamento de royalties. Não bastasse seu caráter aberto, é o padrão mais avançado do mundo, pois trabalha com as últimas tecnologias em áudio e vídeo e permite a edição de conteúdo interativo em tempo real com a ferramenta Composer.

Pelo exposto acima e por acreditar na importância da obrigatoriedade do padrão, venho através desta manifestar meio apoio pelo item 2 da Proposta 062/11 da Consulta Pública 08, de 19 de setembro de 2011. O não acatamento da proposta pode gerar um padrão de fato imposto pelas grandes fabricantes de equipamentos eletrônicos, empurrando o padrão de direito – o Ginga – a um plano inferior no mercado nacional de televisores.

Sem mais, espero a aprovação da proposta e agradeço pela oportunidade de manifestação.

Eduardo Ferreira dos Santos

Obs.: O prazo para envio das cartas é dia 04 de Outubro de 2011.

A ideia de uma vida

27/09/2011

Quantas pessoas no mundo são capazes de ter algo de que realmente possam se orgulhar? Quantos foram aqueles capazes de produzir algo que mudou não só a sua vida, mas foi a mola propulsora da vida de muitos outros ao seu redor? Quantos tiveram uma ideia realmente original, se é que ela existe?

Sempre que penso no assunto vêm em minha mente dois exemplos antagônicos: Thomas Edison e John Nash. O primeiro talvez tenha sido o primeiro engenheiro de verdade, como meu professor dizia na Engenharia Elétrica, e suas palavaras até hoje ecoam na minha mente:

Engenharia é resolver problemas e, mais importante, conseguir vender a solução. Thomas Edison conseguiu substituir um sistema que funcionava muito bem (iluminação a gás) por outro que iluminava menos e era mais caro.

Pode parecer absurdo dizer que o sistema elétrico é pior que o sistema a gás, mas na época era uma grande verdade. O que Edison conseguiu vender foi a ideia de algo que seria melhor no futuro, quase sempre um objetivo muito difícil. Deixando a parte vendedora de lado, o ponto antagônico em relação a John Nash é que Edison nunca se preocupou em construir nada exatamente original: simplesmente pegou outras ideias e as adaptou. Na verdade muitos dizem que ele roubou a genialidade de Tesla através de uma falsa promessa de dinheiro.

Ter roubado ou não a ideia não o torna menos importante, apenas revela seu lado empreendedor, mas que certamente não bebia na fonte da originalidade. Muitos dizem que ele foi o maior inventor da história da humanidade, com mais de 100 patentes registradas nos EUA.

Já a história de John Nash, muito bem retratada no imperdível filme Uma Mente Brilhante (A Beautiful Mind), fala da busca quase obsessiva de um gênico da Matemática por sua única e original e ideia. O brilhantismo de Nash se retratava na forma com a qual ele lidava com o cálculo de probabilidades, sendo um dos principais expoentes da criptografia moderna e do pensamento lógico em si.

O filme retrata de maneira brilhante o processo criativo que levou Nash à sua teoria quase como uma epifania. Todo pesquisador sabe que nem sempre a criação é um momento tão poético, mas o ponto importante é que a solução do problema pairava em sua frente, quase que esperando para ser agarrada. Quando o momento chega, o autor é levado a um misto de loucura e emoção. Exageros dramáticos à parte, a Teoria dos Jogos é bem real e rendeu a ele um Prêmio Nobel.

Nunca tive uma epifania, e seria um exagero absurdo de minha parte dizer que tive uma ideia que vai mudar a humanidade. Mesmo que fosse capaz de tamanho trabalho autoral, sei que o reconhecimento dificilmente viria em vida, pois mudanças radicais que sempre acompanham ideias inovadoras levam mais de uma vida para serem compreendidas. Planck morreu tendo certeza que suas contas estavam erradas, e sua descoberta do fóton foi fundamental para que Einstein pudesse escrever o que conhecemos como Física Quântica. Mesmo tendo sido um físico brilhante, a glória de sua descoberta nunca lhe chegou em vida, como acontece na maior parte dos casos.

Contudo, voltando aos casos estudados inicialmente, o que aconteceu com os cientistas geniais após terem suas grandes ideias? É de se imaginar que uma ideia como a de Edison e sua consequente venda na cidade de Nova Iorque fosse suficiente para uma vida. Quantas pessoas conseguiram ter uma contribuição tão relevante para a humanidade? Ainda assim ele não parou, tendo registrado mais de uma centena de patentes após a lâmpada.

Josh Nash, que adoeceu após escrever sua teoria, conseguiu um lugar relevante no exército americano e se tornou um professor renomado. Contudo, nunca mais teve uma ideia similar em termos de genialidade. Seria possível ter uma ideia melhor do que uma vencedora do Prêmio Nobel? Será que existe algum cientista que ganhou mais de uma vez? Se alguém souber complete nos comentários.

O fato é que dificilmente teremos certeza de que a atual ideia é a melhor que possivelmente teremos, pois somos incapazes (ainda) de prever o futuro. Todavia, sabemos que mentes brilhantes precisam de exercício, pois o cérebro afinal é um músculo. Ter uma grande ideia não significa dizer que não precisaremos de outra, pois sempre é necessário continuar buscando a próxima descoberta, o próximo passo.

Na sociedade da informação marcada pelo alto desenvolvimento tecnológico o caráter inovador das ideias é realmente muito importante. Já escrevi aqui no blog sobre Bill Gates, que disse temer mais um garoto em uma garagem qualquer no Vale do Silício do que qualquer uma das empresas concorrentes. Vou um pouco mais além, como também já escrevi por aqui, ao afirmar que em tecnologia o que acontece hoje não tem a menor importância. As empresas e governos estão sempre olhando para o futuro, pois sabem que a qualquer momento uma nova ideia pode surgir e “tomar de assalto” o mundo como conhecemos.

Se você tivesse inventado o algoritmo de PageRank e criado o Google, o que faria? Sem dúvida melhorias no algoritmo de busca são bem-vindas, e tem sido uma busca constante na empresa para trazer melhores resultados. Mas será que só isso é suficiente? Fosse você o dono da empresa continuaria desenvolvendo a busca para atingir o estado-da-arte ou abriria mão de tudo para buscar novas ideias, novos negócios e novas tecnologias?

Um Edison e um John Nash não nascem todos os dias, mas será que é possível nascer um novo Google? Ou uma nova IBM? Uma nova Microsoft talvez? E, por que não, um novo Linus Torvalds?

Afinal, quando saber a hora de sair de cena e buscar algo completamente novo?

Software Livre para não iniciados (ou iniciantes)

18/08/2011

Muito tempo sem atualizar o blog. Talvez trabalhando demais ou simplesmente sem inspiração, mas deixemos de justificativas e vamos ao que interessa. Estava tendo mais uma daquelas inacreditáveis conversas (acho que começou aqui, e na nova interface do twitter é possível visualizar todas as respostas) sobre os mesmos argumentos de sempre sobre o Software Livre e foi me dando um preguiça monstra de explicar tudo novamente. Pensei em enviar um link para o rapaz e pedir para ele ler minhas opiniões, mas percebi que ainda não tenho nenhum post sobre as bases e os fundamentos do Software Livre. Ou seja: por que eu apoio o Software Livre e por que os argumentos de sempre estão errados?

Decidi então, apesar de já ter escrito milhares de coisas sobre o tema, tentar compilar os fundamentos em um único post de blog para evitar repetir a mesma coisa todas as vezes em que for bombardeado com as mesmas questões. Comecemos então pela lista de argumentos mais utilizados pelos que nos criticam.

Software Livre não é para o usuário final

A primeira coisa que me incomoda nesse argumento é ver como agimos como nossos próprios agentes de contra-propaganda, talvez muito alimentados pela nossa amada e querida Microsoft. A maior parte das pessoas (pra não dizer todo o mundo) quando ouve falar em Software Livre logo pensa em Sistema Operacional e Linux. Não vale a pena entrar em detalhes técnicos, como o fato de ser possível reproduzir a interface visual do Windows no Linux, mas é importante ressaltarmos o fato de que o Sistema Operacional tem cada vez menos importância.

Claro que, lembrando da guerra dos navegadores, uma empresa pode utilizar seu SO como ferramenta para distribuição de serviços agregados (que o digam a Apple e seu iTunes). Contudo, não dá para negar que o futuro é a nuvem, por mais que eu não goste disso. O que quase todos os usuários de computador fazem ao ligá-lo é abrir o navegador e acessar seus serviços na nuvem, principalmente o e-mail e o Google. Não é possível negar a importância de suítes de produtividade de escritório (ou Offices e BrOffices da vida), mas tirando os jogos, não há mais muito o que fazer em seu computador pessoal.

Pensando como usuário final, qual é o software mais importante de seu Sistema Operacional? Nunca fiz uma pesquisa mais profunda sobre o tema, mas não tenho dúvida de que se trata do navegador. Dê uma olhada aqui e veja como a Microsoft demorou para enxergar a importância da Internet, e perdeu o bonde da inovação. Na área de Tecnologias da Informação e Comunicação, o que está acontecendo hoje não tem praticamente nenhuma importância estratégica, pois negócios inteiros podem ser engolidos e novos gigantes criados da noite para o dia. Vou repetir: o Google existe somente desde 1998. Parece pouco para construir um império? Pergunte ao presidente do Peixe Urbano, que iniciou suas atividades há pouco mais de um ano. Quem trabalha com tecnologia está sempre de olho nas próximas ideias e, principalmente, nos próximos negócios. É impossível pensar em algum negócio de tecnologia para o futuro que não esteja relacionado de alguma maneira com a Internet.

Em praticamente todas as pontas do ecossistema da Internet o Software Livre está presente. O GNU/Linux já é o sistema operacional de longe mais usado nos servidores que hospedam os serviços de Internet. Exceção feita ao Internet Explorer (há controvérsias que podem ser vistas aqui) quase todos os outros navegadores mais usados são baseados em Softwares Livres. A própria Apple e seu Safari utilizam uma engine livre, curiosamente a mesma que é utilizada no Chrome do Google. Sem mencionar é claro a enorme popularidade do Firefox, que foi o primeiro exemplo bem sucedido de abertura de código por uma grande empresa, já que é derivado do espólio do antigo Netscape. Não vale nem a pena mencionar os servidores Web, responsáveis por enviar o conteúdo ao usuário, onde o Apache domina com folga.

Em resumo, se você acessa a Internet já está utilizando Software Livre e não sabe.

Software Livre não é seguro pois permite o acesso ao código-fonte

Pode parecer mentira, mas tem gente que acredita seriamente nisso. Uma respeitável empresa de certificação considera falha de segurança seu sistema ter a documentação disponível e permitir acesso ao código-fonte.

Sem dúvida esse é o argumento que mais me incomoda (pra não dizer que me deixa profundamente irritado) e se torna difícil até falar do assunto sem pensar em algumas palvaras um pouco mais “ríspidas”. Deixemos o mimimi de lado e vamos aos fatos:

  1. Os Sistemas Operacionais mais seguros do mundo são os que chamamos de BSD-like, que têm por característica principal aceitar em seu núcleo APENAS contribuições livres. Somente quatro falhas de segurança reportadas em mais de vinte anos. É importante que ressaltar que falhas de segurança são erros no desenvolvimento do Sistema Operacional que podem ser explorados sem a intervenção do usuário. Se você não entendeu o que eu quis dizer, clique aqui urgente. E pare de encher o saco dos outros por causa de seus erros.
  2. Se o seu código contém um erro que pode ser enxergado por alguém ao realizar a leitura do código, seguramente ocorreu falha no desenvolvimento. Isso acontece em Softwares Livres? É claro que sim, softwares são escritos por humanos. Contudo, um erro descoberto num Projeto de Software Livre é corrigido assim que descoberto, além de ser possível à própria pessoa que detectou o problema corrigi-lo imediatamente; não é necessário esperar pela boa vontade da empresa em lançar o próximo Service Pack. Ainda não entendeu ou não está convencido? Leia o que o Erick Raymond disse aqui: “Libere cedo, libere frequentemente”. Obs.: há problemas também no ecossistema do Software Livre em SO’s que dependem de subscrição, mas não vou abordá-lo aqui. Leia o que há na Internet e tire suas próprias conclusões. Deixo esse e esse link para aguçar a imaginação.
  3. O argumento certamente é uma estratégia de FUD, provavelmente difundido pelos maiores interessados no assunto. Contudo, respirando fundo para tratar do assunto, os procedimentos de checagem de segurança são antigos e tratados por empresas que têm por padrão processos muito engessados. Inserir um requisito de segurança é fácil em qualquer processo de certificação, mas retirar é extremamente difícil. Já recebi em minhas mãos um relatório que apontava possíveis falhas no IIS sendo que o servidor que eu utilizava era o AOLServer. Disse para o profissional da empresa de segurança que o relatório estava estranho, pois apontava falhas de outro software. Ele me explicou que essa checagem era a padrão e era mais fácil ele escrever um “ignorar falha” no relatório do que alterar o procedimento de verificação. Como discutir com tais argumentos? Aqui temos claro que alguns procedimentos de segurança devem ser ignorados por não fazerem sentido. Certamente é o caso do código-fonte acessível e documentado.
  4. Algumas empresas utilizam a tática da segurança por obscuridade, ou a popular “sujeira embaixo do tapete”. Existe um erro no código, eles sabem do problema, mas não podem resolvê-lo agora pois não perder a data de lançamento é mais importante. Muitas vezes se trata de um problema tão difícil de reproduzir e consequentemente tão improvável de ser descoberto que simplesmente não vale a pena. E fica lá até que alguém o descubra e faça alguma coisa. Quando o código do Windows vazou muita gente ficou assustada como se suas vidas estivessem em perigo, e nada de fato aconteceu.

Se o Software é livre ninguém paga por ele

É possível achar muitos posts sobre o assunto no blog sobre o tema, mas é importante ressaltar que Software Livre NÃO É Software Grátis. Dê uma olhada nesse post e entenda os diferentes modelos de licenciamento.

Conclusão

Existem muitos outros argumentos que podem ser e já são utilizados para denegrir a imagem do Software Livre e as justificativas pelas quais essa ou aquela pessoa não usa. Na maior parte dos casos a culpa é nossa, como uma vez me lembrou meu amigo Thomaz ao me alertar sobre minha mania de mostrar tudo no terminal do Linux.

Por fim, pode ser que existem alguns outros argumentos tão utilizados quanto esses que eu não me lembrei. Se você tem alguma outra restrição que eu não abordei, coloque nos comentários que vou tentar responder. Se quiser adicionar algum argumento que eu não lembrei, por favor, faça isso. Só não deixe os boatos se espalharem ainda mais.

Using Nginx as an accelerating proxy for OpenACS

06/08/2011

This post was originally extracted from here: http://www.cognovis.de/developer/en/nginx_accelerating_proxy

I’ve copied it here for backup purposes, as this page is no longer available in he website. Weh backup came from web.archive.org: http://web.archive.org/web/20090605045856/http://www.cognovis.de/developer/en/nginx_accelerating_proxy

Using Nginx as an accelerating proxy

Assume you have the (pretty normal) situation on a busy site that you have a lot of files lying around in a resources directory. These static files usually clutter your webservers connections and let it slow down considerably sometimes. Also, any access statistics will get seriously out of whack.

There are two methods which you can use. One is doing proxy caching and is a tiny bit slower, but less work to setup. The other thing to do here is to use the location assertion and let it access all static files locally from within nginx.

In some circumstances this results in CSS files not being used by Firefox…

Proxy caching

Proxy caching only works after version 0.5.32 and relies on the proxy_store directive being present. Proxy_store is a mirror on demand in that it will try to find the file locally and if present serve it from there. If it is not present locally though it will query the backend server and ask for the file, save it locally and then serve it. From now on every request to the file will be send from within NGINX and not result in a request to the backend server.

The best way to learn about proxy_store is the wiki at http://wiki.codemongers.com/NginxHttpProxyModule#proxy_store. Translated into OpenACS this looks as follows:

       location /resources/ {
root                 /var/lib/aolserver/resources/SERVER0;
error_page           404 = /fetch$uri;
}

location /fetch {
internal;

proxy_pass           http://127.0.0.1:80;
proxy_store          on;
proxy_store_access   user:rw  group:rw  all:r;
proxy_temp_path      /var/lib/aolserver/resources/SERVER0/cache;

alias                 /var/lib/aolserver/resources/SERVER0;
}

This will (as in the example below) store the mirrored file in /var/lib/aolserver/resources/SERVER0/resources (as the root is the location and /resources get’s appended to it). Important for fetch is that the alias matches the root.

Location assertion

First thing to do is link the files from the package_key/www/resources directory to a separate directory, lets say /web/resources/SERVICE0/resources (it is mandatory that the directory is called “resources”, otherwise the location rule wont work).

As this can become very tiring the following script should speed up the process. This is based upon work from Hector at UNED:

#!/bin/sh
if [ $# -lt 1 ]; then
echo “* Usage: `basename $0` instance name (SERVICE0)”
exit 1
fi

# Translate into OpenACS standard usage of SERVICE0
SERVICE0=”$1″
AOLDIR=”/var/lib/aolserver/$SERVICE0″

# Directory for the resources
RESOURCES=”/var/lib/aolserver/resources/$SERVICE0/resources”
mkdir -p $RESOURCES

for i in $(ls $AOLDIR/packages/); do
if [ -e $AOLDIR/packages/$i/www/resources ]; then
echo -n “* $i”
# Create the symbolic link to the resources directory
ln -svfT “$AOLDIR/packages/$i/www/resources” “$RESOURCES/$i”;
fi
done
exit 0

Once this is done the following rule will allow you to access the resources cached from within nginx.

# serve static files for acs-subsite and acs-templating in packages

location ~* /resources/  {
root   /var/lib/aolserver/resources/SERVICE0/resources;
access_log   off;
}

The access_log off allows you to turn of the access log for these requests, after all you do not need it for css files and others.

Sadly, this does not take the special resources locations of /www and /packages/acs-subsite into account. Therefore we need to copy them separately:

cp -pr /web/SERVICE0/www/resources/* /web/resources/SERVICE0/resources
cp -pr /web/SERVICE0/packages/acs-subsite/www/resources/* /web/resources/SERVICE0/resources

Additionally you would want to do the same for the robots.txt. First link it up properly:

ln -s /web/SERVICE0/www/robots.txt /web/resources/SERVICE0/robots.txt
Then edit the correct location in NGINX
location ~* /robots.txt  {
root   /var/lib/aolserver/resources/SERVICE0/robots.txt;
access_log   off;
}

Not to forget the favicon.ico which is called upon on every single request…:

ln -s /web/SERVICE0/www/favicon.ico /web/resources/SERVICE0/favicon.ico

Then edit the correct location in NGINX

location ~* /favicon.ico  {
root   /var/lib/aolserver/resources/SERVICE0/favicon.ico;
expires max;
access_log   off;

Last but not least do this for the images directory as well

mkdir -p /web/resources/$SERVIC0/shared
ln -s /web/SERVICE0/packages/acs-subsite/shared/images /web/resources/stage/shared/images

Then edit the correct location in NGINX

location ~* /shared/images  {
root   /var/lib/aolserver/resources/SERVICE0/;
access_log   off;
}

Make sure that the location is correct

-- Other random stuff
  -- If want to run behind a reverse proxy, e.g. apache, and 
you're running on something other than port 80, older 
versions of openacs (and newer?), util_current_location 
needs a patch to support the "apparent port" which may be 
different from the port aolserver is listening on:

--- utilities-procs.tcl 6 Nov 2004 05:04:47 -0000       1.1.1.1
+++ utilities-procs.tcl 25 Feb 2008 08:00:03 -0000
@@ -2727,7 +2727,7 @@
     switch [ad_conn driver] {
         nssock {
             set proto http
-            set port [ns_config -int "ns/server/[ns_info server]/module/nssock" Port]
+            set port [ns_config -int "ns/server/[ns_info server]/module/nssock" ApparentPort [ns_config -int "ns/server/[ns_info server]/module/nssock" Port]]
         }
         nsunix {
             set proto http

Como a educação formal mata a criatividade

03/06/2011

Simplesmente imperdível a série de dois vídeos que mostram uma palestra nos já consagrados TED Talks. O professor Ken Robinson explica como o nosso sistema educacional (falando do nosso enquanto humanidade, incluindo o Brasil) é preparado para destruir a criatividade das crianças. O motivo é óbvio: fomentar a indústria. Veja e aproveite as legendas em Português:

A discussão tem muito sentido quando pensamos o Mercado de TI e, principalmente, as comunidades de Software Livre, onde a maior parte das pessoas não tem educação formal. Os motivos são muitos, como os citados pelo professor. Me lembro daquela aula de banco de dados onde fomos praticamente obrigados a desenhar o famoso sistema de locadoras, que deve estar presente aos milhares nas Universidades de todo o mundo.

Reflita e comente!

 

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

%d blogueiros gostam disto: