RafaelXavier


Open Source na maioridade

Posted in News by admin on the August 31st, 2009

Post de Cezar Taurion que retrata muito bem o cenário Open Source e seus modelos de negócio.

Post original na íntegra.

Volta e meia dou entrevistas para a mídia falando de Open Source. E uma das perguntas mais frequentes é sobre “Quanto a IBM obtém de receita com Open Source?’.  Ora, quando se fala no modelo tradicional de comercialização de softwares, esta pergunta tem uma resposta fácil: basta ver quantas licenças foram comercializadas e qual o preço médio delas. Mas, com Open Source é diferente. É muito difícil capturar com precisão o volume de receitas. Muito da receita de Open Source é obtido de forma indireta. Um exemplo é o Google que fornece gratuitamente softwares como Android e outros, para alavancar receita com anúncios. Vejamos também a IBM, que apoia diversos projetos como o Linux, Eclipse e outros, alavancando receitas indiretas, como mais servidores, serviços e  mesmo softwares não Open Source.

Portanto, precisamos reformular a questão. A receita direta e contabilizável de um determinado software Open Source não implica em medida direta do sucesso ou fracasso do seu impacto econômico. Devemos, para esta análise, olhar o ecossistema como um todo. Um engano comum é comparar as receitas de um determinado software comercializado na modalidade de vendas de licenças com a receita obtida pelos distribuidores de softwares Open Source. Ora as distribuições pagas de  softwares Open Source, de maneira similar ao SaaS, são comercializados pelo modelo de negócios de assinaturas, com a receita sendo distribuída ao longo de vários anos e não concentrada em um único pagamento. Assim, comparar receitas obtidas por  modelos de negócio diferentes  é comparar laranjas com bananas.

Além disso, não existe correlação entre a receita direta obtida com determinado software e seu uso pela pela sociedade. É muito difícil medir com precisão o uso de um software Open Source. Podemos contabilizar os downloads registrados a partir de um determinado site associado ao software em questão. Mas, a partir daí, como é perfeitamente possivel e até mesmo incentivada sua livre distribuição, fica difícil contabilizar as inúmeras outras cópias que circularão pela Web.

Entretanto, é indiscutível que Open Source está se disseminando rapidamente. Os seus principais apelos para o mercado são bastante motivadores: não demanda desembolso prévio para licença de uso (troca capex ou custo de capital  por opex, que é custo operacional), menor custo de propriedade, evita aprisonamento forçado por parte de fornecedores e maior facilidade de customização, pelo livre acesso ao código fonte. Também observamos que sua disseminação não é homogênea por todos os segmentos de software. Sua utilização é muito mais ampla em sistemas operacionais, web servers e bancos de dados, mas ainda restrita em outros setores, como ERP e business intelligence.

Mas, Open Source não cresce não apenas no campo do uso tradicional de software, que são os aplicativos comerciais. Vemos sua disseminação se acelerando à medida que a Web se dissemina (muito do código que existe rodando na Web 2.0 e redes sociais é baseado em linguagens dinâmicas em Open Source como PHP, Python e Ruby) e veremos muito código Open Source sendo a base de sensores, atuadores, set top boxes da TV digital, netbooks, celulares e outros novos equipamentos. Open Source também está na base tecnológica de muitas infraestruturas de cloud computing.

… +veja o artigo na íntegra aqui.

Google: The bright side of sitting in traffic: Crowdsourcing road congestion data

Posted in News by admin on the August 25th, 2009

Real time traffic using people collaborative work (crowdsourcing):
http://googleblog.blogspot.com/2009/08/bright-side-of-sitting-in-traffic.html

See live traffic of Seatlle here.

New means of search

Posted in News by admin on the August 3rd, 2009

Google is the searching engine leader today. In the meanwhile, Yahoo and Microsoft just made a deal to fight together for the about 20% left over market. Although it’s still a billionary market, a new searching era is comming (actually, it’s already here).

Jeff Jarvis commented it out on the Twit TV show presented by Leo Laporte — which can be watched here http://odtv.me/2009/08/twig-1. He said:

Today you have to distribuite your stuff all across the web, you can no more expect people to come to you. So, the notion of having a home page like in 1999, where the whole world comes to you through google, may be passed. Just look at Google Wave, Google Elements, and thinks like that, it’s about distributing yourself and having your audience distributing you everywhere and that pasts search to the new means of discovery. Twitter is one of them.

Pay attention on how the social web influences you on filtering information out and helping you to search for the right thing.

Simbora – no ar

Posted in News by admin on the June 6th, 2009

Você costuma viajar?

Se você estuda fora, trabalha em outra cidade, namora, gosta de passear, enfim, independentemente do motivo prefere dividir uma carona com seus amigos do que viajar sozinho, isto pode te interessar…

A internet hoje nos oferece algumas alternativas para nos aproximar de grupos de pessoas com os mesmos interesses. No caso de dividir carona, existem comunidades no orkut, grupos de e-mails, ou mesmo alguns sites onde podemos postar nosso interesse em oferecer (ou procurar por) carona.

Procurar carona através de comunidades no orkut é rápido e fácil, no entanto existe o revés da segurança e confiabilidade nas pessoas que as oferecem, pois são abertas (públicas) demais.

Grupos de e-mail, oferecem segurança ao reunir pessoas com um certo vínculo entre si, mas trazem o revés do tempo inicial de estabelecimento no grupo e rigidez em seu itinerário. O usuário precisa ter o conhecimento prévio do grupo, pedir sua inclusão ao moderador e, após tudo estabelecido, limita-se a um certo itinerário específico, geralmente carona entre duas cidades.

Sobre sites para carona, apresento-lhes o Simbora.

Simbora

O Simbora reúne:

  • A segurança e a confiabilidade dos grupos de e-mail, pois ele é baseado no modelo de redes sociais. Assim, apenas pessoas próximas visualizam caronas entre si.
    User relationship
  • Facilidade, pois basta digitar De e Para e, zap, as caronas de seus amigos aparecem. Se você, amanhã, for pra uma outra cidade, basta digitar o nome desta na busca ao invés de ter que descobrir um novo grupo de e-mails.simbora distribuicao
  • A riqueza de um website próprio pra este fim. O Simbora é um mashup e utiliza alguns serviços como o Google Maps para enriquecer os resultados. Portanto, visualize o itinerário, distância, tempo. Veja quem está mais próximo de você. Uma pessoa saindo de São Paulo é algo um tanto genérico!
  • Cobertura. O Simbora tem plug-ins que o alimentam automaticamente, por exemplo há o leitor automático (parser) de e-mails trocados entre os grupos de carona. Desta forma, o Simbora se mantém atualizado (sincronizado com as demais fontes).

Experimente

A primeira versão disponibilizada ainda é um rascunho (versão alpha), mas já funciona. Basta acessar:

http://www.simbora.com.br

Quick script to fetch diff history [of a file] using svn

Posted in Tech by admin on the June 2nd, 2009

If you wanna see the whole history differences of some file in svn repository, you could use this:
$ svndiffhist file
Retrieving releases...
OK (found 17 steps)
## 908:895
diffs...
## 895:890
diffs...
## 890:880
... etc

Where svndiffhist is the following script:

function svndiffhist {
    FILE=$1

    echo -n "Retrieving releases..." >&2
    releases=$( svn log $FILE | grep '^r[^a-z]' | cut -d " " -f1 |
                cut -dr -f2- )
    num_steps=$( echo $releases | wc -w )
    echo -e "tOK (found "$num_steps" steps)" >&2

    # Sort them in ascrending order
    #releases=$( echo $releases | tr " " "n" | sort -n )
    # Group them as A:B B:C C:D
    releases=$( echo $releases | sed 's/ ([0-9]+)/:1 1/g' )

    for EACH_STEP in $releases; do
        #svn diff -r $EACH_STEP $FILE | gvim -
        echo "## $EACH_STEP" >&2
        svn diff -r $EACH_STEP $FILE
    done
}

A REST client interface for Python

Posted in Tech by admin on the July 15th, 2008

The py-restlib: [http://code.google.com/p/py-restlib] is a GNU GPL library that implements a REST client interface for Python.

Here it goes its Getting Started section:

Introduction

Py-restlib is supposed to be a simple REST client interface for python. But, it also claims that writing a python client to communicate with RESTful applications on the Web should be an easy task.

Getting Started

Download

Check out the latest release using svn:
svn checkout http://py-restlib.googlecode.com/svn/trunk/ py-restlib
svn checkout http://py-restlib.googlecode.com/svn/trunk/ py-restlib

If you want support for translating JSON format into python structures, download json-py package, and unzip it to json-py subdir.

Examples

The REST client


from restlib import *

users = Resource("http://hostname/api/users")

# List all users (GET /api/users)
users.get()

# List user where id==1 (GET /api/users/1)
users.get(1)

# List user where id==1 && foo=='bar' (GET /api/users/1?foo=bar)
users.get(1, foo='bar', ...)

# Create a new user (POST /api/users)
users.create(foo='bar', ...)

etc...

# You are also able to use it that way:
api = BaseResource("http://hostname/api")
api.users.get()
api.users.create(foo='bar')
etc...

The REST server (in this case a Ruby on Rails application)


class Api::UsersController < ApplicationController
    protect_from_forgery :except => :create
    # GET /api/users
    def index
        @users = User.find(:all) # FIXME: if param[id] - under construction

        request.format=:json if request.format=:html
        respond_to do |format|
            format.xml {render :x ml => @users.to_xml}
            format.json {render :json => @users.to_json}
        end
    end

    # POST /api/users
    def create    # FIXME: under construction
        request.format=:json if request.format=:html
        respond_to do |format|
            format.xml {render :x ml => params.to_xml}
            format.json {render :json => params.to_json}
        end
    end
end

Python POST request

Posted in Tech by admin on the July 14th, 2008

If you’re trying to send a python POST request with httplib, but it’s not working like example tells. Try this minor fix:

Here is an example session that shows how to “POST” requests:

>>> import httplib, urllib
>>> params = urllib.urlencode({’spam’: 1, ‘eggs’: 2, ‘bacon’: 0})
>>> headers = {”Content-Type”: “application/x-www-form-urlencoded”,
… “Accept”: “text/plain”}
>>> conn = httplib.HTTPConnection(”musi-cal.mojam.com:80″)
>>> conn.request(”POST”, “/cgi-bin/query”, params, headers)
>>> response = conn.getresponse()
>>> print response.status, response.reason
200 OK
>>> data = response.read()
>>> conn.close()

Thanks to wireshark and the working command below, so example above could be compared.

curl -d foo=bar http://localhost

Xavier na Info Exame (maio/08)

Posted in News by admin on the May 7th, 2008

A revista Info Exame, maio de 2008, lançou uma matéria sobre carreiras em linux, entitulada “O pingüim assina a carteira”, e um dos seus exemplos foi o LTC (Linux Technology Center) da IBM.

Tive a oportunidade de ser entrevistado e abaixo seguem alguns trechos da matéria.

Xavier no LTC

Links:

  1. info exame
  2. br-linux
  3. under-linux.org

Casamento do Lucas Martorano

Posted in News by admin on the April 23rd, 2008

vim – highlight search

Posted in Tech by admin on the November 12th, 2007

Para setar seu vim (vi) para destacar o que procura (to highlight the searched text), use:

:set hlsearch

keywords: highlight destaque destacar search procurar procurado searched text string
Next Page »