03 de June de 2013

10° Encontro de Programadores de C & C++


Aconteceu no último dia 25 de maio o 10° Encontro de Programadores de C & C++, o evento foi muito bacana e contou com uma grade de palestras bem diversificada. abaixo segue lista completa de todas as palestras e os devidos artigos e materiais utilizados pelos palestrantes!

C/C++ Brasil

Explorando Windows 32 em Windows 64 — Fernando Roberto da Silva
Um sistema operacional Windows de 64 bits é capaz de executar programas de 32 bits de forma completamente transparente, mas para alguns, isso pode gerar comportamentos inesperados. Este artigo descreve de maneira prática como o Windows é capaz de realizar essa tarefa de forma a permitir que programas de 32 bits possam coexistir com programas de 64 bits, explicando tais estranhezas e justificando-as. Como drivers de kernel se encaixam nessa história e quais os possíveis problemas podem ser observados na migração de drivers 32 bits para 64 bits.
  
Programação em GPU utilizando OpenCL — André Tupinambá
O OpenCL é um padrão aberto, definido pelo Khronos Group, para programação em dispositivo genérico. Hoje ele é suportado pelos principais fornecedores de GPUs (Nvidia, AMD e, recentemente, Intel) e CPUs (Intel, AMD e IBM); e espera-se que outros processadores tenham suporte em breve, pois já existem chips para celulares homologados, como o CPU ARMv7 com Mali-T604 GPU, e outros chips, como o FPGA da empresa Altera, em desenvolvimento. O framework OpenCL é composto por uma linguagem, uma API, bibliotecas e um sistema de suporte para o desenvolvimento. A linguagem é baseada no padrão C99 com algumas extensões para suportar os modelos de memória e execução do OpenCL. Este artigo descreve o que é programação para GPU e apresenta a plataforma OpenCL, com um estudo de caso.

Interoperando C++ e Java usando meta-programação em C++ — Felipe Magno de Almeida
Construção de middlewares baseados na tecnologia Java exigem por muitas vezes a interação com recursos específicos da plataforma, interagindo normalmente com interfaces em linguagem C ou C++. Essas interações com código nativo precisam ser feitas através da Java Native Interface na implementação OpenJDK do Java, que trás diversas dificuldades para o programador e tornam a tarefa de desenvolvimento desnecessariamente árdua, e o resultado dificilmente livre de bugs. Abordarei sobre o uso e construção de uma biblioteca que ajudará o usuário a mitigar os problemas decorrentes do uso direto da Java Native Interface e será feita uma comparação dessa biblioteca com outras soluções de binding como as bibliotecas luabind e Boost.Python, assim como suas diferenças intrínsecas por conta da tipagem estática da linguagem Java.

Kernel Insecurity Vectors — Carlos Carvalho e Alan Silva
O estudo das falhas de segurança pode ser tão geral quanto um buffer overflow em qualquer programa ou tão específico quanto defeitos na implementação do módulo X na versão Y da máquina virtual Z do fabricante W. Neste trabalho demonstramos falhas de segurança e métodos de exploração no kernel do Linux, mostrando a arquitetura e revisando algumas técnicas já conhecidas, para com isso tentar encontrar um caminho que resulte em novos métodos para explorar essas falhas, que chamamos vetores de exploração.

02 de June de 2013

17 de May de 2013

Introducing The Layout

As engineers, I believe the way we approach a problem is as important as the code we write. This is especially relevant in the context of UI engineering where design is such a vital element.

Unfortunately, it seems quite hard to find good content about everything that happens around us and inside our heads when we are building user interfaces. This is what The Layout is about.

My intent is to create a space for high quality content discussing the principles, mindset, and practices that I believe shape the craft of UI engineering. It is meant to be a shared space with many voices—so, expect some awesome guest authors.

I’ve just posted the very first article, Mind the Gap. My plan is to publish a new article every other week-ish. For now, subscribe to the RSS feed or simply follow The Layout on Twitter or Google+ to get future updates.

I really hope you enjoy it!

10 de May de 2013

Joining Intel

Today is my last day at Oi WiFi.

It has been 1 year and a half since I moved from my small city (Maceió) to the biggest, craziest Brazilian city, São Paulo. I don’t regret!

I’m lucky to have joined a great company (Vex at the time. Oi WiFi nowadays), with great people where I learnt a lot. I’m glad for the things I helped to improve, I’m sure we have better products than before and I’m proud to be part of that progress. I leave as legacy the spirit of the Free Software, where we can (and should) contribute back to projects we use and improve internally. Every improvement we made here we submitted back to projects like Openwrt, busybox, glib, etc.
However things and priorities in the company have changed a bit in the last few months. Time to look for a new challenge in my career.

What a challenge!

At Intel I’ll join the OTC – Intel Open Source Technology Center, and will work on Open Source projects such as Tizen, EFL, Webkit and hopefully GTK+ :)
The team I’ll work with is formed by the former Profusion company, acquired by Intel in the beginning of the year. Profusion was a company that I admired even before it was acquired by Intel :)

I’m very excited to join Intel. It’s a great opportunity in a great company and I don’t want to disappoint them!

I hope to publish here very soon the things I’m working on under the Intel umbrella. See you!

29 de April de 2013

UI polishing in Firefox for Android

Last week, we did our very first topic-oriented hackathon focused on UI polishing bugs. The UI changes we’ve done will make a substantial difference in the experience of using Firefox on Android. Here are some of my favourite fixes and improvements.

Tabs

Details in the tabs UI can make a big difference UX-wise. We changed the tabs button icon (see image) to provide better affordance. The new icon also features a much cooler animation when tabs are added or removed.

Last but not least, we added a subtle parallax effect when you the open/close the tabs panel giving it a more fluid feel.

Address bar

As Wes has already reported, you now have the option to show URLs instead of page titles in the address bar. The domain highlight (see image) is a nice touch and gives us feature parity with Firefox on desktop.

The reader and stop buttons now have properly sized hit areas to avoid tapping other parts of the toolbar by mistake—a long overdue issue.

That’s not all

Reader Mode will get some nice style updates for serif fonts, doorhanger notifications now have a more polished animation, text selection handles have a more consistent style, favicons in the awesomescreen will look fancier, some visual glitches in the awesomescreen and toolbar were fixed, and more.

Not all these changes are in Nightly just yet but they will show up in the next days. Firefox 23 has everything to be my favourite release ever. Download and install our Nightly build on your Android and let us know what you think.

13 de April de 2013

O mundo da Virtualidade Real

 

No início desse século, em 2000, desnudando uma nova realidade social embrionária, o sociólogo Manuel Castells escreve sobre a "Cultura da Virtualidade Real", num dos mais interessantes capítulos da sua grande obra "A Sociedade em Rede". Confesso que, logo que li o livro, passei desapercebido sobre a relevância dessa questão. Porém, quando voltei para universidade para fazer doutorado, li sua palestra (feita dez ano depois do livro!)  sobre “Redes sociais e transformação da sociedade”, eu pude perceber o quanto esse conceito é muito relevante nos dias de hoje, pois...      


"(…) Havia gente que dizia que a internet era um lugar alienante, onde as pessoas se ilhavam, mas, pelo contrário, onde há sociabilidade é na internet. Onde há cada vez menos sociabilidade é na vida física individual, porque as pessoas só correm, não têm tempo para nada. Há uma cultura individualista de competição no trabalho e na vida familiar, e onde as pessoas realmente se articulam socialmente é na internet e, a partir daí, desenvolvem sua própria vida. Passamos não ao mundo virtual, mas ao mundo do que chamo de virtualidade real. Não da realidade virtual, mas da virtualidade real.

A virtualidade é uma dimensão básica de nossa realidade, e é nesta articulação que se constrói nossa sociedade. E se constrói autonomamente. As pessoas constroem suas próprias redes sociais. Na internet, constroem seus próprios processos de ativação política e profissional. Não é um lugar para somente chat-chat. As redes sociais são para todos: para o profissional, político, intelectual, cientistas, acadêmicos. É aí que se as pessoas se expressam e articulam suas próprias relações." 2

 

1 Imagem feita por  Aurium
2 Manuel Castells, em sua palestra “Redes sociais e transformação da sociedade”, proferida no Centro Ruth Cardoso em 16 de setembro de 2010.

09 de April de 2013

Shell script that updates itself

Recently I needed to write a shell script that updates itself, and, surprising, I found it an easy job to do. I will share the recipe here.

In my use case, I’m developing a kind of software updater and, before updating the system packages, I need to check if there is a new version of this software updater. If there is, then I update myself and run my new copy on-the-fly.

Enough talk, show me the code. I’ll paste here a simple shell script that talks by itself:

#!/bin/sh

SCRIPT_NAME="$0"
ARGS="$@"
NEW_FILE="/tmp/blog.sh"
VERSION="1.0"

check_upgrade () {

  # check if there is a new version of this file
  # here, hypothetically we check if a file exists in the disk.
  # it could be an apt/yum check or whatever...
  [ -f "$NEW_FILE" ] && {

    # install a new version of this file or package
    # again, in this example, this is done by just copying the new file
    echo "Found a new version of me, updating myself..."
    cp "$NEW_FILE" "$SCRIPT_NAME"
    rm -f "$NEW_FILE"

    # note that at this point this file was overwritten in the disk
    # now run this very own file, in its new version!
    echo "Running the new version..."
    $SCRIPT_NAME $ARGS

    # now exit this old instance
    exit 0
  }

  echo "I'm VERSION $VERSION, already the latest version."
}

main () {
  # main script stuff
  echo "Hello World! I'm the version $VERSION of the script"
}

check_upgrade
main

To try this script:
1) save it somewhere
2) save a copy of it at /tmp/blog.sh (as pointed at line 5)
3) modify the variable “VERSION” (line 6) of that copy, to, say, “2.0″.
4) run the original script (not the one at /tmp)

You will see that the script updated itself and ran the “new” 2.0 version.

Try running again the original script (step 4 above). See the difference? It doesn’t update itself anymore, because it is the “latest” version.

A small thing you might notice: at line 19, I deleted the “new file”. That’s merely for this educational example, that we check if there’s a new version of the script by just checking if a file exists in the disk. On real life (with apt/yum or any smarter process) this is not needed as our check for a new version (line 13) will naturally fail.

This was tested with bash, dash and busybox’s ash. Worked fine.

I hope it’s useful to someone. Comments are welcome!

19 de March de 2013

Castálio Podcast: Everaldo Canuto: Toca do Canuto

image

Eu conheci o Everaldo em uma tarde super calorenta durante a abertura do evento GUADEC nas Ilhas Canárias. O mais interessante foi que não demorou mais que um dia para que nossa amizade se tornasse igual aquelas amizades que fazemos quando criança… aquelas pessoas que não importa o tempo ou a distância, você sempre fica feliz de encontrar e bater um papo!

O Everaldo teve uma das oportunidades que eu sempre sonhei em ter: trabalhar lado a lado com o Miguel de Icaza, um dos fundadores do Projeto GNOME, figura quase que mitológica do mundo do software livre e hoje empresário com várias companhias de sucesso em seu histórico! Ele também trabalhava com a tecnologia .NET numa época quando qualquer coisa que fosse remotamente relacianada à Microsoft era motivo para perseguição e “trollage” pelos apoiadores mais zelosos do Linux. Durante grande parte de nosso bate-papo, conversamos sobre como que ele foi parar na Novell trabalhando para a equipe do Miguel, como era o dia-a-dia lidando com o sentimento anti- Microsoft, quais tecnologias ele recomenda para quem está começando a trabalhar na área de TI, o “problema” do Java, e sobre seu mais novo projeto,Toca do Canuto.

Assista o vídeo da entrevista aara ver a nossa conversa na íntegra, sem edição e escutar algumas coisas que não foram incluídas no podcast.

Escute agora: [MP3] [Ogg] [AAC] [Youtube]

03 de March de 2013

Castálio Podcast: Alexandre Gaigalas: Yahoo

image

Seja bem-vindo à mais um episódio, desta vez com o Alexandre Gaigalas que trabalha como engenheiro de software da Yahoo no Brasil! Durante nosso bate-papo conversamos sobre o que ele faz na Yahoo, em quais projetos que trabalha, e acabei descobrindo que ele é mais um exemplo de uma pessoa que teve seu trabalho perante uma comunidade de software livre reconhecido, levando-o a ser indicado para trabalhar em uma companhia de nome! Conversamos sobre o recente anúncio que a CEO Marissa Mayer fez, declatando que não se poderá mais trabalhar remotamente na Yahoo, sobre o efeito que isso teve na moral dos empregados, e como que a sua vinda está transformando a companhia em uma empresa mais moderna e com mais atenção à qualidade de seus produtos e bem-estar de seus empregados.

Mais uma coisa bacana que aconteceu durante a gravação foi um commit que o Alexandre fez ao-vivo para o código do Respect Doc em homenagem ao podcast! :)

Também falamos de programação RESTfulweb semântica, o Respect Project e seu Top 5!

Escute agora: [MP3] [Ogg] [AAC] [Youtube]

26 de February de 2013

Discussões sobre a Petrobrás

Assim que a Petrobrás divulgou os resultados do ano calendário de 2012 houve um sem número de controvérsias a respeito. Eu participei de algumas discussões e fiquei animado pra escrever um post explicando de forma mais detida minhas opiniões a respeito. Vou tentar abordar cada um dos argumentos usados nas discussões de que participei.

Está tudo bem, compre Petrobrás!

Vou começar tratando de um post do Paulo Henrique Amorim. O teor do post pode ser dividido em 2 partes: a primeira parte é uma nota oficial da Petrobrás em que ela diz o seguinte:

Em 2012, o lucro líquido foi 36% inferior ao apurado em 2011, refletindo os efeitos da depreciação cambial, maior participação de derivados importados no volume de vendas e aumento das despesas operacionais com maiores baixas de poços secos e subcomerciais;A segunda parte é um comentário feito pelo jornalista em que ele dá a entender que os jornais O Globo, Folha e Estadão deram um viés de má notícia em suas manchetes (que focam na queda de lucro recorde), enquanto a “publicação especializada” InfoMoney dá uma manchete que cita o valor auferido em lucros e indicando que o lucro superou as estimativas. Ele termina sugerindo ao leitor que compre ações da Petrobrás.

Eu considero esse post do Paulo Henrique Amorim uma tentativa pífia de dar um giro positivo numa notícia que não tem nada de positiva. O fato é que o lucro da Petrobrás caiu em 36% – mais que um terço! – em relação a 2011. As expectativas em relação ao lucro da Petrobrás estavam baixas por várias razões (algumas até listadas no texto da Petrobrás, acima) e o fato de o lucro ter superado essas expectativas não ajuda muito.

Valor das ações da Petrobrás de 2008 a início de 2013

As expectativas em relação à saúde financeira da Petrobrás e ao nível de interferência política sofrida pela empresa não é coisa nova. A Petrobrás perdeu mais de 66% do seu valor de mercado desde 2008, como se pode ver no gráfico acima, obtido no Yahoo! Finance. Isso significa que alguém que comprou 100 reais em ações da Petrobrás em 2008 hoje não vende as mesmas ações por mais do que 34 reais. Faz sentido, então, recomendar a compra, como fez PHA? Antes, vamos tentar entender as razões por trás da queda.

E por quê essa perda gigantesca?

As intervenções do governo e as mágicas fiscais

Em 2010 a Petrobrás fez o que o ex-presidente Lula chamou (com razão) de a maior capitalização da história do capitalismo mundial. O que foi isso? A Petrobrás precisava de dinheiro em caixa pra fazer investimentos na extração do pré-sal. Para conseguir esse dinheiro, a Petrobrás aumentou o número de ações que a compõe e as ofereceu na bolsa. Trabalhadores brasileiros puderam usar o dinheiro do FGTS para adquirir ações – e muitos fizeram isso!

Como parte do processo a União fez o que se chamou de cessão onerosa de 5 bilhões de barris de petróleo que se encontravam em lotes do pré-sal. O petróleo que está em território brasileiro é do Estado brasileiro, para que seja extraído de lá e usado comercialmente, a União faz leilões de concessão. Na capitalização a União concedeu, com antecedência, à Petrobrás os direitos sobre esses 5 bilhões de barris e ganhou, em troca, R$ 74,8 bilhões. Desses, R$ 42,9 bilhões foram usados para compra de ações da capitalização da Petrobrás, aumentando a participação da União na empresa. Note que até hoje esses barris estão lá embaixo da terra. O que foi feito foi uma transação sobre direitos futuros.

Com que propósito isso foi feito? Em primeiro lugar para viabilizar a capitalização, claro, mas em segundo lugar, esses bilhões foram usados para fazer o superávit primário de 2010. Esse é um dos exemplos de como o governo tem usado a Petrobrás politicamente, para fingir que cumpre as metas que define para si mesmo. Esse foi um dos fatores que levaram as ações da Petrobrás a continuarem em queda, mesmo depois de ter feito a maior capitalização da história. Vamos falar de outra: o subsídio à gasolina.

O subsídio à gasolina

Outra das razões para a queda do valor de mercado está na nota da Petrobrás citada acima: “maior participação de derivados importados no volume de vendas”. Em 2006, ano eleitoral, Lula foi a um campo de exploração de petróleo da Petrobrás pintar as mãos de preto e anunciar a nossa auto-suficiência em petróleo. Os mais atentos também devem se lembrar de como Lula fazia discursos ufanistas quando falava do etanol brasileiro, de como era o mais eficiente do mundo e coisa e tal.

Acontece que demanda por combustíveis aumentou consideravelmente desde então, em parte impulsionada pelo subsídio dado pelo governo para venda de automóveis, através da redução do IPI, e o setor produtivo brasileiro simplesmente não teve condições de atender à demanda. Resultado: milhões e milhões de barris importados tanto de etanol quanto de gasolina. A auto-suficiência durou bem pouco.

Por si só, o fato de termos que importar etanol e gasolina não seria tão problemático. Acontece que o governo, através da Petrobrás, adotou uma postura de não repassar ao preço local da gasolina os ajustes sofridos pelo preço do petróleo no mercado internacional. Essa postura funcionava quando a auto-suficiência em petróleo era um fato, mas a partir do momento em que nós começamos a importar, a Petrobrás estava pagando muito mais pela gasolina que comprava do que cobrava pela gasolina que vendia, o que levou a uma situação inusitada: quanto mais gasolina vende, mais a Petrobrás perde dinheiro! Como pode ser visto no post linkado, calcula-se que depois do reajuste da gasolina dado no começo de 2013 a Petrobrás está perdendo 1,2 bilhões de reais por mês. Essa é nossa situação atual.

Mas o subsídio à gasolina é do interesse nacional!

Assumindo que faça sentido a Petrobrás destruir sua saúde financeira para estabelecer um subsídio de interesse do país (falo disso mais adiante), resta somente a questão de se é interesse do país o subsídio à gasolina. Será que é? Eu acho difícil decidir sobre uma coisa complexa dessas assim de supetão; Uma das questões que servem como base pra essa é se é do interesse do país o subsídio ao IPI, dado anteriormente, e que levou à alta da demanda.

A redução de IPI para automóveis foi uma medida adotada pelo governo para aquecer a economia e impedir que a crise de 2008 nos atinge com mais força, reduzindo o emprego e a renda. É louvável essa tentativa, mas por quê a indústria automobilística? Uma das razões é possivelmente que essa é uma indústria que emprega muito e que tradicionalmente trabalhou com o governo para evitar reduções de postos de trabalho. OK, até aqui tudo bem. Mas será que não existem diversas outras indústrias que poderiam absorver os trabalhadores que perdessem o emprego nas montadoras? Quem dirá os serviços e indústrias de suporte que certamente surgirão em volta de empreendimentos desse porte?

Além de pensar sobre isso, temos que pensar também nos outros resultados que advem de uma política dessas. Uma delas é óbvia: a quantidade de carros nas cidades aumentou vertiginosamente, aumentando a poluição e os engarrafamentos. Essas são o que a economia chama de externalidades negativas. Imagine se ao invés de incentivar a compra de carros o governo federal tivesse iniciado investimentos consistentes em obras de mobilidade urbana em todo o território brasileiro. Canteiros de obra para metrôs, BRTs, trens poderiam não só absorver os trabalhadores que eventualmente fossem demitidos nas montadoras, mas gerariam uma externalidade positiva significativa. Melhoria na qualidade de vida das pessoas.

Do meu ponto de vista, o incentivo à compra de carros foi um erro. Mas suponhamos que tenha sido uma boa ideia. Voltemos à questão do subsídio à gasolina: o subsídio vem da Petrobrás, que é uma empresa de capital misto, o que significa que parte dela é do Estado brasileiro, parte de entes privados e indivíduos. Por isso mesmo, parte do dinheiro investido nesse subsídio é público. Ou seja, é dinheiro da pessoa pobre que recebe Bolsa Família, meu e seu.

Faz sentido usar esse dinheiro para beneficiar quem usa carros a gasolina? Eu consigo ver o benefício pra mim, que tenho carro e uso gasolina, mas que benefício à sociedade esse subsídio dá, que justifique usar dinheiro da pessoa pobre que recebe Bolsa Família pra me ajudar? Os argumentos que eu ouvi são de que um aumento na gasolina acarreta aumento de custo e portanto um aumento de preços em cascata no resto da cadeia produtiva. Será? Caminhões e ônibus usam diesel, por exemplo, então não vejo como o custo de transporte de cargas e passageiros seria afetado. Quem tiver alguma ideia, poste aí nos comentários.

A Petrobrás é uma empresa estatal/pública e portanto tem o dever de proteger os interesses nacionais!

Eu argumentei antes que o subsídio à gasolina não é necessariamente do interesse nacional. Acho o mesmo quando se trata de usar mágica contábil… mas vamos supor que fossem interesses nacionais. A Petrobrás tem o dever de protegê-los? Gostaria de voltar à questão da capitalização. Os mais atentos lembrarão que a Petrobrás é uma empresa de capital misto, ou seja, a União é um dos acionistas, mas há outros. Quem são esses outros? Grandes capitalistas que especulam na bolsa? Certamente há. Mas os mais atentos lembrarão que também há inúmeros trabalhadores, que usaram seu rico dinheirinho do FGTS para comprar ações da capitalização. São mais de 70 mil trabalhadores que tem mais de 2 bilhões aplicados na oferta original em 2000 ou na capitalização de 2010. Sem contar investidores individuais, que podemos ser eu e você. Quem comprou 100 reais em ações em 2010 hoje vende por 70. E não há sinal de que a trajetória de queda vai mudar.

É justo a Petrobrás tocar o foda-se para União, trabalhadores e outros acionistas e perseguir o que alguém tirou do Cadastro Único ser do interesse nacional? Eu diria que não. Se for o caso, e acho que, como qualquer outra política pública, o mérito dessa tem sim que ser avaliado, o ideal é fechar o capital da empresa, ou seja, tirá-la da bolsa de valores e trazer o orçamento da empresa pra dentro do orçamento geral da União. Por quê? Porque se vamos usar dinheiro público para fazer subsídio de interesse nacional é essencial que fique claro e transparente para todos que esse subsídio é feito ao invés de outros investimentos. O dinheiro que iria para subsidiar a gasolina poderia talvez ser melhor gasto na educação, por que não?

Conclusão

Respondendo à pergunta original: e aí, faz sentido recomendar a compra de Petrobrás? Do jeito que a coisa está hoje, não acho que faça sentido. É necessário que a empresa e o governo demonstrem que a Petrobrás será gerida como uma empresa séria de novo antes que seja possível confiar nela. Mas eu sou otimista e acho que a Graça Foster foi colocada lá com essa condição: de que ela poderia colocar a empresa nos trilhos. O aumento da gasolina do começo de 2013, apesar de não acabar com a defasagem do preço, é um passo na direção certa. Se você acredita que as intervenções políticas vão acabar e que a empresa vai parar de tomar decisões estúpidas como a de subsidiar a gasolina, compre. Se não acha, não faz sentido comprar.

Atualização (3 de março de 2013)

Só no primeiro bimestre de 2013 o valor de mercado da Petrobrás caiu mais do que em todo o ano de 2012. O aumento insuficiente para corrigir a distorção do preço da gasolina é uma provável explicação.

19 de February de 2013

PNUD abre dados de mais de seis mil projetos usando plataforma livre

O Programa das Nações Unidas para o Desenvolvimento (PNUD) lançou, no final de 2012, uma plataforma digital que permite o acesso público a dados de projetos em 177 países e territórios, com o compromisso de transparência total até 2013, em conformidade e até além de padrões internacionais.

“A transparência é uma prioridade para o PNUD, além de ser um elemento fundamental para a manutenção da confiança depositada em nós pelo público em geral e por nossos parceiros. Este portal on-line permite acompanhar as doações e ajuda nossos parceiros a gerenciar de maneira mais efetiva seus recursos”, disse Helen Clark, diretora mundial do PNUD.

“Estamos comprometidos em trabalhar de forma transparente e vamos continuar aumentando a quantidade, qualidade e intemporalidade de nossos relatórios para que nossos parceiros possam monitorar seus investimentos no combate à pobreza, no apoio ao desenvolvimento humano e nos processos que asseguram um futuro sustentável para todos”, disse. O novo portal, open.undp.org, possui ampla gama de informações programáticas – desde receita e gastos até atividades e resultados – sobre mais de 6 mil projetos do PNUD em andamento pelo mundo, assim como aqueles que foram encerrados financeiramente em 2011, além de mais de 8 mil produtos e resultados.

Para publicação  dos dados no mapa, o portal utilizou a plataforma livre Open Streat Map (no lugar do Google Mpas) por meio do serviço MapBox. Além disso, todos os dados do portal podem ser usados por meio da licença Creative Commons’ Attribution License (CC-BY). Os usuários podem ordenar os projetos por área de atuação, fontes de financiamento e área geográfica para extrair dados detalhados sobre orçamentos, agências implementadoras e produtos esperados em áreas como governança e justiça, prevenção de crises e recuperação e meio ambiente e desenvolvimento sustentável.

O PNUD, como membro fundador da IATI, assumiu o compromisso de adesão total aos padrões de transparência até 2013, garantindo a publicação de dados financeiros e informações de projetos da maneira mais transparente e acessível possível.


Fonte: http://www.pnud.org.br/Noticia.aspx?id=3682

03 de January de 2013

Traduzindo o Ubuntu 13.04 Raring Ringtail


Já estão abertas as traduções da próxima versão do Ubuntu, o Raring Ringtail 13.04!

Como líder da equipe de tradutores da Ubuntu Brasil, esta não é a primeira (e nem será a última) convocação para esta tarefa tão importante e fundamental para deixar o nosso querido Ubuntu 100% Português do Brasil! Aproveito agora para tirar algumas dúvidas a respeito de todo o processo:

Como faço para ajudar nas traduções?

- Simples! Primeiro convido você a conhecer um pouco melhor sobre o Time de Tradução, acessando a nossa Wiki (http://wiki.ubuntu-br.org/TimeDeTraducao). Nela você conseguirá sanar muitas dúvidas a respeito de todo o processo! Não se esqueça de se registrar no Launchpad e assinar a lista de discussão dos tradutores. ;)

Onde estão os pacotes a serem traduzidos?

- Para ter acesso aos pacotes com strings sem tradução, basta acessar o seguinte link do Launchpad:

https://translations.launchpad.net/ubuntu/raring/+lang/pt_BR

Se eu tiver alguma dúvida sobre algum termo, como devo proceder?

- O nosso time, bem como outras equipes de tradução como a do GNOME, XFCE, KDE, etc… utilizam os seguintes dicionários de termos:

Não se esqueça de levar a sua dúvida também para a lista de discussão dos tradutores. Ela pode ser de outros também… ;)

Mesmo depois de tanta informação, continuo com dúvidas. Quem pode me dar um “help”?

- Além de tirar suas dúvidas na lista de discussão, eu e o Tiago Hillebrandt estamos à disposição para resolver qualquer problema.

Ah… mas eu não sei traduzir. Existe outra forma de ajudar a comunidade e principalmente os usuários do Ubuntu aqui no Brasil?

- Claro que tem! Basta conhecer os outros Times do Ubuntu Brasil e assim ajudar do jeito que puder! Acesse http://www.ubuntu-br.org/participe e… participe! ;)

Até a próxima!

TwitterFacebookGoogle ReaderGoogle GmailShare

02 de January de 2013

Feliz 2013!

Ano novo… e novidades: Seja bem vindo Ubuntu Phone OS!

Um vídeo vale mais que mil palavras! ;)

TwitterFacebookGoogle ReaderGoogle GmailShare

19 de August de 2012

#GSoC Final Report

Hey,

I can believe it’s over. This Summer passed way too fast! It was a great opportunity of learning more about free software development, programming, and GNOME.

To describe and evaluate my Google Summer of Code, I have chosen an interview-style post. I think this is the most efficient way of describing my internship experience.

What do you consider the best aspect of participating in GSoC?

The satisfaction of feeling part of something bigger than yourself. To work side-by-side with people really engaged in software development.

What do you consider the most challenging part of your internship?

Definitely it was conciliating the program with my university duties, since it’s not summer in the Southern Hemisphere. Although getting familiar with large projects, such as Tracker, was hard as well.

How was your mentor?

Cosimo is a great person and has been a great mentor. He has been patient in leading me to the right direction, pointing me what to do, and teaching me what was needed.

What would you do different if you could do it again?

It’s easy to point mistakes but they are part of the learning process. You got to learn from your mistakes to not repeat them.

I could have started my work in Documents UI sooner to have more time to polish/enhance/improve it. Also, I could have asked [more] for help and completed the Tracker task in lesser time.

Which tips would you give to future students?

  • Ask for help/tips/advice. I’ve lost a lot of time in tasks that my mentor could answer in seconds. :)
  • Attend GUADEC!
  • Show your code!

What one thing did the GNOME community do that you consider very helpful for your project and would suggest they continue to do?

Incentivate interns to attend GUADEC. It is an environment of creativity and innovation which certainly will inspire students to get involved even more with the community.


Removable-devices support in Documents

The original proposal was: “To make GNOME Documents able to manage and view files on plugged in removable devices. Including extending Tracker to provide the APIs we need to implement the feature.

What has been achieved?

Tracker:

The ‘IndexFileForProcess‘ API method has been created. It lets client-applications call Tracker to index files/directories/mount-points transparently on an application basis (you can read more about it in my last report). This mechanism works nicely for what we want in Documents.

Documents:

Documents is able to recognize a plugged-in removable device, create a ‘virtual’ collection containing all the documents inside the device.

What was left behind?

  • Users should be able to Import files from removable devices to the local disk.
  • An already imported document shouldn’t be imported again.

Software is never done! So I’m committing myself to getting these things [gnome] done. :)

What’s next?

In addition to finish what’s left in my task, I want to apply for a GNOME Foundation membership, and keep contributing to GNOME.

Acknowledgements

I want to thank the GNOME community for helping students get involved with free software development, Google for giving me the opportunity of work with GNOME, Cosimo Cecchi for guiding me in my project, and you for reading this long report. :)

Cheers!
Felipe.

18 de August de 2012

#GSoC Report V

Hey, this is not my GSoC final report. :)

I didn’t expect to be still talking about my work on Tracker at this time, but Martyn Russel has made some nice suggestions of modifications to my code on his review of my patch. The ‘IndexMount’ DBus method has been exchanged for an ‘IndexFileForProcess’ DBus method. It’s a more generic mechanism which allows Tracker to index files on a client-application basis.

It works almost equally to the old ‘IndexMount’. Receives a request-to-index a file/directory/mount-point and watches the bus name of the calling application. It stops the indexing process when no bus names are associated to the file.

I am not that late, I am also working in Documents. Currently Documents loads plugged-in removable devices, uses the Tracker mechanism I’ve described in the previous paragraph to index them, and creates a Device Collection into the overview containing documents inside the device.

I am preparing a preview for my GSoC Final Report (that I will post tomorrow).

See you! ;)

10 de March de 2012

WebKitGTK+ Debian packaging repository changes

For a while now the git repository used for packaging WebKitGTK+ has been broken. Broken as in nobody was able to clone it. In addition to that, the packaging workflow had been changing over time, from a track-upstream-git/patches applied one to a import-orig-only/patches-not-applied one.

After spending some more time trying to unbreak the repository for the third time I decided it might be a good time for a clean up. I created a new repository, imported all upstream versions for series 1.2.x (which is in squeeze), 1.6.x (unstable), and 1.7.x (experimental). I also imported packaging-related commis for those versions using git format-patch and black magic.

One of the good things about doing this move, and which should make hacking the WebKitGTK+ debian package more pleasant and accessible can be seen here:


kov@goiaba ~/s/debian-webkit> du -sh webkit/.git webkit.old/.git
27M webkit/.git
1.6G webkit.old/.git

If you care about the old repository, it’s on git.debian.org still, named old-webkit.git. Enjoy!

07 de March de 2012

Foursquare adota OSM

O Foursquare anunciou semana passada que estava adotando o OSM em seu website, deixando o Google Maps de lado. Sim, está valendo somente para o site, os aplicativos mobile continuam usando a API do Google.

Na prática pouca coisa mudou e está se discutindo se o Foursquare irá importar seus POIs para o OSM. Enquanto isso, veja como ficou o cabeçalho do serviço, muito mais bonito =)




Comentários | Link permanente
© Djavan Fagundes, 2010.

20 de November de 2011

Pssst

Do you have 3 minutes? I’m running a small user survey about the information architecture of the GNOME website and its services. If you do, here’s the link.

18 de November de 2011

About being late, spending time, delivering GSoC tasks and my final paper

It’s been a long time since Google Summer of Code ended, and I still haven’t posted anything since August. I know I am very late (it’s hard to believe that 2011 is already coming to a close — Desktop Summit seemed like it was yesterday!), but besides being extremely busy with my regular job and lots of others little projects and my final paper, I don’t have an excuse.

I got 5 big tasks in my GSoC TODO list. I knew it was a lot right from the beginning, but I didn’t want to worry about the short timetable I would get in the program. I already was contributing in the web team and keeping working on it after GSoC wouldn’t be an issue. From May to August I got intense days in my university (considering it was winter here) and this delayed me a lot. I need to thank to Federico again for his support as my mentor :) .

As for the 5 tasks I got, I only didn’t work in one (which was about reorganizing the developer area). Two of the tasks are ready to be deployed (the one to add support for translating the GNOME website and the other to have a new applications area), and the other two (the community website — which I must say it could be an entire Summer of Code project — and the template update for subdomains) are half-done.

I’m about to give more details about my nearly finished tasks and on deploying them in another post soon (like the new Damned Lies template above which is completely out of context in this post) basically because I’m catching a bigger fish right now. For the past month I’ve been working in my final paper for university. I’m finishing my bachelors in Design and this is consuming all my free time as I need to get it done in the beginning of December. The good part is that it is an analysis of the information architecture for the GNOME website!

And as part of my final paper study, I’m about to publish a user survey which might give me some data regarding how people use GNOME website and its services. Stay tuned!

Meanwhile, please be patient :) . Thank you!

08 de November de 2011

Belas apresentações com o GNOME Pinpoint

Conheci o GNOME Pinpoint durante uma sessão hacking com o Vinícius na Latinoware e na mesma hora migrei a minha apresentação do LibreOffice Impress para ele. Como o slogan sugere, o Pinpoint é uma ferramenta que permitem que hackers criarem belas apresentações.

Ela funciona via terminal, você cria um arquivo texto com a sintaxe do programa e a executa.

O pinpoint possui recursos interessantes, transições, formatação dos textos, imagens de fundo, alteração em tempo real, dentre outros.

Aqui tem um pequeno vídeo mostrando o funcionamento da ferramenta.

Para quem quiser instalar e já ver "de qual é", tem um exemplo aqui.

Sei que tem pacotes para o Archlinux, outras distribuições eu ainda não pesquisei!

Espero ver nos eventos por ai todos usando! Boas novas apresentações!

Comentários | Link permanente
© Djavan Fagundes, 2010.

30 de May de 2011

Vixe Maria!!!

.
Pô gente, foi mals...

Quando liguei a opção de "moderar comentários", achei que o blog me enviaria avisos dos comentários que precisavam ser moderados... Hoje, ao entrar aqui no "painel de controle", vi que tem uns 30 comentários aguardando moderação!!! Vixe Maria!!

Vou fazer isso agora. Mas peço desculpas a todos que postaram comentários. Foi malzaço mesmo... :-/

Abraços a todas e a todos!
Carlão

27 de May de 2011

Botão para escolher entre "tree" e "places" no Nautilus Elementary

.
Você instalou o ótimo Nautilus Elementary, mas não gostou de perder aquele botãozinho que trocava entre a visão "tree" e "places", do painel da esquerda?

Nada mais fácil de resolver...

  • abra o terminal;
  • execute o gconf-editor;
  • abra o "diretório" apps;
  • dentro de apps, procure e abra o "diretório" nautilus;
  • dentro dele, clique em "preferences";
  • marque "sidebar_show_places_menu";
  • feche o gconf-editor
  • feche o terminal.... (dããã!)

Se tiver algum nautilus aberto, feche e reabra.

Tão fácil que nem vou colocar screenshots... :-)

Abraços!
Carlão

22 de May de 2011

Meu ambiente de desenvolvimento em 7 itens

Resolvi participar deste meme e, aqui vai, meu ambiente de desenvolvimento em 7 itens:

1) Hardware e Sistema Operacional

Minha principalmente máquina para desenvolvimento é um Macbook Pro de 13 polegadas (modelo 2011), com 8GB de RAM, Intel Core i7 2.7Ghz e 256 GB SSD. Confesso que os 8GB de RAM não estão fazendo tanta diferença (utilizo bem menos que isso), mas o SSD faz milagres. Recomendo a todos que, assim que tiverem a oportunidade, substituam seus HDs por SSDs.

UPDATE: Muita gente me perguntou como consegui o SSD. Eu já comprei o Macbook com ele, na loja da Apple, com desconto para desenvolvedores. Na verdade, minha grande amiga e mac maníaca, Marília Guimarães, quem fez a compra nos EUA e o trouxe para cá. O desconto que a Apple dá para desenvolvedores é bem significativo (coisa de $250), mas exige que você tenha um endereço nos EUA. A vantagem de comprar o Macbook com SSD da própria Apple é que ele já vem com suporte a TRIM, o que melhora a vida útil do mesmo.

No Macbook rodo exclusivamente Mac OS X 10.6.8. Há alguns meses o Linux deixou de ser meu sistema operacional principal, apesar de continuar administrando diversos servidores (mas para isso preciso apenas de um Terminal :).

Quando estou desenvolvendo costumo ligar o macbook a um monitor externo de 22′. Programar com duas telas melhora bastante a produtividade, mesmo quando elas não possuem o mesmo tamanho.

2) Linguagens de Programação

Python é, provavelmente, a linguagem que mais utilizo. Escrevo ferramentas para Unix, utilitários no trabalho e estou portando todos meus scripts em bash para python. Entretanto, a cada dia que passa eu tenho programado mais em Objective C, pois tenho feito bastante coisa para iOS (iPhone e iPad). Acredito que em poucas semanas meus pontos na skill “Objective C” irão superar os da skill “Python”.

Também ainda programo um pouquinho em Bash, mantendo alguns scripts antigos.

3) Editores e IDEs

Minhas linhas de Python e Bash são praticamente todas feitas no Textmate, um fantástico editor para Mac OS X, cheio de atalhos e snippets que colocam sua produtividade lá em cima. Recentemente comecei a experimentar o Coda e o Espresso, pois o Textmate está sem atualizações há algum tempo.

Quando estou programando para iPhone e iPad (Objective C) eu sempre uso o Xcode. Não gosto muito dele, mas ainda é a melhor opção (se não for a única) para quem quer programar para estas plataformas.

4) Controle de Versão

No trabalho costumo usar o Git. Em projetos open source depende bastante do resto da equipe. Em alguns casos também uso o Git, hospedando no GitHub, mas em outros uso o Mercurial, hospedando no Google Code. Gosto muito de ambos.

5) Virtualização

Utilizo o Vmware Fusion para virtualizar outros sistemas operacionais quando preciso. Ele é muito bem integrado com o Mac e, sinceramente, não tenho nada a reclamar. Entretanto, minha necessidade de virtualizar algo está cada dia menor. Hoje tenho apenas uma VM para o Backtrack e outra com Cent OS.

6) Softwares

Os softwares que mais uso são:

  • Chrome: Na minha opinião, o melhor browser da atualidade. Leve, relativamente seguro e cheio de recursos. Faço questão de utilizar o build de desenvolvimento do Chrome que, apesar de ser considerado instável, me atende bem e permite que eu teste muitos recursos antes deles chegarem na versão estável.
  • Keynote: Ótimo para fazer apresentações para eventos, clientes e para a própria equipe. Deixa o PowerPoint no chinelo.
  • Adium: Sempre estou disponível no Gtalk e o Adium é um ótimo cliente para Mac.
  • PivotalTracker: Utilizamos SCRUM no trabalho e o PivotalTracker é um ótimo sistema para gerenciamento de tarefas, que se casa perfeitamente com o SCRUM.
  • Campfire: Quando a equipe toda precisa bater um papo online, nós utilizamos o campfire. Além do bate-papo, o sistema permite anexar arquivos e compartilhar códigos.
  • Git-Tower: uma ótima interface gráfica para gerenciamento de repositórios Git. Bonita, prática e funcional.
  • Ecoute: Não gosto do iTunes, então tive que procurar um bom player para o Mac. O Ecoute foi sugestão de um amigo e a escolha foi mais que certa. Possui os recursos que mais gosto como, por exemplo, lastfm, minimalismo, controle no desktop, capas etc.
  • Sparrow: Sou fanboy do Gmail e, quase sempre, o utilizo pela interface web mesmo. Ultimamente estou tentando utilizá-lo no desktop, para ver se tenho algum ganho de produtividade. Nestas ocasiões, uso o Sparrow Mail, o cliente para Mac que mais se aproxima da experiência real do Gmail.
  • Terminal: Vira e volta preciso fazer algo via linha de comando. Utilizo o próprio Terminal do Mac, mas com alguns recursos adicionais.
  • Things: Ótima ferramenta para gerenciamento de tarefas.
  • 1Password: Não dá para lembrar de todas as senhas, de todos os sites. Por isso, deixo o 1Password fazer o trabalho sujo para mim.

7) Música

Não dá para trabalhar sem música. Na verdade, eu conseguiria colocá-la em quase todos os momentos da minha vida. Prefiro escutar música com fones de ouvido, ao invés de som ambiente.

Só gosto do bom e velho Rock And Roll, Blues e Jazz. Led Zeppelin, Deep Purple, Pink Floyd, Black Sabbath, Beatles, Metallica, AC/DC, Neil Young, Creedence Clearwater Revival, Steve Ray Vaughan, BB King, ZZ Top e por aí vai. Axé, pagode e essas bandinhas emo, tipo NX Zero e Restart, são totalmente proibidas na playlist.

E seu ambiente de desenvolvimento, como é?

Agregador com blogs sobre desenvolvimento para iOS

Recentemente criei um agregador com diversos blogs sobre desenvolvimento para iOS.
 Criei dois, na verdade. Um com blogs em inglês e outro com blogs
 nacionais:

A ideia é agregar os blogs como um todo, sem a censura bitolada que
outros agregadores de blogs usam para filtrar o conteúdo que é
publicado.

Para participar do agregador não precisa falar apenas sobre
desenvolvimento para iOS, mas isto tem que ser o foco principal. Eu 
até aceito outros tipos de posts, já que há outros temas que podem nos
interessar (boas práticas, metodologia etc).

Gostaria de sugestões de blogs que podem ser adicionados ao planeta. Principalmente blogs nacionais.

15 de May de 2011

Minha primeira semana com o Xoom

Mensagens subliminares...

A pouco mais de uma semana estou usando o Xoom da Motorola, o primeiro tablet com o Android Honeycomb, e até o momento as impressões que tive são as melhores possiveis.

Desde de quando começou essa explosão de tablets,  sempre me perguntei duas coisas: para que eu teria um tablet e para que isso serve? A resposta para esses questionamentos estará no fim do post.

Logo que você liga o aparelho você tem uma pequena má surpresa, no modelo 3G ele requer um sim card para que você possa entrar no sistema, passado esse pequeno incomodo, logo você está configurando sua conta Google.

O xoom, como dito anteriormente, vem com o Android 3.0 e para quem está acostumado com o sistema Android logo percebe as diferenças, é uma interface bem diferente e com conceitos diferentes. O dispositivo não tem botões de navegação, ele tem apenas o botão de liga e desliga e os controles de volume, toda a navegação é feita por software na própria tela do Xoom.

Transição de tela

A primeira vista a transição de tela do Xoom é lenta ao se comparar com o Ipad, contudo, depois de muito pensar a respeito eu notei que o ambiente do Xoom é 3D e quando você vai mudar de ambiente ele gira o foco e renderiza os icones. Isso é o mais puro achismo e não tem o mínimo embasamento  técnico. De qualquer forma em qualquer programa a transição de telas no Xoom é rápida e suave.

Cameras

O Xoom tem duas cameras, uma frontal para video chamadas e uma traseira para filmagens e fotos. As duas cameras me impressionaram bastante, mas a camera frontal numa chamada de video do Gtalk me surpreendeu.

Aplicativos

Engraçado como ao ler reviews em alguns sites/blogs de tecnologia algo que sempre é colocado em evidencia, talvez por falta de imparcialidade e paixão pelo concorrente, é o fato de ter poucos aplicativos modificados/desenvolvidos para uma tela de 10.1 polegadas. Quando você começa a usar o xoom e instalar os aplicativos que você está acostumado a usar no seu celular, você não nota grandes diferenças ou impecilhos de uso. Por exemplo, uso o twicca que é um cliente para twitter e ele obviamente não é modificado para o tablet e simplesmente ele só amplia a experiência que eu tinha no celular.

As melhores surpresas no honeycomb são os apps do Gmail e Gtalk. A interface do Gmail para tablet é fantastica, dá até vontade de não usar mais a interface web ;) . O Gtalk como eu já disse, tem a capacidade de chat com video que é algo que sempre senti falta e o melhor, as chamadas podem ser feitas do xoom para qualquer outro device com Gtalk e suporte a video, sem restrições de sistema operacional!

Outro ponto forte, a Motorola antes de lançar o Xoom logo correu e fez diversas parcerias e assim é possivel ter app da Saraiva que te dá direito a 6 livros gratuitos, app da Folha e da Abril, entre outros. Eu não sou um grande fã da leitura digital, eu realmente gosto de ter o livro e le-lo da maneira que eu achar melhor. Lê no Xoom não é ruim, mas não chega a ser a experiencia mais agradavel e isso vale para qualquer tablet, o peso deles dependendo da posição gera um certo desconforto. Para leituras ocasionais acredito que ele se de muito bem.

Navegador

O navegador é uma versão leve do chrome, que na pratica que dizer que você tem um browser normal no seu tablet apesar da maioria dos sites reconhece-lo como um navegador mobile, o que não é tão ruim, pois a leitura nas versões mobiles geralmente são melhores. Outro ponto forte é a possibilidade de sincronizar o chrome do Xoom, desse modo você tem um ambiente de navegação unico em todos os seus devices independente de sistema operacional.

Travamentos

Rá! Nenhuma até o momento, e olha que uso muito e já instalei tudo que é tranqueira nele.

Updates

O xoom americano tem software 100% Google, na pratica isso quer dizer que o Google é responsavel pelos updates. No Brasil, a Motorola usa uma room baseada na americana para atender as redes de telefonia 3G e talvez outras coisas mais. Em partes os donos do Xoom brasileiro precisam da motorola para terem versões atualizadas, na pratica isso pode ser um pouco diferente já que o bootloader do dispositivo é destravado…

Conclusão

A ideia aqui não era dar um review tecnico, as especificações estão por toda a internet, queria mesmo era passar um pouco da experiencia de uso.

Ainda continuo sem saber qual a utilidade de tablet, uma vez que ele faz um pouco de tudo. Acredito que o principal seja ter um ambiente, de certa forma ilimitado, a mão a qualquer momento.

Quer comprar um tablet, o Xoom é uma ótima opção e eu recomendo fortemente. Ótimo hardware e muito bom software fazem do Xoom de longe o melhor tablet que já tive contato.

 

 

07 de April de 2011

12 de March de 2011

Cheese 2.91.91 using Camerabin

In January I started changing Cheese to use Camerabin as its pipeline base. I blogged about it twice, but, in case you missed it or forgot everything about it, let me repeat myself: Camerabin is the high level GStreamer element that basically does what a camera does, that is, take pictures, record video and show preview. Since Cheese does all that and more, it makes sense to use this element instead of re-implementing it all. The news part is that this work is now in Cheese’s master branch and also in release 2.91.91.

There are some other things I haven’t posted about yet:

Event handling: There was a warning in Cheese after the change to Camerabin which said “Internal GStreamer error: clock problem“. Investigating that I discovered that it was a problem in the input-selector that Camerabin uses internally.

Right now Camerabin has a copy of input-selector, because it uses the “select-all” property that was removed from current input-selector. The problem was that the input-selector didn’t handle upstream events (from the sink to the source direction) when the input-selector had the “select-all” property set. Well, input-selector can have many inputs and choose among them, as you can guess from the name. So, when select-all is set you need to send the event to all of those inputs. Other than the warning, this actually has no effect in Cheese’s case, because the event that is not forwarded (a latency event) wouldn’t actually be handled by the elements that don’t get it. Even so, I submitted a patch which was committed to master branch of gst-plugins-bad.

Taking photo without saving: Cheese Camera has a method that takes a photo and then provides the picture as a GDK pixbuf without saving it. The api may not be the best and there were some nice comments on how to improve it, but at least in Cheese without Camerabin this worked and it was used inside of cheese-avatar-chooser. Well, I didn’t realize that before my last blog post about Camerabin, but this was totally broken in my Camerabin branch, in fact, I hadn’t implement it at all.

Camerabin can send a preview message after taking a photo if you set the preview-caps with the desired format for the preview. I thought using the preview message was the best way to implement cheese_camera_take_photo_pixbuf(). The problem is that Camerabin only took photos to save them too, meaning the file name of the photo to be saved had to be set. Right now Cheese works around that by setting the file name to /dev/null, but I also sent a patch to Camerabin to allow taking a picture without saving if preview-caps is set, meaning it won’t encode the image just to save it to /dev/null. I’m keeping the workaround for now, since the change wasn’t released yet, but we will be able to remove it in the future.

Many thanks to Thiago Santos, who held my hand when I met those and other problems in Camerabin and who always encourages me to fix stuff and send patches.

I’m very excited about this change in Cheese. I’m sure there will be bugs, but I think using Camerabin will make some improvements in Cheese easier and we will grow with Camerabin (and maybe Camerabin2 in the future) and also push it to be better.

02 de March de 2011

Terminator no GNOME

Sim, vamos falar de Terminator, e não, não estamos falando do Arnold ;)

O Terminator é um terminal simples e IMHO muito mais produtivo que os terminais mais comuns(gnome-terminal) ou mais alternativos(guake) encontrados para GNOME.

O principal recurso, que o diferencia dos outros, é o fator de poder dividir e sub-dividir a janela em pequenos terminais. Usando um monitor grande, ele é praticamente a ultima coca-cola do deserto!

Quando você abre o terminal a tela dele é comum

Com essa tela aberta você trata-la como um gnome-terminal e abrir abas com um simples Ctrl+t . Mas nossa ideia é aproveitar as funções de divisão de telas. Então com um Ctrl+shift+e você divide a tela verticalmente como mostrado abaixo.

Com essa tela eu geralmente movo o foco para o terminal da esquerda, você pode navegar entre terminais tanto clicando neles ou com ALT+seta direcional, e a divido-a horizontalmente com Ctrl+shift+o.  Essa é a minha tela padrão de trabalho. Uso o terminal comprido para atividades que requerem uma tela mais extensa e as menores para conexões locais e ssh usando screen(falarei mais e mostrarei dicas e meu arquivo de configuração no proximo post).

Em qualquer um dos terminais você pode maximiza-lo para preencher a tela inteira com um simples Ctrl+shift+x.

Esse é o modo em que eu o uso, eu já tentei faze-lo salvar esse estado mas não consegui e pela mais pura preguiça não tentei mais ou mesmo alterei o Terminator para fazer isso. Se você o usa, ou começou a usar agora por causa do post, conte aqui como é a sua configuração ideal de tela.

Você encontra o Terminator nos melhores repositórios da sua distro favorita. :)

Atualização: o Vitor deixou a dica aqui nos comentários de como fazer para salvar as configurações do Terminator, testei aqui e funcionou bem ;)

20 de February de 2011

My GTK3 porting story

It is now possible to run Cheese using GTK+ 3 getting it from Cheese’s branch gtk3.

Cheese has a gtk3 branch for a while, but until very recently it only had one patch changing mostly versions in configure.ac. Then Bastien Nocera made 3 more patches changing code of CheeseWidget, CheeseFlash and um-crop-area. I wanted to use the changes, and silly me, I thought the branch was going to compile when I first tried to run it. It turns out that I spent days on it until it finally compiled and then a little more time before I was able to run it.

Most of the changes were on build system and Cheese’s vala code. I have never programmed in vala before, so this was a learning opportunity with some challenges in the way.

Funny story

Cheese was still using libunique-1.0, but in order to work with gtk3 I would have to switch to libunique-3.0. There was no vala binding for libunique 3, but I also hadn’t found one for clutter-gtk-1.0 and I was using the GObject Instrospection one instead and it seemed to work at the time.

Using gir files didn’t work so well with libunique. Vala was loading the right gir file, but it said the namespace “Unique” did not exist. So, I asked for help on the #vala channel. The first piece of advice was to switch to GApplication instead of using libunique, but I didn’t know how hard that would be and I wanted to understand why I was unable to use libunique-3.0 first. With some more help from someone else in the #vala channel I found out that the Unique-3.0.gir file had the wrong package name on it. As I didn’t know how to fix that and I didn’t even know if it was a problem in libunique or a GObject Introspection parsing problem I asked for help in #introspection.

In the #introspection channel, Emmanuele Bassi (ebassi) was the one that helped me, libunique’s maintainer. Isn’t it nice when that happens? I mean, you’re just asking for anyone less clueless than you to help, but you can actually talk with people that work on what you’re using. Anyway, continuing with the long story, ebassi told me the problem was in libunique, that he wouldn’t work on it soon, but he encouraged me to file a bug for it and I did. It turned out that the bug was easy to fix (for him at least) and something like 15 mins later he had fixed it and pushed it to master already. That was a nice surprise!

But my problems didn’t end there. After I fixed some GObject Introspection annotation in libunique for my code to work, valac started to crash with a segfault. I reported it, but I still don’t know what the exact problem was. The only way I found to fix it was to switch to GtkApplication and stop using libunique. If only I had listened to that first advice! Using clutter-gtk with GObject Introspection did not work in the end either, but turns out I was just missing the recently released vala binding for it.

I learned many things on this quest. I had never looked at gir files or vapi files before and I learned a little trying to debug and fix problems. The non-technical lessons were: it’s really painful to use stuff that is new and not widely used (yet?), you will find problems. But it’s also very nice to be able to fix the problems and work with helpful people.

By the way, to share my love for GNOME I’m organizing a GNOME 3.0 Release party in my town – Belo Horizonte, Brazil. So, if you’re in the area, save April 9th and get in touch if you want to help with organization.

Update: Patricia Santana Cruz had already made a patch to port Cheese to Gtk.Application (which is also way better than mine), so if I was any smarter I wouldn’t have half of the work I did. And now I know she is also one of the responsibles for we having the clutter-gtk-1.0 binding for vala too and she is working on some more bugs in vala and going after the warnings that affects Cheese. In short, she is awesome!

13 de February de 2011

O Nícolas chegou.

Olá pessoal,

O Nícolas chegou :D . Na verdade ele chegou há 22 dias, mas confesso que ainda não tinha achado tempo e inspiração para escrever, foi mais falta de tempo do que inspiração, mas hoje saiu.

Bom, ele chegou com 36 semans, convertendo isso para meses foi no 8º mês que ele nasceu. Veio um pouco prematuro, mas veio saudável.

Ele, apesar de ter nascido com 8 meses, nasceu com bastante saúde. A data do  nascimento dele foi dia 21/01/2011, um dia depois do aniversário da Carol, minha esposa.

Penso que este foi o maior presente dela, e sem dúvida meu também.

Hoje, já com 22 dias, ele é um moleque esperto e sistemático (Sinto algo semelhante com minha pessoa no ar hehe).

Então para quem ainda não o viu, vou colocar a fotinha dele aqui para todos.

Nícolas Volpato Jorge

Nícolas Volpato Jorge

Não tem muito o que falar… quem é pai sabe o que eu to tentando falar neste pequeno post.

Um abraço para todos.

Ps.: Recomendo um filhão para quem ainda não tem :D

Google Bookmarks Technorati Favorites Twitter Facebook Google Buzz LinkedIn FriendFeed Identi.ca Orkut Tumblr Delicious Reddit WordPress Share


29 de January de 2011

05 de November de 2010

Falta de competência ou má-fé?

Quando o meu notebook começou a apresentar uma falha na imagem de acordo com a inclinação da tela, achei que era algum cabo solto. Como isso foi só piorando, e infelizmente a garantia havia expirado há poucos dias, resolvi levá-lo numa loja no prédio onde trabalho aqui em Brasília. Trata-se da loja Só Notebook. O orçamento chegou salgado: R$ 600 ou R$ 650, não me lembro bem. Segundo o técnico, o problema era a tela, que deveria ser trocada e por, coincidência, havia uma lá no estoque. Embora eles tenham demorado a dar o orçamento, prometeram fazer o serviço bem rápido.

Não fiquei convencido e resolvi levar o notebook na loja autorizada da Positivo: a PcLink. Sim, é aquele SIM + 1455. Logo que deixei o notebook lá, o rapaz arriscou: “Deve ser o cabo flat; se for, sai R$ 250.” Após alguns dias veio a confirmação. O notebook agora está funcionando muito bem. O que dizer disso?


Filed under: Variedades

27 de October de 2010

Listadmin: Administrando as filas do mailman de forma rápida e simples

mailman

Além de fazer parte do Sysadmin Team do GNOME também colaboro com o Moderator Team. Esta equipe de 02 pessoas é responsável por moderar todas as 250 listas existentes no Projeto GNOME.

Até pouquissimo tempo este trabalho ultra-chato era feito através do ambiente de gerência Web, só que as coisas estão mudando.

Christer Edwards, atual coordenador dos Sysadmins, recomendou a utilização da ferramenta listadmin. Esta excelente ferramenta facilita a moderação de várias listas de discurssão de forma bastante eficaz através da linha de comando.

Agora vamos ao que interessa:


Instalação

aptitude install listadmin


Configuração

Crie o arquivo .listadmin.ini no diretório home do seu usuário com a seguinte sintaxe:

adminurl – Informe a URL da lista
default – Informe a ação padrão Approve,Reject,Discard,Skip,view Body,Full,jump
log – Informe onde será gravado o arquivo de log

password – Informe a senha da lista
lista@domain.com – Informe o email da lista

Exemplo:

vim ~/.listadmin.ini

adminurl http://mail.gnome.org/mailman/admindb/gnome-love
default discard
log ~/.listadmin.log

password senhalista
gnome-love@gnome.org

Altere as permissões do arquivo

chmod 744 ~/.listadmin.ini

Agora é só correr pro abraço

listadmin

[1/1] ============== gnome-love@gnome.org ==============================
From: skovacs@duaa.duke.edu
Subject: Oct 27/10/2010
Reason: Post by non-member to a members-only list Spam? 2
Approve/Reject/Discard/Skip/view Body/Full/jump #/Undo/Help/Quit [D] ?
Submit changes? [yes]

Desta forma a administração das listas do GNOME ficará simples e rápida.

19 de October de 2010

Linux no Brasil? Só em computador caro

Criticar o movimento do software livre é sempre uma atitude perigosa, mas tem algo que eu realmente não entendo.

O governo brasileiro criou um projeto para baratear computadores chamado “Computador para todos” e incentiva o uso de software livre. Contudo, os computadores mais baratos vendidos pelas lojas são montados com placas SiS e VIA, empresas que notoriamente não investem em drivers para o sistema operacional Linux. O resultado disso é que para esses computadores funcionarem com Linux são necessárias algumas gambiarras. Se a comunidade estimular consumidores a instalarem Linux em suas máquinas populares, estes novos usuários podem enfrentar um grande aborrecimento e confirmar aquela máxima: Linux é difícil.

Os desenvolvedores de fora do Brasil não estão muito preocupados com isso. Pelo menos é o que se observa nos fóruns. Se os próprios desenvolvedores brasileiros não desenvolverem drivers para essas placas, o panorama do Linux continuará a ser irônico: só os usuários que possuem máquinas mais caras, bem montadas, usam o sistema operacional livre. Se a base de usuários é 1%, 2% ou mais… não importa. Ela permanecerá limitada aqui no Brasil ao hardware de boa qualidade.

Sabemos que o usuário Xing Ling ganha espaço e os produtos chineses há tempos já invadem o Brasil (e o resto do mundo). É no camelô que a Microsoft mais faz sucesso. Se o primeiro mundo do Linux seguir ignorando os proprietários de computadores ruins e baratos, a Microsoft agradecerá: continuará tolerando a pirataria nos camelôs e terá no “Computador para todos” um grande meio para desqualificar o software livre. Enfim, como sempre, o Windows vai manter a grande maioria de usuários. Isso não é ideologia, é uma questão de mercado, prática e simples. Simples assim: se o usuário estiver preocupado com a marca, comprará um computador da Apple, cheio de estilo; do contrário, comprará um barato, pensando na memória e no espaço do disco, sem se preocupar com a qualidade da placa.


Filed under: Software livre

09 de October de 2010

Palestras no IV ENSL e participação na H2HC Conference

Em novembro participarei de 02 grandes eventos. Iniciando com o IV ENSL e o VII Fórum Gnome dias 05 e 06 em Natal/RN onde farei 02 palestras.

IV ENSL

No VII Fórum Gnome que ocorrerá no IV ENSL o tema será “Por trás da Infra-estrutura do GNOME: Trabalho para Sysadmins”, nesta apresentação vou mostrar como funciona a infra-estrutura por trás do Projeto Gnome , quem são as pessoas e como se tornar um sysadmin deste grande projeto.

A apresentação aprovada pelos avaliadores foi “Ataques e Contra-medidas – Como proteger seus sistemas na Cyberwar” nela apresentarei a metodologia por trás de um ataque, dicas de como se proteger, e como não poderia deixar de acontecer farei um HandsOn explorando alguns 0days bastantes conhecidos.

H2HC

No final ( 26 a 29 ) estarei no H2HC ( Hackers to Hackers Conference ), evento que reuni a nata dos hackers brasileiros. Os seguintes palestrantes confirmaram presença:

Anchises De Paula – Security Intelligence Analyst, iDefense
Bruno Oliveira – Security Consultant at Trustwave’s Spiderlabs
Carlos Sarraute – Researcher, CoreLabs
Dario Filho – André Grégio – Mestrando e Doutorando – Unicamp
Eric Filiol – Directeur du laboratoire de virologie et de cryptologie opérationnelles – ESIEA Ouest
Fermin Sena – Software Security Engineer, Microsoft
Jeremy Brown – Security Researcher – Tenable
Matthieu Suiche – Founder, MoonSols
Nelson Brito – (Independent Researcher)
Ranieri Romera – Threat Researcher, TrendMicro
Rodrigo Montoro – TrustWave SpiderLabs Researcher
Sergey Bratus – Research Assistant Professor, Computer Science at Dartmouth College
Tony Rodrigues – (Independent Consultant)
Wagner Elias – Research & Development Manager, Conviso IT Security

Com certeza estes eventos trarão muito conhecimento e muiiitttaaa diversão!!!

Agradecimentos:

* A Colivre por patrocinar minha ida ao H2HC Conference.

* A Gnome Foundation e a organização do IV ENSL por permitir minha presença em Natal.

18 de February de 2010

Blog sobre Saúde da Família

Os leitores mais antigos devem lembrar que sou médico de família e comunidade, e que já publiquei um artigo sobre a estratégia Saúde da Família no Kanzler Melo Psicologia, um blog mantido pelo tradutor do GNOME e psicólogo Vladimir Melo e sua esposa. Há poucas semanas assumi a manutenção do Planeta Saúde Brasil, criado pelo mesmo Vladimir Melo, e no embalo dei início a um projeto de muito tempo, que é meu blog sobre saúde, o Doutor Leonardo.

Enquanto o blog que você está lendo agora é voltado para entusiastas do software livre, o Doutor Leonardo é voltado para quem não é profissional da saúde, ou pelo menos não com nível superior na área. A missão do Doutor Leonardo é contribuir para a que as pessoas possam cuidar melhor da própria saúde (ou da saúde de seus parentes), ou administrar melhor as eventuais doenças de forma que não interfiram no dia-a-dia. Os assuntos vão desde estilo de vida saudável até políticas públicas de saúde, sem esquecer de comentar notícias relevantes na área da saúde.

16 de February de 2010

Últimos acontecimentos

Pois é... faz tempo que não blogo :-( . O final de 2009 e começo de 2010 foi bastante corrido: tive que terminar meu trabalho de conclusão de curso e comecei a trabalhar. Mas agora as coisas já estão mais calmas.

Finalmente me formei. Agora posso me declarar cientista da computação e já estou aprovado no mestrado, que começa mês que vem. Minha colação de grau foi na quarta feira e agora fico no aguardo da colação de gala, na qual irão meus familiares e amigos.

Em dezembro comecei a trabalhar. Estou trabalhando na agência de publicidade Sabbre fazendo o desenvolvimento de aplicações web com Ruby on Rails. Um trabalho que tem me dado motivos para gostar do que faço e que me tem feito aprender muitas coisas.

Infelizmente, tive que abrir mão de algumas coisas, principalmente de software livre. Saí da equipe de desenvolvimento do archlinux Brasil, pois não estava conseguindo tempo para me dedicar. Como não gosto de assumir compromissos que não posso cumprir, eu acabei optando por sair. Desejo boa sorte e muito sucesso a todas as pessoas que continuam por lá. Continuo agora só gerenciando a equipe de tradução do GNOME, que aliás já está em pleno ritmo de tradução para o GNOME 2.30.

 

04 de February de 2010

Portugal define data para Acordo Ortográfico da Língua Portuguesa

Em 2008 o governo português tinha aprovado o Acordo Ortográfico da Língua Portuguesa com seu Segundo Protocolo Modificativo, e após uma audiência pública o Parlamento Português ratificou a aprovação. A questão era quando o acordo seria implementado. Pois bem, a nova ortografia começou a valer em Portugal neste ano, e até 2016 o país terá uma transição igual à brasileira, em que ambas ortografias são consideradas corretas.

Mais ainda, a Lusa, única agência de notícias de âmbito nacional em Portugal, adotou o Acordo Ortográfico. Na sequência, o semanário Sol adotou o acordo, bem como o jornal Barlavento e os jornais Expresso e Diário Econômico. O primeiro veículo de notícias a adotar o Acordo Ortográfico em Portugal foi provavelmente O Despertar, em janeiro de 2009!

De acordo com o professor Carlos Reis, a adoção do Acordo Ortográfico da Língua Portuguesa pelos meios de comunicação é importante para a língua portugesa.

21 de December de 2009

Barcelona campeão mundial

Parabéns ao Barcelona pelo título conquistado. Eu cheguei a pensar que daria Estudiantes.

Enquanto eles comemoram o primeiro título, lembro que já conquistamos três vezes (inclusive uma delas contra eles).

Um fato que eu não sabia e agora sei é que no mesmo ano da disputa ganhamos outro título (do Torneio Teresa Herrera) contra eles. E de 4 a 1!!! Na época o Barcelona era bem "maior do mundo" do que é hoje.

Saudações tricolores!

31 de October de 2009

Latinoware

Semana passada fui no Latinoware e foi bastante interessante. Lá palestrei sobre nossa equipe de tradução do GNOME e tive algumas experiências interessantes:

  • Foi bacana rever alguns e conhecer boa parte do pessoal do GNOME Brasil. Espero vê-los mais vezes;
  • Também revi o Farid, que trabalha comigo no Archlinux Brasil, ficamos de conversar mais como acabei não podendo ir no último dia devido ao atraso do motorista que ia buscar a gente no Paraguay, não conversamos :-( ;
  • As palestras também foram legais: o Lício falou sobre o GNOME Love, eu falei sobre a equipe de tradução do GNOME para nosso idioma, o Binhara falou sobre o Mono, a Izabel e a Luciana falaram sobre o GNOME Women (eu infelizmente perdi essa palestra :-( ), o Vinicius Depizzol falou sobre a experiência do usuário no GNOME e para finalizar o Tiago falou sobre personalização do GNOME. Um ótimo conjunto de palestras :-) ;
  • Foi legal discutir coisas, tanto técnicas como não técnicas, com as outras pessoas do GNOME e de outros projetos como o Fedora. Aliás esses eventos acabam proporcionando trocas de experiências que contribuem em muito com os projetos de SL. Aliás isso é uma das coisas mais importantes de eventos como esses e tenho que ser bastante grato à Fundação GNOME por me patrocinar e ter a oportunidade de fazer coisas como essa, além de poder participar do evento e conhecer mais pessoas;
  • Depois de assistir uma palestra interessante sobre o Mono com o Binhara e depois de ouvir o Everaldo falar horas e horas disso, fiquei com vontade de aprender a programar nesse ambiente;
  • Conversei com o João Sebastião sobre como podemos fazer a adequação do GNOME para a nova ortografia. Para corrigir algumas coisas nas versões antigas ele fez um script que pode ser bastante útil para agilizar nosso trabalho. Próximos capítulos desta trama serão divulgados aqui neste blog em breve ;-) ;
  • Conheci o Paraguay, e embora este país tenha muitos produtos interessantes a venda ele tem a pior poluição visual que já vi;
  • Não consegui ver as cataratas, aliás faltou tempo para isso :-( ;
  • Minha palestra não teve um grande público, mas acho que deu para passar a mensagem da equipe. O pdf aparecerá em breve por aqui;
  • Foz do Iguaçu é uma cidade bastante esquisita: lá é úmido pra caramba, escurece bem tarde e isso me faz perder a noção do tempo;
  • Não gostei muito de comida Baiana. Tem muita cebola. E eu odeio cebola. Aliás, a coisa que menos comi lá foi comida paranaense;
  • A organização do Latinoware também deixou muito a desejar, já fui em eventos mais bem organizados e acho que o Latinoware também podia ser;
  • Agradeço a fundação GNOME por me patrocinar, ao Leonardo por me indicar para palestrar e a Izabel, que correu atrás de tudo por lá (aliás, depois que organizei junto com amigos a ida do pessoal da minha faculdade pro FISL, aprendi a agradecer as pessoas que fazem acontecer);

É isso aí :-) Que o próximo evento venha logo e que eu tenha a oportunidade de vê-los em breve.

UPDATE:Aqui vão os slides.

 

10 de June de 2007

Violent swerves in life

One day, you’re writing code, packaging and translating it, administering systems and giving talks about free software. The next day, you realise you want to go to Law school.

It does not feel any different from starting all over. Fortunately, it feels like it is soon enough.

23 de September de 2006

Thanks, Murphy!

So yeah… I guess I’ll have to take back what I said about clearing the accounts backlog until the end of the weekend, even though I’ve already gone through more than half of it.

Why? Quite simple. My hard disk finally died, after a couple of months spitting out I/O errors and corrupting filesystems all around.

Oh well…