Tirando dúvidas em fóruns

Há muito tempo venho acompanhando o fórum de Silverlight do MSDN Brasil, tirando dúvidas e ajudando outros desenvolvedores com problemas. Por ser bastante ativo nesse fórum acabei sendo nomeado como um de seus moderadores, o que me dá acesso para fazer algumas coisas como mover questões, editar e bloquear posts de outras pessoas, marcar perguntas como respondidas, etc…

Após um tempo a gente começa a notar certos padrões, e um que fica bem evidente para quem acompanha fóruns é que a grande maioria das pessoas não sabe usá-los corretamente. Fóruns são uma base de conhecimento com dúvidas e respostas para ser consultada e utilizada em caso de necessidade. Veja como um fórum é normalmente usado:

  • Usuário encontra um problema ou tem uma dúvida
  • Acha o site de fóruns do MSDN (ou qualquer outro)
  • Acha a tela de postar dúvida, preenche a descrição, preenche o título e envia
  • Aguarda uma resposta e depois não volta mais

O que há de errado nesse comportamento? Esse usuário não tirou proveito da ferramenta em vários pontos chave e usou o fórum como se fosse um sistema de suporte.

  1. Esse usuário não pesquisou para ver se a dúvida/problema dele já estava no fórum. Talvez alguém já houvesse passado por isso e ele já conseguisse a resposta na hora.
  2. Ao postar a dúvida ele começou preenchendo a descrição do problema e deixou o título para depois (talvez nem tenha percebido o campo e tenha preenchido só quando a validação da tela informou que era obrigatório). O problema disso é que o título acaba sendo preenchido com qualquer coisa, o que não ajuda para que a dúvida seja encontrada e respondida logo. Há também casos que são ao contrário onde a pessoa faz uma pergunta bem genérica no título e não detalha o cenário na descrição. Não podemos também esquecer dos casos em que a pessoa submete a dúvida no tópico/categoria errada do fórum.
  3. Após ter sua pergunta respondida o usuário muitas vezes simplesmente utiliza a resposta e não atualiza o fórum informando que aquela é a resposta. Na maioria dos casos o usuário só voltará ao fórum se a resposta não resolver o problema dele.

Esse tipo de comportamento é ruim para os fóruns pois acaba gerando informações redundantes, retrabalho e inconsistência nas respostas. Eis como o fórum deve ser usado:

  • Usuário encontra um problema ou tem uma dúvida
  • Acha o site do fórum (MSDN/Stack Overflow ou qualquer outro)
  • Verifica se há uma busca geral e faz uma busca com as palavras chave sobre a questão que tem
  • Se encontrar uma pergunta igual ou semelhante, verifica se ela está respondida e resolve o problema. Se estiver e resolver, vote na resposta para indicar que foi útil. Se não estiver respondida ou não resolver seu problema, poste um comentário ou pelo menos assine a pergunta para poder receber uma alerta por email quando houver atualização.
  • Se a sua dúvida não estiver no fórum ainda, ache a sessão do fórum referente ao assunto da dúvida. Ex.: Se a dúvida de sobre como filtrar uma query no banco de dados, você não deve postar no fórum de Silverlight só porque sua aplicação é feita em Silverlight. Você deve postar sua dúvida no fórum de SQL nesse caso.
  • Coloque a questão central do seu problema no título, da forma mais clara e concisa possível. Quem estiver lendo tem que ser capaz de identificar pelo menos o escopo da pergunta lendo apenas o título. Um título bem feito ajuda para que outras pessoas possam tirar proveito no futuro da solução ao seu problema e também faz com que se obtenha uma resposta mais rápido pois uma pessoa pode simplesmente bater o olho no título e falar “ei, eu sei responder isso”, ao invés de ter que abrir a pergunta e ler a descrição para saber do que se trata. Exemplos de títulos ruims: “Dúvida?”, “Problema com relatório”, “Acesso ao banco”, “Silverlight”, etc…
  • Preencha a descrição da pergunta com mais detalhes sobre o seu cenários. O que você está tentando fazer? Que tecnologias está usando? O que sua aplicação faz? etc. Quanto mais informações você puder passar, mais chances têm de ter uma resposta precisa e rápida. Coloque o que faz sentido no seu caso e que seja útil para quem for tentar responder.
  • Se alguém responder sua questão fazendo mais perguntas ou pedindo mais detalhes, responda assim que puder.
  • Se alguém der uma solução que funcione, marque como resposta para que outros possam tirar proveito.
  • Se ninguém responder e você conseguir resolver o problema, responda você mesmo à questão e marque sua resposta como resposta da questão. Outros usuários vão agradecer.

Quase todas as questões nesses fóruns são respondidas por pessoas como eu e você, não por funcionários da Microsoft (ou da empresa relacionada à tecnologia/fórum em questão). Estamos fazendo isso em nosso tempo livre para ajudar a evoluir nossa comunidade de desenvolvedores e as tecnologias que usamos. Lembre-se disso ao usar os fóruns.

Seguem mais algumas dicas que também podem ser seguidas:

  • Seja educado ao fazer sua pergunta.
  • Seja educado com quem está tentando te ajudar. Lembre que, normalmente, ele não é pago para isso e realmente só quer ajudar.
  • Não use o tópico de uma pergunta para discutir uma técnologia. Abra um novo tópico de discussão
  • Evite fazer mais de uma pergunta em um único tópico
  • Não faça propagandas em fóruns, a não ser que o produto em questão resolva a dúvida de alguem.
  • Se tiver um tempo, contribua com o fórum tentando responder dúvidas de outros usuários.

A comunidade agradece.

Tags: Dicas

Discussão Silverlight x HTML5 gravada ao vivo no Community Zone

Nos dias 16 e 17 a Microsoft reuniu alguns MVPs e influenciadores da comunidade em um rancho no interior de São Paulo com atividades de integração e de direcionamento. Esta reunião se chama Community Zone. Para alguns é um momento de lazer com os amigos da “internet”, mas para muitos é uma grande oportunidade de trocar informações e discutir determinados assuntos.

Foi isto que aconteceu na madrugada do Community Zone. Mais de 30 pessoas estavam presente para discutir Silverlight 4 x XHTML5? Assunto quente e polêmico que você confere neste mega podcast, com participações de Kelps, Giovanni Bassi, Rodrigo Kono, Victor Cavalcante, Igor Abade, Mauricio Alegretti, Gustavo Malheiros, Márcio Sete e vários outros. (ps.:não temos os nomes de todos, se você estava presente comente este post).

Html5 versus Silverlight no Community Zone

Qual a sua opinião?
Comente, compartilhe conosco.

PS.: Não consegui colocar um player de audio no post por causa de problemas com o Blogger. Estou procurando uma solução para isso.

Se tornado sysadmin em servidor SQL Server/Express local (revisado)

Pouco mais de 1 mês atrás eu postei aqui no blog uma dica sobre como dar reset na senha de “sa” no SQL Express, um assunto completamente diferente dos temas que costumo abordar normalmente. Fiz aquele post principalmente para guardar a dica, caso fosse necessária novamente no futuro. O que eu não esperava era que ela seria tão necessária: Desde quando postei até agora eu já utilizei ou indiquei aquele post 7 vezes aqui no serviço.

Microsoft SQL Server

Esse assunto se tornou importante aqui devido ao fato de que agora os computadores de novos funcionarios não serão mais formatados, a não ser que a instalação anterior esteja com problemas. Como tivemos uma onda de contratações recentemente, vários computadores que estavam guardados foram disponibilizados para os novos desenvolvedores e então o problema de tornou latente.

Isso me fez ver também que meu post anterior poderia ter seu passo a passo melhorado, pois nem todos os casos são iguais e nem todos os detalhes estavam bem claros. Por isso eu decidi escrever um novo post mais claro e detalhado para ficar mais fácil para as próximas pessoas que precisarem dessa dica.

Quando o SQL Server ou SQL Express é instalado em um computador junto ou por algum outro aplicativo (Visual Studio, Web Platform Installer), o grupo de administradores local da máquina não é adicionado automáticamente ao grupo de administradores do banco de dados. Então, quando um computador muda de dono, o novo dono não consegue ter acesso admin no próprio SQL, mesmo sendo administrador local, pois apenas o usuário anterior e o “sa” estão no grupo de administradores do SQL.

O SQL e o SQL Express têm um modo de execução chamada “Single User” que serve justamente para realizar reparos na instalação. Quando o SQL está rodando em modo “Single User”, todos os administradores locais são incluídos temporáriamente como administradores do banco de dados, mesmo que ele não esteja configurado assim. Isso torna possível conectar no banco e fazer as “correções” necessárias usando o usuário logado atualmente no computador.

Abaixo tem um passo a passo para realizar a correção e reassumir controle sobre o banco de dados.

  1. Obtenha o nome do serviço da instância do SQL que você deseja reparar. O serviço do SQL Server custuma se chamar MSSQLSERVER e o do SQL Express costuma se chamar MSSQL$SQLEXPRESS. Se você não tiver certeza, pode verificar o nome do serviço indo em “Painel de Controle > Ferramentas Administrativas > Serviços” e dando um duplo clique no serviço desejado você verá o nome dele:
    Gerenciador de Serviços do Windows, com o serviço Janela de propriedades do serviço
  2. Abra um prompt de comando em modo administrativo (“Run as Administrator” ou “Executar como Administrador”)
    Menu Iniciar, mostrando a opção Prompt de Comando aberto, mostrando que está sendo executado como Administrador
  3. Pare o serviço do SQL desejado executando o seguinte comando:
    NET STOP NomeDoServicoPasso1

    No meu caso, o nome do serviço seria MSSQL$SQLEXPRESS.


  4. Reinicie o serviço do SQL em modo Single User com o seguinte comando:
    NET START NomeDoServicoPasso1 /m

    A partir de agora só é possível conectar nesse banco de dados com o usuário atual.


  5. Conecte no banco de dados utilizando o SQL Server Management Studio, mas executando como Administrador do mesmo modo que foi feito com o prompt de comando. Isso é necessário pois o SQL está executando em modo Single User, então ele só aceitará conexões do usuário que iniciou o serviço.


    Menu Iniciar, mostrando o programa


  6. No SQL Server Management Studio, execute as alterações desejadas no servidor (ex.: alteração da senha do usuário “sa”, inclusão do seu usuário no grupo “sysadmin”, inclusão do grupo de administradores local como sysadmin no SQL, etc…). Depois de feitas as alterações, feche o SQL Server Management Studio.


  7. Pare o serviço do SQL novamente, usando o mesmo comando executado no passo 3.
    NET STOP NomeDoServicoPasso1



  8. Reinicie o serviço do SQL em modo normal, executando o mesmo comando do passo 4, mas sem o parâmetro /m no final.
    NET START NomeDoServicoPasso1



  9. Pronto, pode voltar a usar seu servidor de banco de dados normalmente.



Os passos acima podem ser feitos para qualquer versão e instância de SQL Server ou SQL Express e também funcionam em versões anteriores do SQL.

Tags: SQL Dicas

A lista de palestras do TechEd Brasil 2010 foi alterada

A lista de palestras do TechEd Brasil 2010 foi alterada ontem devido à ajustes na grade e 2 das minhas palestras mudaram de dia e de horário. Se você já havia montado a sua agenda, vá ao site e atualize.

Tech·Ed 2010

Segue abaixo a grade que montei para mim com as minhas 3 palestras destacadas (as minhas que mudaram de horário estão marcadas abaixo com um * )

segunda-feira, 13/09/2010

  • 13:45 - 15:00 - Dicas, truques do visual Studio 2010 e novas funcionalidades do Visual Basic e C# - João Paulo Clementi, Renato Haddad
  • 15:30 - 16:45 - Desenvolvimento com C# no mundo moderno - Alfred Myers
  • 17:15 - 18:30 - Tudo o que você precisa saber sobre Scrum e Visual Studio ALM em 150 min - Parte 1 - André Dias, Giovanni Bassi
  • 18:45 - 20:00 - Scrum Process Template para TFS 2010: Seja ágil de verdade - Parte 2 - André Dias, Giovanni Bassi

terça-feira, 14/09/2010

  • 09:00 - 10:15 - Novidades e razões para migrar para o Microsoft .Net Framework 4 - Diego Blanco, João Paulo Clementi
  • 10:45 - 12:00 - Meu site anda meio lento... e eu não sei mais o que fazer! - Vinicius Canto Xavier
  • 13:45 - 15:00 - WPF Data-Binding de A à Z - Kelps Leite de Sousa *
  • 15:30 - 16:45 - Implementando Serviços RESTful usando o Microsoft .NET Framework - Israel Aece
  • 17:15 - 18:30 - Aplicações WEB com Silverlight 4 fora do Browser - Djonatas Tenfen, Rogerio Cordeiro
  • ASK the Experts - Mesa de Silverlight (não aparece na grade)

quarta-feira, 15/09/2010

  • 09:00 - 10:15 - Silverlight 4 e Expression Blend 4: Tecnologia e Ferramenta em suas Mãos - Rodrigo Kono
  • 10:45 - 12:00 - Como e onde devo utilizar o Managed Extensibility Framework (MEF) - Rogério Moraes de Carvalho
  • 13:45 - 15:00 - Criando Rich Internet Applications (RIA) com Silverlight 4 e WCF RIA Services - Kelps Leite de Sousa
  • 15:30 - 16:45 - Entendendo a Plataforma de Aplicações do Windows Phone 7 - Galileu Vieira, Luciano Condé
  • 17:15 - 18:30 - Aproveitando ao máximo as ferramentas do Visual Studio 2010 para Silverlight e WPF - Kelps Leite de Sousa *

Infelizmente não será possível assistir a todas a palestras que eu gostaria. Espero que as palestras sejam gravadas esse ano para que possamos assistir depois as palestras que perdermos ao vivo.

Vejo vocês lá!

Lista de palestras do TechEd Brasil 2010 disponível no site

A lista de palestras do TechEd Brasil 2010está disponível no site. Ainda não foi divulgada a agenda com data e hora de cada palestra, então ainda não dá pra saber quais palestras vou conseguir assistir, mas já é possível ter uma idéia do conteúdo desse evento. Como eu já disse em um post anterior, estarei palestrando esse ano sobre 3 assuntos. Para saber mais sobre minhas palestras (ou de qualquer outra pessoa) basta acessar a página de palestras e filtrar por palestrante.

TechEd Brasil 2010 - Palestras

Vejos vocês lá!