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:

[Bruno F. M. Souza] Assistindo vídeos MKV (Matroska) com legenda no Playstation 3 (PS3)

Thursday, October 29th, 2009

Ninguém duvida que o PS3 é um Media Center com muito potencial. Mas, como a maioria dos devices disponíveis no mercado para este propósito, ele também tem suas limitações…

As coisas que sinto mais falta no meu são a impossibilidade deste decodificar vídeos H.264 720p/1080p e identificar legendas externas no disco local.

Dando uma fuçada, conheci um utilitário chamado PS3 Media Server que resolveu meus problemas. Trata-se de um servidor Upnp (DLNA - Digital Living Network Alliance) capaz de transcodificar qualquer arquivo de mídia suportado pelo Mencoder/FFmpeg e fazer o streaming do conteúdo pela rede para o PS3.

DLNA - PS3

DLNA - PS3

Instalei-o no meu Mac OS, fiz o setup mais básico (compartilhando meus diretórios de áudio, vídeo e fotos) e pronto. O PS3 imediatamente reconheceu o Media Server na rede e pude conferir todos meus arquivos de mídia sendo consumidos nele com pouquíssimo trabalho.

PS3 Media Server

PS3 Media Server

Outras opções de servidores DLNA bastante usadas são o TVersity e o MediaLink, entre outros. Porém, a maioria corresponde a soluções pagas que ou não suportam a inserção de legenda nos vídeos, ou não são compatíveis com o Mac OSX. :(

OBS: Antes que perguntem, não tentem implantar isso com uma rede wireless, pois os vídeos engasgam constantemente (inclusive SD).

[Bruno F. M. Souza] Assistindo vídeos MKV (Matroska) com legenda no Playstation 3 (PS3)

Thursday, October 29th, 2009

Ninguém duvida que o PS3 é um Media Center com muito potencial. Mas, como a maioria dos devices disponíveis no mercado para este propósito, ele também tem suas limitações…

As coisas que sinto mais falta no meu são a impossibilidade deste decodificar vídeos H.264 720p/1080p e identificar legendas externas no disco local.

Dando uma fuçada, conheci um utilitário chamado PS3 Media Server que resolveu meus problemas. Trata-se de um servidor Upnp (DLNA - Digital Living Network Alliance) capaz de transcodificar qualquer arquivo de mídia suportado pelo Mencoder/FFmpeg e fazer o streaming do conteúdo pela rede para o PS3.

DLNA - PS3

DLNA - PS3

Instalei-o no meu Mac OS, fiz o setup mais básico (compartilhando meus diretórios de áudio, vídeo e fotos) e pronto. O PS3 imediatamente reconheceu o Media Server na rede e pude conferir todos meus arquivos de mídia sendo consumidos nele com pouquíssimo trabalho.

PS3 Media Server

PS3 Media Server

Outras opções de servidores DLNA bastante usadas são o TVersity e o MediaLink, entre outros. Porém, a maioria corresponde a soluções pagas que ou não suportam a inserção de legenda nos vídeos, ou não são compatíveis com o Mac OSX. :(

OBS: Antes que perguntem, não tentem implantar isso com uma rede wireless, pois os vídeos engasgam constantemente (inclusive SD).

[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

[Anselmo Alves] Testes de aceitação automáticos para Flash com T-Plan Robot (VNCRobot)

Wednesday, October 28th, 2009

Finalmente, conseguiremos resolver um problema que há quase 2 anos assombra alguns desenvolvedores da globo.com, incluindo eu mesmo. Encontramos uma ferramenta de testes de aceitação automático flexível, open source, gratuita, black box e bem documentada, para testar SWF.

O T-Plan Robot é um VNC client, e pode se conectar a um computador remoto através da rede, controlando os inputs de mouse e teclado programaticamente, e implementa testes baseados em imagens, o que o torna flexível o suficiente para testar não apenas SWFs, mas qualquer outro tipo de aplicação com interface gráfica.

A ferramenta grava scripts, a partir da navegação do usuário pela interface no sistema operacional (bem parecido com que o Selenium faz, por exemplo, usando um plugin Firefox), em seu script próprio ou em Java, como o que eu fiz abaixo:


/**
 * Generated on Tue Oct 27 21:39:52 BRST 2009
 * T-Plan Robot v2.0.Beta (Build No. 2.0.Beta-20091014.1)
 * Default Java Converter version 2.0.0
 */
package teste;

import com.tplan.robot.ApplicationSupport;
import com.tplan.robot.AutomatedRunnable;
import com.tplan.robot.scripting.
	DefaultJavaTestScript;
import com.tplan.robot.scripting.JavaTestScript;
import java.awt.Point;
import java.io.File;
import java.io.IOException;

public class MyTest extends DefaultJavaTestScript
	implements JavaTestScript {

	public void test() {
		try {
			// Mouse move to=x:43,y:30 wait=200
			mouseMove(new Point(43, 30), "200");
			// Mouse click to=x:43,y:30 wait=1100
			mouseClick(new Point(43, 30), "1100");
			// Compareto "tela.bmp"
			compareTo(new File[] {
					new File("tela.bmp") });
			// Mouse click to=x:190,y:116
			mouseClick(new Point(190, 116));
		} catch (IOException ex) {
			ex.printStackTrace();
		}

	}

	public static void main(String args[]) {
		MyTest test = new MyTest();
		ApplicationSupport robot =
			new ApplicationSupport();
		AutomatedRunnable t = robot.
			createAutomatedRunnable(test, "javatest",
				new String[] { "–connect",
					"10.2.66.72:5902", "–password",
						"globocom" }, System.out,
						false);
		new Thread(t).start();
	}
}

Com isso, é possível integrá-lo à sua suite de testes automatizados!

Ainda levaremos um certo tempo para estudar a extensa documentação e aprender a tirar o máximo do T-Plan Robot. A partir de agora, iniciaremos o esforço de rodar testes do nosso player em vários sistemas operacionais virtualizados, com várias versões de Flash Player. Isso sem dúvida resultará em um aumento substancial da quantidade de entregas relacionadas ao player, já que eliminará o enorme tempo gasto atualmente com testes manuais e nos dará confiança.

Agradeço em nome de todos nós especialmente ao Carlo “zED” Caputo por ter perseguido junto conosco a solução desse problema e ter sugerido experimentarmos essa ferramenta para implementação dos testes no nosso player de vídeo Flash, e também ao Tiago Motta, por ter sido bem insistente em me passar os testes preliminares do T-Plan Robot, que eu finalmente pude terminar hoje. O próprio zED, em 2007, em apenas um dia, implementou uma ferramenta com o mesmo propósito e princípio. Infelizmente, apesar da excelente iniciativa, não recebeu apoio para amadurecê-la e interrompeu o projeto. Na época, ele já conhecia o T-Plan Robot, mas ainda não atendia a nossa necessidade.

[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.