+
Como iniciativa para 2010 os DotNetRaptors começam um novo projeto. A idéia é levarmos notícias da comunidade através de podcasts. E já temos um piloto, está disponível na página dos Raptors o link para download do primeiro episódio.
Passamos por temas diversos como vocês podem ver na chamada, mas eu falei especificamente sobre o Community Zone de Fevereiro e da Copa de Talentos Microsoft que está prestes a ser lançada.
Postado em @
3/9/2010 1:05 PM
por
Ivan Paulovich
Com certeza vocês já viram aplicativos na internet que são criados apenas configurando alguns dados e você tem uma nova instância do serviço. Nos bastidores existe apenas uma aplicação instalada e essa aplicação interpreta a URL para identificar o cliente.
Recentemente eu criei um aplicativo semelhante. Vejam a descrição do requisito:
Ter uma única aplicação ASP.NET que responda a requisições aos endereços meudominio.com/umcliente e meudominio.com/outrocliente, além disso um usuário autenticado no primeiro endereço não deve ter acesso aos recursos do outro cliente.
Vejam que o requisito pede um aplicativo instânciável (ok! fiz isso usando routing). O problema estava em autenticar o usuário apenas na sua pasta. E eu não queria ter que verificar em cada requisição se o usuário está autorizado ou não a acessar o recurso. O meu desejo era ter uma solução desacoplada.
Vamos estão ao código usado para autenticar:
public static void CreateTicket(string username, string host, string application, bool isPersistent, string userData, DateTime expiration)
{
FormsAuthentication.Initialize();
//
// Cria o ticket de autenticação
//
var ticket = new FormsAuthenticationTicket(1, username, DateTime.Now, expiration, isPersistent, userData);
//
// Criptografa o ticket
//
string hash = FormsAuthentication.Encrypt(ticket);
//
// Guarda o cookie no navegador de acordo com as opções do usuário
//
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash);
cookie.Domain = host;
if (!string.IsNullOrEmpty(application))
{
cookie.Path = "/" + application + "/";
}
if (ticket.IsPersistent)
cookie.Expires = ticket.Expiration;
HttpContext.Current.Response.Cookies.Add(cookie);
}
Observe que eu defino no cookie as propriedades Domain e Path. E eu preciso definir essas propriedades para que o navegador não compartilhe o cookie com as aplicações que estão nas outras pastas.
O signout também tem as suas sutilezas, pois o método FormsAuthentication.Signout() não funciona nesses casos. Você precisa fazer um método assim:
private void Signout(string host, string application)
{
System.Web.HttpCookie cookie;
cookie = FormsAuthentication.GetAuthCookie(Thread.CurrentPrincipal.Identity.Name, false);
cookie.Domain = host;
if (!string.IsNullOrEmpty(application))
{
cookie.Path = "/" + application + "/";
}
cookie.Expires = DateTime.Now.AddDays(-1);
Response.AppendCookie(cookie);
}
Se você sentiu interesse em saber um pouco mais, visite o artigo Single Sign On across multiple ASP.NET applications no Developer Corner.
Postado em @
3/8/2010 1:58 PM
por
Ivan Paulovich
Uma amiga da Getsêmani participa de uma célula que está com um projeto interessante para o Dia das Mulheres. Trata-se de uma ação social na Vila Real I, uma comunidade carente aqui de Belo Horizonte.
O evento irá ocorrer no dia 14/03 e irá oferecer as mulheres da comunidade a oportunidade de conhecer o amor de Deus e palestras sobre higiene pessoal, sexualidade, valorização da mulher e valor da mulher para Deus.
E onde você entra nessa história? O projeto irá distribuir kits para as mulheres e você pode ajudar doando os seguintes itens:
- Pente
- Sabonete
- Escova de dentes
- Creme dental
- Desodorante
- Hidratante corporal
- Necéssaire
- Pacote de absorvente
O custo estimado de um kit é R$ 23,50 e serão distribuídos 60 kits. Você pode fazer as doações pessoalmente ou entrar em contato com a Sabrina no telefone (31) 8577-0317.
Se você tem dúvidas sobre o projeto que tal dar uma olhada no que fizemos no Natal do ano passado.
Postado em @
3/7/2010 2:13 PM
por
Ivan Paulovich
Imagine que você possui uma solução que contém várias aplicações web rodando no seu próprio domínio (www.clienteA.com.br ou www.clienteZ.org.br) e que precisam usar um único endereço para autenticação como login.dominio.com. A princípo os clientes precisam redirecionar seus clientes para login.dominio.com quando quiserem se autenticar e em seguida login.dominio.com leva os clientes de volta.
Mas há um pequeno problema no redirecionamento dos nossos clientes para a página de login quando usamos FormsAuthentication. A variável ReturnUrl que contém o endereço de retorno é montada relativamente ao cliente. E com isso não temos a informação para trazer o cliente de volta a url inicial.
A princípio não há uma propriedade no FormsAuthentication que defina que a variável ReturnUrl precisa ser montada com a URL completa. Mas não se desespere! Eu fiz uma busca por soluções a esse problema, e encontrei uma forma bastante simples.
Basta que você trate a variável ReturnUrl no evento Application_EndRequest. Abaixo o código que encontrei no blog do David Findley:
protected void Application_EndRequest(object sender, EventArgs e)
{
string redirectUrl = this.Response.RedirectLocation;
if (!string.IsNullOrEmpty(redirectUrl))
{
this.Response.RedirectLocation = Regex.Replace(redirectUrl,
"ReturnUrl=(?'url'.*)",
delegate(Match m)
{
string url = HttpUtility.UrlDecode(m.Groups["url"].Value);
Uri u = new Uri(this.Request.Url, url);
return string.Format("ReturnUrl={0}",
HttpUtility.UrlEncode(u.ToString()));
}, RegexOptions.Singleline |
RegexOptions.IgnoreCase |
RegexOptions.ExplicitCapture);
}
}
Com o código acima sua aplicação de login terá a url completa para enviar os usuários de volta.
Postado em @
3/7/2010 1:37 PM
por
Ivan Paulovich
A Copa de Talentos Microsoft será lançada em todo Brasil no dia 20 de Março. Será um concurso no formato do Win The 7 e o objetivo principal é a capacitação nos produtos e o engajamento da comunidade.
Em breve a Microsoft abrirá inscrições para o concurso mas como é uma competição técnica. Já vale começar a se preparar, que tal começar a se preparar?
Então acesse já o link para download do Training Kit do Visual Studio 2010 e do .NET Framework 3.5.
Postado em @
3/5/2010 9:48 AM
por
Ivan Paulovich
Pra quem sentiu falta da possibilidade de comentar no 100loop finalmente o alívio: os comentários foram reabilitados! Pra quem se interessar o motivo de eu ter removido o formulário é porquê estava dando um pequeno erro. E por falha minha, eu fui corrigir o erro mas acabou causando um erro maior.
E só agora tive uns minutos para concentrar nesse problema. Aliás, aproveitei pra mudar o tema do site. Espero que animem novamente a escrever por aqui.
Postado em @
3/4/2010 11:48 PM
por
Ivan Paulovich
Comecei um novo projeto open source no Codeplex. O projeto é uma iniciativa para atender a comunidade brasileira de desenvolvedores e entusiastas.
Brazil SubText se propõe a localizar o projeto SubText e realizar modificações para fornecer a comunidade brasileira uma ferramenta robusta em interatividade.
Optei por criar esse projeto Brazil SubText pois já uso o SubText no 100loop e gosto muito dessa ferramenta e paralelo a isso percebo uma necessidade dos desenvolvedores brasileiros em criarem blogs de seus grupos.
Abaixo um pequeno questionário o projeto.
- Por que mudar para o Codeplex? Por que já usamos o Codeplex há alguns anos e estamos mais familiarizados com a integração do Team Explorer.
- Vocês participam do projeto original no subtextproject.com? Participamos da lista de discussões e exporadicamente conversamos com alguém do projeto original.
- Por que localizar o sistema para o Brasil? Por que não há uma ferramenta tão flexível como o SubText que atenda o idioma português.
- Vocês pretendem modificar o Core do aplicativo? Se for necessário sim.
- Quem são vocês? Somos da comunidade brasileira de desenvolvedores.
Postado em @
3/2/2010 2:13 PM
por
Ivan Paulovich
Desde o surgimento da escrita o homem gera informação. A princípio o processo de criação da informação era demorado e desconectado entre comunidades de pessoas. Além disso os dados criados não possuiam segurança. A maioria estava literalmente ao léu.
Com o tempo e o crescimento tecnológico aprendemos a imprimir. E hoje nós podemos contar com as maravilhas de um bom livro. Essa nova tecnologia despertou no homem ainda mais a necessidade de gerar informações. E com isso milhões e milhões de títulos foram criados através dos séculos.
O mundo atual está cada vez mais buscando conhecimento e a mídia usada nos livros não permite uma consulta eficiente, é simplesmente limitada quando temos um catálogo um pouco maior.
Já no último século o homem passou a armazenar seus dados nos computadores, conseguindo assim ter mais conhecimento em um espaço muito menor e isso permitiu que ele gerasse mais e mais informações.
Eis, que surge o mesmo problema. Agora podemos criar uma enorme quantidade de informações e ainda estávamos desconectados uns dos outros.
Com o advento da internet passamos a colocar nossos dados na núvem, ganhamos com isso grande facilidade de compartilhar informações e podemos consumir os dados em diversos tipos de mídia. Agora temos que administrar tudo isso.
É aí que a Microsoft entra, que tal dar uma olhada em um vídeo sobre o SQL 2008 R2?
E agora, a informação da sua empresa caminha pra onde?
Postado em @
3/1/2010 8:52 AM
por
Ivan Paulovich
O novo Cara de TI não está mais ligado apenas as funções técnicas e funcionando apenas como um operador do sistema. O novo cara de TI precisa estar conectado com o négocio da empresa e o seu trabalho precisa refletir isso.
A Microsoft sabendo disso vem oferecendo cada vez mais produtos que nos permitem:
- Reduzir custos.
- Tornar a empresa mais eficiente.
- Ter tempo para pensar e agir.
Não dá mais para o profissional de TI ser lembrando apenas na administração contas dos usuários, recuperação de dados ou com a administração das contas de e-mail. O novo profissional não pode estar limitado a um conjunto tão pequeno e fechado de funções. Ele tem o potencial e precisa pensar.
O novo profissional precisa ter tempo para estar conectado na regra de negócio da empresa e acrescentar à empresa competitividade. Com isso ele consegue fazer o dinheiro girar e a economia crescer.
De brinde um video bem criativo:
Agora você precisa descobrir novas soluções que te permitam exercer o seu real potencial.
Postado em @
2/28/2010 7:40 PM
por
Ivan Paulovich
Amanhã a partir de 9h estarei cobrindo o Community Zone e trazendo para os leitores e participantes do 100loop tudo o que rolar em São Paulo.
Acompanhem por aqui:
Removi o CoverItLive para o carregamento ser mais rápido.
Hoje a noite chego em São Paulo e logo logo teremos mais novidades.
Update 1 - 26/02 00:07
Finalmente estou em São Paulo. Já cheguei no hotel e graças a Deus tive uma viagem tranquila. Como não estou com muito sono, estou aproveitando o tempo para fazer esse update.
Meu companheiro de quarto gentilmente me ofereceu internet para ver meus e-mails. E faço um compromisso com vocês de passar detalhe por detalhe do que rolar por aqui através da nossa sessão no CoverItLive. Fiquem ligados!
Update 2 – 26/02 18:10
Acabei de voltar para o hotel e como eu twittei agora a pouco, não existe cobertura da Claro no local da palestra. Logo, ficamos sem nossa cobertura ao vivo.
A boa notícia é anotei muita coisa e trago pra vocês em primeira mão.
A abertura do evento começou com algumas apresentações e informações acerca do time da Microsoft Brasil. E em ressaltar o principal objetivo do Community Zone que é:
Colher Feedback acerca do relacionamento entre a Microsoft e a comunidade
de IT do Brasil.
Na sequência tivemos uma apresentação com os principais questionamentos, sugestões e críticas feitas no ano passado. E os frutos dessas críticas já estão sendo colhidos, o JP apresentou as melhorias nos fóruns e os novos recursos para os moderadores.
Devo destacar que em breve teremos um novo canal de publicação de artigos na MSDN. Nesse canal poderemos enviar um artigo ao Linha de Código ou ao SuperDownloads e esses artigos poderão ser exibidos também na MSDN. Por enquanto esse recurso está sendo testado pelos MVP`s e logo logo será mais uma forma de dar visibilidade a comunidade.
Na sequência a palavra foi passada para o Fábio Hara, e ele nos adiantou que o influenciador terá um novo recurso no canal MSDN/TechNet. O influenciador terá um painel chamado Meu MSDN ou TechNet e lá poderá atualizar o seu perfil via web e não mais precisará enviar a planilha por e-mail.
Agora sim, o anúncio mais importante:
A Microsoft fará o lançamento de diversos produtos em 16 cidades do Brasil. Sim, 16 cidades do Brasil! E Belo Horizonte está na lista de cidades anfitriãs, o nome do RoadShow é Copa Talentos.
E onde a comunidade entra nessa história? Nós iremos realizar eventos e participar de um concurso com o mesmo tema.
Mais detalhes sobre esse eventos vocês terão em breve.
Logo após o anúncio da Copa Talentos, o Rogério Cordeiro falou um pouco sobre os eventos com tecnologias não-Microsoft que eles tem participado. Foi divertido!
Tivemos também alguns anúncios sobre o rebranding dos portais TechNet e MSDN. Uma boa notícia que tivemos é que cada vez mais a Microsoft Brasil ganha destaque na Corp, é um sinal que o time do Brasil está no caminho certo e que precisamos continuar fortalecendo o relacionamento da comunidade com a Microsoft.
Uma outra informacao muito muito importante, foi o pedido especial para aproveitarmos o dia. Não precisa dizer que o dia foi curto para a quantidade de coisas para fazer e de pessoas para conhecer.
Tivemos uma sessão apenas para explicar o funcionamento da Copa Talentos. Confesso que de início achei um pouco complicado mas com um pouquinho de esforço vi que eles pensaram me muitos detalhes. E já adianto pra vocês que teremos atividades presenciais e virtuais já a partir do dia 20/03. Fiquem ligados!
A Microsoft trouxe o Roberto Prado para uma palestra e como sempre ele detonou. Começou falando sobre a estrutura organizacional da Microsoft no Brasil e da situação atual do mercado brasileiro e as perspectivas para os próximos anos.
A boa notícia é que temos no Brasil uma crescente penetração de tecnologias em diversas regiões do Brasil. E isso implica em aumentos dos investimentos estrangeiros em IT.
Ele lembrou dos concorrentes, falou um poucos das soluções dos maiores players e onde a Microsoft entra nessa jogada. Vou enumerar pra vocês pois é muito importante:
- Redução de custos
- Vantagem competitiva
- Opensource como parte da solução para atender desafios.
Ao final da apresentação o Roberto fez uma brincadeira nos perguntando como agente vê o futuro. E ao que tudo indica nós temos um futuro de oportunidades e riscos.
Depois da apresentação fomos almoçar e estava tudo muito bom. Quando voltamos do almoço tivemos duas sessões de 1h30 em mesas redondas discutindo temas de destaque.
Eu tirei algumas fotos, mas vou organizar primeiro antes de postar por aqui. Amanhã tem mais pessoal.
Update 3 – 26/02 23:51
Como prometido, eu tirei algumas fotos e espero colocar aqui o mais rápido possível. Abaixo a agenda do que nós teremos no CZ2010. (É tão pouco tempo e passa tão rápido!)

Abaixo o banner de divulgação do evento evento e uma foto com meu amigo André Alves.
Aqui o time da Microsoft e uma foto da palestra do Roberto Prado.

Três fotinhas de PPTs da apresentação do Roberto.

Uma foto pra finalizar uma reunião que tive com o Gleisson e o André sobre nossos próximos passos na comunidade.

Update 4 – 28/02 14:33
No segundo dia de evento tivemos uma palestra com o feedback das mesas redondas. E com uma divertida apresentação dos estreantes de Community Zone.
No final da manhã o professor Daldelu apresentou o tema "Usando o lado direito do cérebro". Foi uma palestra desconectada da tecnologia mas que pode nos ajudar a pensar diferente no nosso dia a dia.
Os principais focos da palestra foram:
- Criatividade
- Raciocínio
- Idéias e risco
O evento terminou com uma atividade de integração onde éramos convidados a dar liberdade a idéias numa brincadeira com palavras.
Update 5 – 01/03 11:50
Eu tirei algumas fotos no CZ e coloquei no meu SkyDrive.
Update 6 - 01/03 19:28 | Update 7 - 02/03 17:50
E o CZ2010 está gerando muito barulho na internet. Você pode conferir alguns textos e fotos nos links abaixo:
Postado em @
2/25/2010 2:05 PM
por
Ivan Paulovich