Posts de October, 2009

[Rafael Biriba] IST-Rio: Inscrições abertas - Vestibular 2010: 1º semestre

Friday, October 30th, 2009

 

http://www.faetec.rj.gov.br/ist-rio

http://www.faetec.rj.gov.br/ist-rio

Estão abertas as inscrições para o vestibular de acesso ao curso de Análise de Sistemas Informatizados do IST-Rio, para o primeiro semestre de 2010. São oferecidas 38 vagas para o turno da noite. As inscrições podem ser feitas pelo site da FAETEC, em www.faetec.rj.gov.br, acessando o link Concursos FAETEC - 2010.

O período de inscrições terminam 20 de novembro de 2009, segundo as informações no site da organizadora do concurso.

De acordo com o INEP/MEC o curso (Análise de Sistemas Informatizados do IST-Rio) é o 2º melhor do Rio de Janeiro e o  8º melhor do Brasil…

Não perca essa oportunidade! Qualquer dúvida ligue para (21) 2596-3194. Boa Sorte a todos os candidatos… ;)

poster-vest-2010-1

 


Leia também:

[Tiago Motta] API rest para OpenSocial do Orkut com ruby

Friday, October 30th, 2009

A documentação da API rest do OpenSocial do Orkut detalha muito bem as opções e formatos de retorno disponíveis porém é um tanto vaga sobre como fazer a autenticação necessária para usá-la. Basicamente lá é explicado os parâmetros a serem enviados e que o protocolo é o OAuth. Então detalho aqui como obter por exemplo os dados de um usuário apartir desta API.

Em primeiro lugar é preciso obter a consumer key e consumer secret de sua aplicação. Isso é feito gerando um token aqui: https://www.google.com/gadgets/directory/verify. Você deve colocar esse token dentro da tag content do xml descritor de sua aplicação e depois fazer a validação provando que é dono da aplicação. Com isso o Google irá lhe informar seu consumer key e consumer secret. Guarde eles com carinho.

Depois, com a gem oauth instalada você deverá executar um código semelhante ao exibido abaixo, com a premissa de que as variaveis consumer_key e consumer_secret estão preenchidas com os correspondentes à sua aplicação. E que a variável id é o id do usuário do Orkut que você está querendo conhecer melhor.

  consumer = OAuth::Consumer.new(     consumer_key,     consumer_secret,     :site => 'http://www.orkut.com',    :scheme => :query_string,    :http_method => :get   )

  request = consumer.create_signed_request(:get,     "/social/rest/people/#{id}/@self?xoauth_requestor_id=#{id}")    res = Net::HTTP.start('www.orkut.com', 80) do    |h| h.request(request)   end

  puts res.body

[Rafael Biriba] Ubuntu 9.10: Disponível para Download ou Atualização

Thursday, October 29th, 2009
www.ubuntu.com

www.ubuntu.com

O Ubuntu 9.10 está finalmente disponível para download. (http://www.ubuntu.com/getubuntu/download)

Disponível em 32 ou 64 bits, e para laptops, netbooks, desktops, servers e etc.. Mais características da versão podem ser obtidas aqui.

Atualizando seu ubuntu para 9.10:*

Entre no terminal e digite:
update-manager -d

Como a versão já foi lançada oficialmente, atualize pelo seu gerenciador de atualizações como mostra a figura abaixo:

ubuntu-910-software

Vale a pena atulizar de 9.04 para 9.10 ?

Fiz a atualização por cima do 9.04, e levou uma eternidade, baixando os pacotes a menos que 30 kb/s, isso porque todo mundo está atualizando o seu ubuntu hoje :D

Aproximadamente 1200 arquivos foram baixados para atualizar a versão… Quanto ao desempenho, confesso que achei que ao migrar do 9.04 para o 9.10 iria sentir alguma perda de desempenho… Pelo menos, para que migrou do 8.10 para o 9.04, percebeu que o sistema ficou visivelmente mais lento, havendo até necessidade de reinstalar a versão do zero. Felizmente isso não aconteceu… É possível até notar que a versão nova é melhor…

Então, para quem usa seu ubuntu para fins domésticos, eu recomendo atualizar direto pelo update manager. Agora, para computadores de trabalho, onde rodam ambientes mais controlados, sugiro que haja com cautela, fazendo backups e talvez pensar em um possível rollback, caso o sistema novo se comporte de maneira indesejada.

Se possível for, compartilhe aqui como foi seu processo de atualização… Boa sorte a todos… ;)

 


Leia também:

[Igor Macaubas] Eventos: III Boot – UNOESC

Thursday, October 29th, 2009

No próximo sábado, dia 31/10/2009, irei palestrar no evento III Boot, na UNOESC. O evento acontecerá no campus de Xanxerê/SC da UNOESC. Minha palestra terá como tema “Introdução à métodos ágeis”. Estou indo para Xanxerê amanhã (30/10/2009), então se você estiver lá por perto e quiser conversar sobre métodos e práticas ágeis, faça contato!

boot2009

[Rafael Biriba] Palestra: Vídeos para Internet (XIII Semana Tecnológica do IST-Rio)

Sunday, October 25th, 2009

videos-para-internet No dia 22/10 fiz uma palestra no IST-Rio sobre Vídeos para internet. Conforme eu prometi, abaixo segue a minha apresentação.

Gravei o áudio da palestra com o meu iPhone, então consegui encaixar os slides e montar um vídeo ( Parece mais um screencast )

A palestra está disponível nos seguintes serviços abaixo:

* Em breve estará disponível no youtube. Porque devido a longa duração (25 min), o video não pode ser liberado. Logo resolvo essa situação… Por enquanto disponível no Vimeo

A palestra abordou assuntos como:

  • Imagem Digital
  • Vídeo Digital (Frame Rate, Interlacing, Display Resolution, Aspect Ratio, Bit Rate, Video Compression)
  • Codec de Vídeo
  • Áudio Digital
  • Distribuição de Vídeos

Espero que gostem… Qualquer dúvida sinta-se à vontade para perguntar…

SlideShare: Palestra: Videos para Internet - Rafael Biriba

 

Vimeo: Palestra: Videos para Internet - Rafael Biriba


Leia também:

[Igor Macaubas] 2 anos de agilidade na Globo.com

Friday, October 23rd, 2009

Finalmente tive algum tempo para editar o vídeo da minha palestra no Agiles 2009, falando sobre onde a Globo.com está após 2 anos da adoção de métodos ágeis de desenvolvimento. A minha palestra foi muito bem recebida pelo público, e já tive oportunidade de dizer isso aqui antes. Assistam o vídeo da palestra abaixo, ou baixem o arquivo em m4v para assistir depois!

Ou, se não tiver paciência, baixe aqui: 2 anos de agilidade na globo.com (1)

Algumas fotos da palestra:

E, para deixar tudo reunido num único post, seguem os slides no slideshare (download da mesma disponível no slideshare):

2 anos de agilidade na globo.com

View more documents from Igor Macaubas.

[Tiago Peczenyj] Brincando com a libavcodec e libavformat

Wednesday, October 21st, 2009

Vou contar uma histórinha. Pesquisando sobre http streamming para iPhone eu cheguei ate esta solução open source que utiliza, entre outras coisas, o ffmpeg. Eis que chego até este interessante trecho:

If you are interested in how the segmenter works you can find out more on how to use libavformat at the following resources: an older libavformat tutorial, some sample libavformat code, How to Write a Video Player in Less Than 1000 Lines, and more sample libavformat code.

Ora… não pensei duas vezes e cliquei no link sobre escrever um video player, curioso que sou. É um tutorial bem proveitoso,
que ja dá frutos na primeira lição. Deixo aqui um pequeno exemplo que analisa arquivos de video e informa dados do codec de cada stream (audio, video e o que mais tiver la dentro).

#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
 
int main(int argc, char **argv){
   int i;
   char buf[256];
   AVFormatContext *pFormatCtx;
 
   av_register_all();
 
   while(*(++argv)){
     printf("analisando arquivo '%s'\n",*argv);
     if(av_open_input_file(&pFormatCtx, *argv, NULL, 0, NULL)!=0 ||
	av_find_stream_info(pFormatCtx)<0){
		puts("nao foi possivel analisar este arquivo!");
		continue;
	}
     for(i=0;i<pFormatCtx->nb_streams;i++){
	avcodec_string(buf, sizeof(buf), pFormatCtx->streams[i]->codec, 0);
	printf("\tstream[%d]=%s\n",i,buf);
     }
   }
 
   return 0;
}

Para compilar basta adicionar a libavcodec e a libavformat (apt-get nelas).

gcc -lavformat -lavcodec -Wall a.c

A execução é simples:

$ ./a.out *
analisando arquivo 'teste.bin'
	stream[0]=Video: wmv2, yuv420p, 320x240
	stream[1]=Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s

Não apenas voltei a programar em C (que é uma delícia) como produzi um executavel bem enxuto (12 k) e util para determinar os codecs presentes em dado arquivo. Divertido. Vamos ver o que é possivel fazer agora.

[Tiago Peczenyj] Brincando com a libavcodec e libavformat

Wednesday, October 21st, 2009

Vou contar uma histórinha. Pesquisando sobre http streamming para iPhone eu cheguei ate esta solução open source que utiliza, entre outras coisas, o ffmpeg. Eis que chego até este interessante trecho:

If you are interested in how the segmenter works you can find out more on how to use libavformat at the following resources: an older libavformat tutorial, some sample libavformat code, How to Write a Video Player in Less Than 1000 Lines, and more sample libavformat code.

Ora… não pensei duas vezes e cliquei no link sobre escrever um video player, curioso que sou. É um tutorial bem proveitoso,
que ja dá frutos na primeira lição. Deixo aqui um pequeno exemplo que analisa arquivos de video e informa dados do codec de cada stream (audio, video e o que mais tiver la dentro).

#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
 
int main(int argc, char **argv){
   int i;
   char buf[256];
   AVFormatContext *pFormatCtx;
 
   av_register_all();
 
   while(*(++argv)){
     printf("analisando arquivo '%s'\n",*argv);
     if(av_open_input_file(&pFormatCtx, *argv, NULL, 0, NULL)!=0 ||
	av_find_stream_info(pFormatCtx)<0){
		puts("nao foi possivel analisar este arquivo!");
		continue;
	}
     for(i=0;i<pFormatCtx->nb_streams;i++){
	avcodec_string(buf, sizeof(buf), pFormatCtx->streams[i]->codec, 0);
	printf("\tstream[%d]=%s\n",i,buf);
     }
   }
 
   return 0;
}

Para compilar basta adicionar a libavcodec e a libavformat (apt-get nelas).

gcc -lavformat -lavcodec -Wall a.c

A execução é simples:

$ ./a.out *
analisando arquivo 'teste.bin'
	stream[0]=Video: wmv2, yuv420p, 320x240
	stream[1]=Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s

Não apenas voltei a programar em C (que é uma delícia) como produzi um executavel bem enxuto (12 k) e util para determinar os codecs presentes em dado arquivo. Divertido. Vamos ver o que é possivel fazer agora.

[Rafael Biriba] [off-topic] Blogueiros de todo o mundo contra as mudanças climáticas (Blog Action Day)

Thursday, October 15th, 2009

 

http://www.blogactionday.org/

http://www.blogactionday.org/

Blog Action Day é um evento anual que acontece todo dia 15 de outubro, onde blogueiros de todo o mundo se unem, publicando informações e levantando discussões sobre um importante problema global: mudanças climáticas.

blogactionday-longbannerO Blog Action Day 2009 será o maior evento da história de mudanças sociais na web. Links: blogactionday.org/br (Brasileiro) ou blogactionday.org (Internacional )

Quem está participando:

8.750 sites e 12.168.898 leitores, dentre eles, você que está lendo este post.

Objetivo do do Movimento: criar uma discussão.

Eles pedem aos blogueiros que reservem um único dia de sua programação e foquem-se num tema importante.

Ao fazer isso num mesmo dia, a comunidade de blogs efetivamente muda o assunto da Web e foca o público ao redor do mundo para a questão.

Com estas discussões naturalmente fluem idéias, conselhos, planos e ações. Em 2007, com o tema do Meio Ambiente, alguns blogueiros executaram experiências ambientais, detalhando idéias inovadoras na criação de práticas sustentáveis, e focando as atenções das suas audiências para organizações e empresas que promoviam suas agendas verdes. Em 2008 foi coberto o tema da Pobreza, concentrando o foco das energias da comunidade blogueira em torno de discutir a ampla abrangência do tema sob várias perspectivas e identificando soluções inovadoras e inesperadas. Este ano pretendem fazer o mesmo para as Alterações Climáticas, um problema que ameaça a todos nós.

Como você pode ajudar:

Desde os menores jornais virtuais até grandes revistas on-line, o Blog Action Day trata da participação massiva. Qualquer pessoa é livre para participar do Blog Action Day e não há limites para o número de posts, o tipo de mensagens ou a direção de pensamentos e opiniões.

Participe você também…. Acesse você também o site: http://www.blogactionday.org/, cadastre o seu blog e publique sobre algum problema global

Divulgue a idéia: Pegue um selo em: www.blogactionday.org/badges/br e ajude a espalhar a causa.

Faça alguma coisa:
Confira os movimentos em que você pode participar em: http://www.blogactionday.org/br/takeaction. Em quais dos 10 tópicos você já se mobilizou ? São ações simples que valem muito. Você não perde, mas ganha minutos lutando por esta causa, que também é sua !

Vídeo oficial do movimento:

O mundo conta com você !

A mudança climática está lá fora, e você está aí fazendo o que ?


Leia também outros assuntos:

[Emerson Macedo] Rails Summit 2009 – Resumo

Wednesday, October 14th, 2009

O Rails Summit terminou. Foi um evento bem legal, com ótimas palestras e a galera de sempre, que já conhecemos.

Vou fazer um resumo das palestras que assisti.

Chad Fowler – http://chadfowler.com

A palestra do Chad foi como sempre focada em carrreia. Ele advertiu os desenvolvedores que produzem porcaria todo dia sem peso algum na consciência. Ele pensa (e eu também) que nós não devemos investir tempo desnvolvendo coisas que já sabemos que são porcaria. E isso não é pessimismo, simplesmente é não perder tempo.

Chad falou também sobre os FUDs que sempre usam contra Ruby/Rails. Isso não foi nenhuma novidade mas ele abordou de forma bem divertida e valeu muto a pena.

Uma das partes mais legais foi a estatística mostrando que Ruby só faz parte de 6% da requisição do usuário. Na verdade não só ruby, mas outra tecnologia também. Isso bom para refletirmos sobre as discussões sobre performance e escalabilidade das aplicações web.

Gregg Pollack – http://envlabs.com

O foco da palestra do gregg foi sobre como atacar alguns pontos para o otimizar sua aplicação Rails. Dentre as formas, ele apresentou algumas gems/plugins que ajudam a identificar alguns pontos para melhoria de performance em uma aplicação. Vou destacar algumas:

  • Bullet – Ajuda a identificar queries com alguns problemas. Ex: N + 1
  • Rails Indexes – Identifica colunas onde deveriam ter índices. Se baseia nas buscas do sistema.
  • Scrooge – Faz com que o ActiveRecord passe a buscar somente os campos que estão sendo usados, ao invés de buscar todos os campos. Ex: em um find(:all), após a primeira execução, o scrooge identifica quais campos foram usados e ná próxima vez modifica a query para não buscar os campos desnecessários.
  • Rack Bug – É uma Monitor para aplicações Rack. Fornece basicamente todas as informações. Sessões, CPU, Memória, etc. Bem útil
  • oink – Mostra detalhes dos requests de cada controller. Ex: consumo de memória.
  • Cloud Crowd – Servidor para rodar tarefas em background. Feito em sinatra.

Ilya Grigorik – http://www.igvita.com/about/

Ilya falou sobre integração/comunicação de aplicações baseadas em web, utilizando-se de tecnologias como XMPP, AMQP, Webhooks, PubsubHubbub. Foi bem interessante, pois a maioria do auditório conhecia pouco sobre o assunto.

Fabio Akita – http://akitaonrails.com

A palestra do akita foi sobre agile. Ele falou bastante sobre a teoria do caos, sistemas complexos e a evolução das coisas. No fim, o recado maior foi alertar que agile não é o último estágio no desenvolvimento de software, deixando claro que temos (e vamos) que evoluir ainda mais.

Glenn Vanderburg – http://blog.thinkrelevance.com

Palestra sobre o framework Tarantula, que tem por objetivo fazer testes de ataques XSS, SQL Injection, entre outros. Achei bem interessante, pois é possível automatizar esse passo, que geralmente fazemos manualmente. Glenn inclusive sugeriu que faça parte do build antes de lançar um release.

Fabio Kung – http://fabiokung.com/

Fabio fez uma ótima palestra sobre DSLs (Domain Specific Languages) internas usando Ruby. Ao invés de apresentar exemplos simples ele apresentou um exemplo real de uma necessidade de uma aplicação que trata de instâncias de máquinas na cloud da Locaweb.

Carlos Vilella http://lixo.org

Carlos fez uma palestra bem curta, falando sobre o uso de Ruby na Thoughtworks. Falou sobre os poucos projetos que falharam e deixou o restante do tempo para perguntas.

Tapajós – http://tapajos.me/

A palestra do Tapajós foi sobre bancos de dados não relacionais. Focado bastante em CouchDB e Rails, ele explorou algumas features chaves na utilização dessa abordagem de banco de dados, também fazendo uma curta palestra e deixando boa parte do tempo para perguntas.

Bruno Miranda – Rails não escala

Eu gostei muto da palestra do Bruno, apesar de achar que o que ele falou é básico para qualquer Arquiteto de Software experiente.  Bruno falou bastante sobre filas, sharding, Cache, Proxy reverso, otimização de queries e sobre rodar processos em background. Acho que a palestra dele foi válida pois qualquer um hoje em dia que aprende tecnologias como Rails sai fazendo aplicações sem um conhecimento mínimo de arquitetura de software. Quando as coisas não dão certo culpam a tecnologia, gerando FUDs.

Vinicius Teles (http://improveit.com.br/) – Empreendorismo

A palestra do Vinícius foi ótima para quem pretende desenvolver um produto e/ou abrir seu próprio negócio. Ele abordou pontos como Fluxo de Caixa, oportunidades vastas que existem no Brasil e o impacto de pequenas decisões certas ou erradas que tomamos na nossa vida profissional.

Obie Fernandes – http://obiefernandez.com/

A palestra do Obie encerrou o evento em grande estilo, falando sobre talento, esforço e reforçando bem o que eu disse há um tempo atrás nesse blog. Não adianta você saber um monte de coisas se não souber bem, se não tiver experiência com isso, treino, treino e mais treino. Você só ganha nível com tempo e treino, isso é fato.

Pra finalizar, gostaria de parabenizar ao Fabio Akita e a Locaweb pelo excelente evento mais uma vez.

E ano que vem tem mais.