segunda-feira, 20 de dezembro de 2010

Ontem vi TRON em grande estilo! O Cinemark do Cidade Jardim é o melhor!! E que dia lindo! rss SEM trânsito hoje pessoal!-:) abraços!!

terça-feira, 14 de dezembro de 2010

quinta-feira, 2 de dezembro de 2010

News blogEffectlb : já imaginou ver Darth Vader e a Princesa Leia, de Star Wars, no metrô? http://bit.ly/iixo8u
News blogEffectlb : já imaginou ver Darth Vader e a Princesa Leia, de Star Wars, no metrô? http://bit.ly/iixo8u

quarta-feira, 1 de dezembro de 2010

News blogEffectlb : Chevrolet Camaro SS a uma bagatela de r$ 185mil é seu! http://bit.ly/fgK2H8
News blogEffectlb : Chevrolet Camaro SS a uma bagatela de r$ 185mil é seu! http://bit.ly/fgK2H8
Web sites http://ping.fm/n9Z3x
News blogEffectlb : LINQ relationship to the new C#3 and VB9 features http://bit.ly/e9b2nH
News blogEffectlb : Usuários arrematam iPad e iPhone com preço 90% menor http://bit.ly/eEn9MO
News blogEffectlb : Twitter atinge a marca de 300 funcionários http://bit.ly/hdL745
News blogEffectlb : Google expande serviços de busca local http://bit.ly/dM2xRu
News blogEffectlb : Executivos do Blekko falam sobre o mercado de buscas e search http://bit.ly/etl6Tt
News blogEffectlb : Resolving Connection Error with MySQL Migration Toolkit http://bit.ly/gSUMDO
News blogEffectlb : Ruas do Brasil já possuem o Street view! http://bit.ly/fplAap
News blogEffectlb : Regular expression C# http://bit.ly/hVW0F5
News blogEffectlb : Documentation made easy with C# and XML http://bit.ly/hk950Z
News blogEffectlb : Como tirar o máximo do AdSense http://bit.ly/gB1RQk
News blogEffectlb : Segundo TSE, transmissão via satélite na apuração custou apenas R$ 9 milhões http://bit.ly/dMJ2SJ
News blogEffectlb : Um ano após lançamento, Microsoft comemora vendas do Windows 7 http://bit.ly/ejIa3u
News blogEffectlb : Plataforma Android já tem 21,4% do mercado de smartphones nos EUA http://bit.ly/eGh5bI
News blogEffectlb : Superar o XP, desafio para o Windows 7 http://bit.ly/h312HZ
News blogEffectlb : Superar o XP, desafio para o Windows 7 http://bit.ly/h312HZ
News blogEffectlb : Filme a rede social, um filme da história do Facebook.com http://bit.ly/eSit4d
New blog post : Filme a rede social, um filme da história do Facebook.com http://bit.ly/eSit4d
New blog post : fFilme a rede social, um filme da história do Facebook.com http://bit.ly/eSit4d
New blog post : Filme a rede social, um filme da história do Facebook.com
New blog post : Filme a rede social, um filme da história do Facebook.com
New blog post : Medal of Honor - Nenhuma novidade
teste- New Windows Phone 7 Official Ad
teste- New Windows Phone 7 Official Ad
Flash Templates, Website Templates, Web Templates
blog.effectlab.com.br
New blog post : Comprar games fora do Brasil é a melhor solução.
New blog post : Google Tv

quinta-feira, 4 de novembro de 2010

sexta-feira, 29 de outubro de 2010

Google expande serviços de busca local

O objetivo é eliminar itens redundantes e consolidar informações relevantes. Alvos são as pequenas e médias empresas.

A Google reformulou o jeito de apresentar resultados de buscas locais. O objetivo é eliminar itens redundantes e consolidar o máximo de informações relevantes.
O sistema também foi rebatizado,  terá o nome de Place e estará localizado do lado esquerdo da interface de buscas.
De agora em diante, quando o internauta for procurar por serviços, como restaurantes, hotéis e escolas, verá um índice com o nome dos locais, os endereços, uma imagem reduzida, números de telefone e um ícone que demonstra sua localização no Google Maps. Caso existam comentários sobre os locais apontados no resultado, também haverá um link que conduz o internauta para sites de reviews (um segmento ainda carente no Brasil).
“Mais de 20% das buscas feitas no Google são dirigidas a determinados locais. Isso é um volume nada desprezível”, afirmou uma gerente de produtos do Google, Jackie Bavaro. “Estamos facilitando esse trabalho de localizar serviços em diferentes locais”.
Por anos, a Google disponibilizou um lugar na internet em que empresários pudessem exibir seus negócios. O nome desse diretório era Local Business Center e foi rebatizado para Places há alguns meses.
Para o analista da Sterling Market, Greg Sterling, isso é apenas uma ponta do iceberg da Google quando o assunto é busca local. “Isso é só o começo para a Google”, diz.
A nova modalidade da gigante das buscas deve incrementar ainda mais seu faturamento com publicidade. Dessa vez, até as numerosas empresas de pequeno e de médio porte devem ser atraídas para a rede de anunciantes da Google.


Fonte: http://idgnow.uol.com.br/internet/2010/10/27/google-expande-servicos-de-busca-local/

quinta-feira, 28 de outubro de 2010

LINQ's relationship to the new C#3 and VB9 features

LINQ's relationship to the new C#3 and VB9 features: "


Author: Hi, I am Daniel Moth Language Integrated Query (LINQ) is the headline feature of the Visual Studio 2008 release. Most of LINQ is based on the new C#3 and VB9 language features. In this video, I demonstrate the association between the compiler features and LINQ. In particular, you learn about the relationship to LINQ of Local Variable Type Inference, Object Initiliasers, Anonymous Types, Extension Methods, Lambda Expressions and Query Expressions.



Download:

If you don't like streaming the video, you can download the WMV file packaged in a ZIP here.

"

Twitter atinge a marca de 300 funcionários

Twitter atinge a marca de 300 funcionários: "O Twitter anunciou nesta terça-feira (26), por meio de seu próprio perfil oficial no microblog, que contratou o seu 300º funcionário.
"Acabamos de contratar nosso 300º funcionário em tempo integral! Wowza!", anunciou o perfil da empresa.
Ainda assim, a empresa é consideravelmente menor que outras do ramo, como o Facebook, que tem mais de 1.700 funcionários.
Leia mais (27/10/2010 - 09h47)"

Usuários arrematam iPad e iPhone com preço 90% menor

Usuários arrematam iPad e iPhone com preço 90% menor: "Comprar um iPhone 4 a R$ 133 ou um iPad a R$ 134 parece piada. Mas os valores são reais em sites de leilão, onde esses aparelhos são vendidos por preços cerca de 90% menores que os atuais.
É o caso do analista de sistemas Carlos Eduardo Quintino Alves Nogueira, 28, que arrematou o iPhone 4 de 16 Gbytes por um valor 92% menor do que o atual.












Nidin Sanches/Folhapress
Carlos Nogueira,que arrematou iPhone com 92% de desconto; leilões on-line progridem de centavo a centavo
Carlos Nogueira,que arrematou iPhone com 92% de desconto; leilões on-line progridem de centavo a centavo

Leia mais (27/10/2010 - 11h01)"

Medal of Honor chega ao Brasil em 4 de novembro, diz produtora

Medal of Honor chega ao Brasil em 4 de novembro, diz produtora: "O jogo Medal of Honor está previsto para chegar ao Brasil em 4 de novembro para as plataformas PC, PlayStation3 e Xbox 306. As informações são da Electronic Arts.
O jogo trata de uma "força de elite composta pelos melhores soldados do exército americano que opera sob o comando da Autoridade Nacional para assumir missões que mais ninguém conseguiria cumprir". O jogador acompanha esse pelotão durante o jogo.
Além do modo para apenas um jogador, o game traz a opção de participar de uma guerra online entre 24 jogadores.
Leia mais (27/10/2010 - 18h53)"

Effectlab Solution web: Apple branco, Apple adia o lançamento de versão na...

Effectlab Solution web: Apple branco, Apple adia o lançamento de versão na...: "iPhone 4 na cor branca chega ás lojas apenas em2011. (Foto: Divulgação)A Apple divulgou um comunicado na terça-feira (26), informando que i..."

Apple branco, Apple adia o lançamento de versão na cor branca do iPhone 4


iPhone 4 na cor branca chega ás lojas apenas em 2011.iPhone 4 na cor branca chega ás lojas apenas em
2011. (Foto: Divulgação)
A Apple divulgou um comunicado na terça-feira (26), informando que irá atrasar o lançamento da versão na cor branca do iPhone 4. O smartphone será vendido apenas no segundo trimestre de 2011 nos Estados Unidos.


O iPhone 4 foi lançado em junho nos Estados Unidos e, na época, a versão na cor branca foi adiada para o mês de julho. Por conta de problemas de fabricação e da alta demanda do aparelho, a comercialização da versão branca foi adiada para o início de 2011. “Pedimos desculpas por termos desapontado nossos consumidores que querem tanto o iPhone 4 branco”, disse a porta-voz da Apple Trudy Muller.


A companhia de Steve Jobs nunca disse os motivos do atraso do lançamento do iPhone 4 branco, apenas que produzir o aparelho nesta cor apresenta um “desafio de fabricação maior do que era esperado anteriormente”.


Mesmo com problemas do iPhone 4 na cor branca, o smartphone, em sua versão preta, não tem problemas de vendas. Nos Estados Unidos, as vendas do aparelho cresceram 91% para 14,1 milhões de unidades em 2010, com vendas chegando a US$ 8,6 bihões.


Com 10 anos, PlayStation 2 alcança 146 milhões de unidades vendidas


PlaySstation 2 fez 10 anos na terça-feira (26).PlaySstation 2 fez 10 anos na terça-feira (26).
(Foto: Divulgação)
O console PlayStation 2, lançado em 26 de outubro de 2000, comemorou 10 anos de existência na terça-feira (26), alcançando a marca de 146 milhões de unidades comercializadas em todo o mundo. O videogame da Sony é o mais vendido de todos os tempos e tem mais de 2 mil título em sua biblioteca.


“Uma década depois do lançamento e o videogame ainda é introduzido nos lares de diversos jogadores ao redor do mundo, recebendo novas gerações de gamers a cada dia”, afirma Jack Tretton, CEO da divisão Sony Computer Entertainment. “O console, com suporte a CD e DVD, partidas on-line, câmera e outros recursos, foi o primeiro a oferecer diversão para toda família”.
O videogame recebeu uma nova versão, a Slim, em 2004. Mais barata, a edição ajudou a impulsionar as vendas. Títulos como “Gran Turismo”, “Devil May Cry”, “Metal Gear Solid”, “Final Fantasy” e “God of War” também ajudaram no sucesso do aparelho.
“O PlayStation 2 foi a primeira verdadeira plataforma de entretenimento doméstico, permitindo que os consumidores pudessem encontrar algo do seu agrado entre os games”, disse Jessse Divinich, analista da empresa de pesquisa EEDAR. “Desde o ano 2000 que a insústria de videogames expandiu em tamanho e diversidade demográfica, consolidando opções de entretenimento dentro de uma plataforma única”.
No Brasil, o PlayStation 2 foi lançado oficialmente em outubro de 2009 e custa R$ 700.

Site mostra o PlayStation Phone


Blog Engadget diz ter acesso ao aparelho da Sony Ericsson.

Mistura de videogame e celular pode ser lançado ainda em 2010.

O blog especializado em tecnologia Engadget publicou imagens de um smartphone da Sony Ericsson que possui características de videogame portátil, o que, de acordo com a publicação, pode se tratar do aguardado PlayStation Phone.
Rumores sobre a fabricação do aparelho já tinham sido divulgadas anteriormente, mas esta é a primeira vez que supostas imagens de um protótipo do smartphone que une as funções do videogame portátil PSP são divulgadas. Segundo o Engadget, o aparelho roda o sistema operacional Android 3.0 (conhecido como Gingerbread), possui loja virtual da Sony para baixar jogos para a plataforma, processador de 1 GHz MSM8655 da Qualcomm, 512 MB de RAM, 1 GB de ROM e uma tela sensível ao toque que possui entre 3,7 e 4,1 polegadas.
O possível PlayStation PhoneO possível PlayStation Phone (Foto: Reprodução)
O smartphone ainda possui uma aba deslizante que revela os controles para jogar videogame, bastante similar a do modelo PSPgo do PlayStation portátil. O celular ainda apresenta os “botões de ombro” L e R para os games. Não há entrada para cartões Memory Stick, de fabricação da própria Sony. Em vez disso, há entrada para cartões SD. Em vez de alavancas analógicas para controlar os games (como as existentes no PSP e no PSPgo), há uma área sensível ao toque entre o direcional digital e os botões de ação que servirão para esse propósito.
Rumores apontam que um smartphone com capacidades de rodar jogos do PSP pode ser lançado no final de 2010 ou no início de 2011.

quarta-feira, 27 de outubro de 2010

The Medal of Honor Game

The Medal of Honor Game with Developer Xbox Live event has begun! Be sure to join us online.

Desde o lançamento do primeiro "Medal of Honor", em 1999, a série se tornou sinônimo de jogos de guerra. Seu clima cinematográfico, cheio de momentos emocionantes que faziam os jogadores da época se sentirem no meio das batalhas da 2ª Guerra Mundial, foi copiado em muitos jogos e explorado a exaustão nos 18 jogos seguintes.

Assim, quando "Call of Duty", a franquia rival, deixou a 2ª Guerra Mundial para trás e explorou um conflito moderno - ainda que fictício - a partir de "Call of Duty 4: Modern Warfare", muitos deram como certo o fim de "Medal of Honor". A série, como conhecíamos, realmente chegou ao fim.

Trailer de "Medal of Honor"; assista
O jogo que chega em 2010 aos computadores e consoles de alta definição quase nada tem em comum com os episódios anteriores: é um jogo de tiro em primeira pessoa, ambientado em um conflito real - dessa vez, o ainda quente Afeganistão - e com pequenos momentos de exaltação patriótica norte-americana. Todo o resto é diferente, de qualidade muito superior ao que foi feito pela EA com a série nos últimos anos.

A campanha solo de "Medal of Honor", produzida pelo estúdio Danger Close, coloca o jogador no controle de diferentes soldados. A maior parte do tempo, o herói é um membro do Tier 1, espécie de tropa de elite do exército dos Estados Unidos. São soldados durões, com aparência de motoqueiro e que atuam sozinhos ou em dupla, em missões de infiltração ou acertando alvos a mais de um quilômetro de distância com seus poderosos rifles de precisão.

Também há momentos no volante de um quadriciclo, no comando de um helicóptero e até mesmo de um avião bombardeiro, mas o auge da campanha está no arco de missões envolvendo um grupo de rangers, soldados mais comuns do que os "Rambos" e "Chuck Norris" do Tier 1. A missão dos rangers começa com uma sequência de animação que, de certa forma, homenageia as cenas de desembarque no Dia D do primeiro "Medal of Honor" e culmina com o jogador e seus colegas cercado por todos os lados, lutando desesperadamente para sobreviver.

Falta, porém, uma melhor amarração entre as tramas isoladas que compõem o enredo e os personagens secundários não são carismáticos o bastante para segurar a tensão que o jogo tenta proporcionar nos seus momentos finais. Não é um trabalho fácil e, entre os principais jogos de tiro atuais, só o primeiro "Modern Warfare" acertou na mosca o ritmo com que a história deveria se desenvolver.

O jogo é impecável nos quesitos técnicos e a mira automática é quase tão boa quanto nos mais recentes "Call of Duty". Novas mecânicas de jogo, como aliados que fornecem munição e o movimento de cobertura, em que o soldado corre e se joga em direção a qualquer proteção disponível, funcionam bem. Trilha e efeitos sonoros tornam a ação vista na tela ainda mais intensa e os efeitos visuais impressionam em alguns momentos - como quando o céu escurece com a poeira levantada por um bombardeio.

Veja o modo multiplayer Combat Mission
"Medal of Honor" oferece uma boa diversidade de modos multiplayer, dentre os quais o destaque é o modo Combat Mission, que dá cinco objetivos para cada time e um tempo limite para conquistar ou defender cada um deles. É uma fórmula que a DICE - responsável pelas modalidades para vários jogadores - domina com maestria e o resultado é bom, mas com ressalvas. Poderia haver mais de três classes de personagem disponíveis, por exemplo.

Também há o modo Tier 1, em que o jogador percorre as fases da campanha solo correndo contra o relógio. Certas ações, como tiros certeiros na cabeça, acrescentam alguns segundos ao contador, mas se o tempo acabar antes do fim da fase, já era, é preciso começar de novo.

O multiplayer e o modo Tier 1 dão vida extra ao jogo, uma compensação justa para a curta campanha principal - dá para ir do começo ao fim em uma tarde. Pode ser pouco, mas será uma tarde muito bem aproveitada.

Fonte:http://jogos.uol.com.br/pc/analises/medalofhonornextgen.jhtm

Informática - Submarino.com.br

terça-feira, 26 de outubro de 2010

Antes do lançamento, novo 'Assassin's Creed' quebra recorde


'Assassin's creed brotherhood' é o novo título de uma das franquias mais importantes da Ubisoft. 
(Foto: Divulgação)
'Assassin's creed brotherhood' é o novo título de
uma das franquias mais importantes da Ubisoft.

A produtora Ubisoft francesa divulgou na terça-feira (20) que a pré-venda do game “Assassin’s Creed: Brotherhood”, já superou o resultado dos dois títulos anteriores da franquia, conquistando um novo recorde para a empresa. Não foi divulgado, no entanto, o número de jogos vendidos antes do seu lançamento para o PlayStation 3, Xbox 360 e PC previsto para o dia 16 de novembro.
“’Assassin’s Creed: Brotherhood’ é uma experiência diferente de qualquer outro jogo com modos para um jogador ou para partidas pela internet”, afirmou o vice-presidente de vendas da Ubisoft, Tony Key. “O número recorde de pré-venda do game e o grande sucesso da fase de testes do modo on-line provam que os jogadores estão ansiosos pelo título, e nós estamos ansiosos em entregar uma experiência única para eles”.
Desde o lançamento do primeiro game da série em 2007, a franquia Assassin’s Creed vendeu mais de 19 milhões de cópias em todo o mundo.




“Assassin’s Creed: Brotherhood” é sequência direta dos eventos do segundo game que mostra o personagem principal Ezio comandando um grupo de assassinos que deve lutar contra os templários. A novidade é poder montar equipes on-line para, na cidade de Roma, cenário do título, enfrentar os inimigos.


Fonte: http://g1.globo.com/tecnologia/noticia/2010/10/antes-do-lancamento-novo-assassins-creed-quebra-recorde.html

Amazon vende 2 vezes mais livros digitais que impressos

25/10/2010 17h43 - Atualizado em 25/10/2010 17h54

Amazon vende 2 vezes mais
livros digitais que impressos

Comparação levou em conta os 10 primeiros best-sellers.
Kindle terá sistema para emprestar livros para amigos.

France Presse
Novo Kindle será entregue a partir de 27 de agosto.Novo Kindle. (Foto: Divulgação)
A Amazon informou nesta segunda-feira (25) que o dobro de livros digitais são vendidos em comparação aos impressos. A pesquisa levou em conta os 10 primeiros best-sellers.
"Os livros do Kindle – o leitor de livros digitais da Amazon – também são mais vendidos que os 25, 100 e 1 mil primeiros livros impressos mais comercializados", disse Steve Kessel, vice-presidente da Amazon Kindle.
"Isto é notável, se levarmos em conta que os livros impressos de capa dura e de bolso são vendidos há 15 anos, enquanto [vendemos] livros eletrônicos do Kindle há apenas 36 meses", disse Kessel em um comunicado.
A Amazon anunciou em julho que a venda de livros eletrônicos para o Kindle havia superado a venda de livros de capa dura. Segundo Kessel, "no caso dos 10 primeiros best-sellers da Amazon, os clientes estão escolhendo livros do Kindle em vez de livros de capa dura, assim como os de bolso, e em proporção maior que dois para um".
Empréstimo de livros
A Amazon anunciou na sexta-feira (22) que vai eliminar uma das maiores desvantagens do leitor de livros digitais Kindle na comparação com as publicações impressas: até o final do ano, será possível emprestar livros do Kindle para amigos que também possuam o leitor digital.
De acordo com a Amazon, cada livro só poderá ser emprestado uma vez, por um período de 14 dias. Durante este tempo, o comprador original não poderá acessar o conteúdo em seu Kindle.

Fonte: http://g1.globo.com/tecnologia/noticia/2010/10/amazon-vende-2-vezes-mais-livros-digitais-que-impressos.html


Sony anuncia fim da venda do Walkman para fitas cassete no Japão

France Presse
Walkman para fitas casseteWalkman para fitas cassete.
(Foto: Yoshikazu Tsuno/AFP)
A Sony anunciou nesta segunda-feira (25) que não venderá mais Walkman para fitas cassete no Japão, 31 anos depois do lançamento do produto que modificou a vida cotidiana dos japoneses.
Qualificado pela Sony de "produto do século", o Walkman, originalmente um reprodutor de música para fita cassete com fones de ouvido, fabricado na China, continuará sendo comercializado no exterior. As vendas devem cessar no Japão ao fim do estoque de modelos já entregues às lojas.
Em três décadas, a Sony afirma ter vendido mais de 220 milhões de Walkman em todo o planeta. Com a obsolescência da fita cassete, a marca Walkman permanece viva nos modelos digitais para Compact Disc (CD), Mini-disc (MD), discos rígidos e pen drives.

Fonte:http://g1.globo.com/tecnologia/noticia/2010/10/sony-anuncia-fim-da-venda-do-walkman-para-fitas-cassete-no-japao.html

As inscrições para o BBB11 estão abertas a partir do dia 10 de setembro

As inscrições  para o BBB11 estão abertas a partir do dia 10 de setembro e encerram-se às 20h00 (horário de Brasília) do 31 de outubro de 2010.
Para se inscreverem pela internet, os candidatos devem seguir o passo a passo abaixo:
- Clicar ‘ACESSE AGORA’. Você será direcionado para a página de Cadastro na Globo.com.
- Fazer um cadastro gratuito (free) na Globo.com. Se você é assinante da Globo.com ou dependente, deverá fazer um NOVO CADASTRO NA GLOBO.
- Imediatamente após o preenchimento do seu cadastro, você receberá um e-mail da Globo.com para conclusão do seu cadastro, no endereço de e-mail fornecido por você.
- Clicar no link recebido para validação do seu e-mail. Esse é um e-mail padrão para cadastros da Globo.com, e será o ÚNICO E-MAIL QUE POSSUIRÁ UM LINK ENVIADO, DURANTE TODO O PROCESSO.
- Fazer o seu login e responder a TODAS as perguntas do questionário. Caso não saiba ou não tenha alguma informação, escreva ‘Não sei’ ou ‘Não tenho’, pois se você deixar qualquer pergunta em branco, não conseguirá habilitar o botão de ‘envio do vídeo’.
- Preencher o formulário para envio do seu vídeo, completando as seguintes informações: título e descrição do vídeo.  Além disso, você pode adicionar no seu vídeo de inscrição tanto pelo correio, quanto pela internet, um slideshow de até 20 fotos.
- Selecionar no seu computador o arquivo referente ao seu vídeo, lembrando que ele deve ter NO MÁXIMO 50MB em tamanho e deve estar dentro dos formatos de vídeos aceitos: 3g2, 3gp, 3gp2, 3gpp, asf, avi, divx, dv, dvx, f4v, flv, h263, m4e, m4v, wmv, mov, movie, mp4, mpg, mpeg, qt e rm.
- Clicar em “ENVIAR INSCRIÇÃO” no fim da página para finalizar o processo de inscrição.
- Após o envio do seu vídeo e finalização do processo de inscrição, você será direcionado para uma tela com a seguinte mensagem: Parabéns, sua inscrição foi enviada com sucesso! Gostaria de participar da Comunidade dos Inscritos do BBB11? Se você desejar participar da Comunidade, deverá responder SIM. Você só terá uma única chance de optar se deseja ou não fazer parte da Comunidade.
Se você não sabe o que é a Comunidade dos Inscritos BBB11,  no Chutando as Dúvidas existe um tópico exclusivo sobre a Comunidade.
Após clicar em SIM, você verá uma mensagem de confirmação e logo em seguida será redirecionado para a Comunidade de Inscritos BBB11.
IMPORTANTE: Essa é a sua ÚNICA chance para se inscrever na Comunidade dos Inscritos do BBB11.
DICAS IMPORTANTES:
- Você não irá enviar nenhuma foto pela sua inscrição pela internet. Entretanto, você é OBRIGADO a deixar pelo menos 1 álbum de fotos liberado em um site de relacionamento (Orkut, facebook, twitter…) para que a produção tenha acesso às suas fotos. Recomendamos que você crie um álbum chamado BBB11 com as fotos que deseja mostrar para a produção.
- Não é preciso responder a tudo de uma só vez; você pode salvar o seu questionário para seguir de onde parou em um outro momento.
- Sempre que desejar sair da página do formulário de inscrição clique em “SALVAR QUESTIONÁRIO” e logo após em “SAIR DA INSCRIÇÃO”. Esta é mais uma forma de evitar que outras pessoas acessem o seu questionário.
- Ao clicar em “ENVIAR INSCRIÇÃO”, você não terá mais acesso às suas respostas e nem ao seu vídeo. Essa ação FINALIZA seu processo de inscrição. Portanto, antes de ‘enviar o vídeo e concluir a inscrição’, certifique-se de que suas respostas estão O.K., assim como seus dados cadastrais e vídeo. Só então conclua sua inscrição.
A produção NÃO enviará nenhum e-mail de confirmação de recebimento do seu material de inscrição (questionário e vídeo).

sexta-feira, 22 de outubro de 2010

iPhone 4 Gets Unlocked in Canada, For a Price

The iPhone 4 makes its debut in Canada on Friday, giving Canadians the ability to choose from three carriers and to buy the device unlocked directly from Apple. It won't be cheap: the unlocked 16GB iPhone 4 will retail for $659 (CAD) or about $640 (USD), while the 32GB version will go for $779 (CAD) or $756 (USD). Apple is also selling an unlocked 8GB iPhone 3GS for a cool $549 (CAD) or $532 (USD), according to the CBC.

By comparison, the contract-free, but still locked, price for the iPhone 4 in the United States is $599 (16GB) and $699 (32GB). Considering Canada's proximity to the United States, I wonder if many Americans might consider heading to Canada for future iPhone purchases instead of buying a subsidized and locked device from AT&T.

Canada is not the only country to get the unlocked iPhone 4; 16 other countries will have stores full of unlocked iPhones beginning Friday. Customers in the United Kingdom and France currently enjoy the privilege of buying unlocked Apple iPhones.

Reasons to Unlock

iPhone 4 Gets Unlocked in Canada, For a PriceT-Mobile doesn't support the iPhone 4's new micro-SIM card at the moment, so unless you want to try cutting down a regular-sized SIM to micro-SIM size, increased carrier choice in the U.S. isn't a reason to switch. But an unlocked iPhone can be a boon for international travelers. An unlocked iPhone means you don't have to worry about exorbitant roaming and data fees, and you can avoid AT&T's World Traveler service that offers international calling plans for about $6 per month and international data access for $25-200 (20MB-200MB) per month. Rather than pay the extra fees, you could pop out your iPhone 4's micro-SIM, pick up a micro-SIM card at your destination country, and you're ready to go.

There are other ways to get your hands on an unlocked iPhone, such as software unlocking tools. But if you're queasy about tinkering with iPhone firmware, it doesn't get much easier than a day trip across the border.

Connect with Ian on Twitter (@ianpaul).

Credits: By Ian Paul, PCWorld

quinta-feira, 21 de outubro de 2010

Better Default Fonts For The Web

hat are the best default fonts for the web? There often comes a time when our client does not like the font on their website and would like us to find alternatives. But before just using any font, we have to make sure it’s one of the default fonts most people have on their computer or we risk it not being shown and having a default font load instead. Luckily there are several default fonts included on Mac and Windows computers to choose from.
But which one do I choose? and I don’t just want to use Arial everytime. So with a little research we can create a cheat sheet of default fonts and their comparitives.

Serif Fonts:

Georgia and Times New Roman

Georgia (Windows & Mac). This is an excellent font for the screen, which it was especially made for. Common on both Windows and Mac machines, its alternative usually is Times New Roman (W) and Times (M).
Times New Roman (Windows & Mac). Times is primarily a print font and not the best choice for the web. However, Times New Roman and the Mac version, Times, are often the alternative or second choice for other serif fonts because they are so prevalent.

Palatino

Palatino Linotype (Windows). Although Palatino is not a screen font, it renders very well, even better than Times. Palatino Linotype is included in Windows XP/2000; earlier Windows systems came with Book Antigua, which is very similar to it.
Palatino (Mac). The Mac version of Palatino Linotype is as legible on-screen as the Windows variety. Because Palatino is also installed on Windows as Palatino Linotype, this is a great font to use for the web.
Book Antiqua (Windows). Book Antigua is the precursor to Windows Palatino Linotype. It came installed on earlier versions of Windows and should be included in your font alternate list if you specify Palatino.

Other Fairly Common Serif Fonts:

Bookman Old Style (Windows).
Garamond (Windows).

Sans Serif Fonts:

Arial and Helvetica

Arial (Windows & Mac). This is a common font for both Mac and Windows. Although it was not created for the screen, it renders reasonably well online at larger sizes. It is very similar to Helvetica.
Helvetica (Mac). This font is often paired with Arial, which it closely resembles. However, like Arial, it was not intended to be used for the screen, and it is not as easy to read as other fonts, particularly at smaller sizes.

Geneva, Tahoma and Verdana

Geneva (Mac). Designed for the screen as a replacement for Helvetica, Geneva is a nice font for web pages. Windows’ alternatives include Arial, Verdana and Tahoma.
Tahoma (Windows). Tahoma was designed especially for legibility on the screen. It’s preloaded on Windows systems. Similar in style to Verdana, it is narrower and more condensed.
Verdana (Windows & Mac). Verdana was designed especially for the screen. A wide, open sans serif, it is considered by some to be the most legible font for the web. Verdana comes on both Windows and Mac systems.

Trebuchet MS

Trebuchet MS (Windows & Mac). Despite the “MS” Trebuchet is common on both Windows and Mac systems. Although it was created especially for the screen, it is not quite as legible as Verdana or Geneva. Still, it remains a good choice for web pages. Often paired with Helvetica.

Lucida Sans Family

Lucida Sans/Lucida Sans Unicode (Windows). Lucida Sans Unicode was not created specifically for the web, but it is a remarkably legible font on screen. Sometimes called just Lucida Sans, it is installed on almost all Windows systems.
Lucida/Lucida Grande (Mac). Lucida Grande is a variation of Lucida Sans Unicode and is the default system font for the Mac OSX. Slightly larger than Lucida Sans, it has become quite popular on the web recently. On earlier Macs, it may be called just Lucida. If you use the Lucida family, you’ll want to name all variations: Lucida Sans Unicode, Lucida Grande, Lucida Sans, and Lucida.

Other Fairly Common Sans Serif Fonts

Century Gothic (Windows).
Avant Garde (Mac).

Monospaced Fonts:

Courier

Courier New (Windows & Mac). This is the most common monospace font, as it is available on both Windows and Mac. On Mac it may also be called just Courier. Often used to display code, it works reasonably well but tends to be too light at smaller sizes.
Courier (Mac). The Mac version of Courier New. It’s a good idea to include it in your font list if you specify Courier New.

Monaco and Lucida Console

Monaco (Mac). A monospace font that comes with the Mac OSX. It is actually quite legible on screen, even with longer blocks of text.
Lucida Console (Windows). A monospaced variation of the Lucida font, Lucida Console ships with the Windows system. Like Monaco, it is readable and very common.

Credits: http://www.benzingtech.com/default-fonts-web/

15 Top Ecommerce Platforms

It’s definitly been a while since I posted my last blog post and the reason is because of eCommerce. Online Shopping Carts have been running wild in my mind and a few recent clients have been keeping me busy designing and developing them.
In this post I’ll go over the different eCommerce platforms I have used and will give my opinions on ease of use and management. These are simply my persoal choices for clients when they come to me wanting to sell something online. So let’s jump right in.
VirtueMart eCommerce
1. VirtueMart – I found VirtueMart to be very simple to use and maintain, plus it’s FREE. Importing and exporting products can be a problem since that’s an additional plugin which I find tiedous and that isnt very user friendly. As far as setup goes I found it easy to configure and add taxes, shipping details, payment processors. Good templates can be hard to find and alot of the better ones are for sale. There are tons of addons, plugins, etc. The only downfall is you need “Joomla” which isn’t as easy to manage, for all of you non-joomla users, Joomla is a content management system to control your website. But if you have a Joomla website already getting VirtueMart installed and working isn’t a daunting experience.
Themes: Download Themes
Download: Dowload

Prestashop eCommerce 2. PrestashopPrestashop is an Open Source all in one eCommerce solution from the get go. Providing a very basic Content Management System built in, Newsletters, and Ajax functionality to add Products and Categories. The import and export abilities function pretty well (in the newer versions) and I was able to get categories and products added to the cart immeditely. Prestashop The only downfall to this software solution is the lack of free modules and themes, I also feel the admin interface still reminds me of osCommerce which I hate.
Themes: Download Themes
Download: Download

Magento eCommerce
5. Magento – You can’t mention eCommerce without supporting Magento. Magento is a full Open Source eCommerce solution. It is very well coded and recommeded for advanced users only. This is in my top five because of the quality they put into the programming and design of the shopping cart software. The downfall to it is the complexity in configuration and adjustment. It’s totally different than any of the other shopping carts I’ve worked with. Adding products and categories isnt too hard but when you want to change themes or move blocks around it can be quite tricky. Magento features builtin SEO, Content Management, Mobile Browsing, International Support and more. Themes: Download Themes
Download: Download

Zen Cart eCommerce 4. Zen-Cart – Zen-Cart is an Open Source shopping cart system that has been around for a while now since 2003. Zen-Cart offers similar features to Prestashop however it is even more basic and the interface reminds me of osCommerce. Besides that their import/export feature is a good one and I was able to get a basic store up in minutes with minimal effort. They list a huge database of websites using Zen-Cart for every category, so it’s easy to find a site similar to what your looking to create.
Themes: Download Themes
Download: Download

Drupal eCommerce 5. Drupal e-Commerce – For those of you who are not familiar with Drupal it is a Open Source Content Management System similar to Joomla in features but with a totally different interface. This is the shopping cart system I have the least experience in but it still goes down as my top 5 because of it’s versility and resources that are provided for it. Drupal has a huge community following them with a huge database of plugins and themes to follow suit. Drupal eCommerce is similar to other CMS eCommerce plugins it integates easily. I was able to setup a basic cart with categories and products in around 30-45 minutes. It’s simple to configure and easy to manage I did not test the import and export functions.
Themes: Download Themes
Download: Download

C# Split String Improvement

You want to correct a common string Split mistake when parsing text. Observe examples and benchmarks of the mistake and how it can be fixed, with an increase in performance. Here we see how you can make some Split code written in the C# programming language have better performance.

=== C# string Split performance improvements ===

One Split call used: 2340 ms [faster]
Two Split calls nested: 4150 ms

Improving Split code

Here we look at how you can use one Split call instead of two nested Split calls to parse text. For the example, we have lines in a file that have more than one delimiter. We have a collection of paired keys and values. Here we Split once.

=== Program that Splits once (C#) ===

using System;

class Program
{
static void Main()
{
string[] arr = new string[]
{
"something:1,something:2,more:3,bloviate:5,alpaca:65,spaniels:3",
"elementary:4,string:4,miserable:6,reprimands:3,eats:6,trustworthy:5"
};

char[] del = new char[]
{
':',
','
};

foreach (string line in arr)
{
//
// Split on multiple delimiters
//
string[] tokens = line.Split(del,
StringSplitOptions.RemoveEmptyEntries);

for (int a = 0; a < tokens.Length; a += 2)
{
string s1 = tokens[a];
string s2 = tokens[a + 1];
Console.WriteLine("{0},{1}",
s1,
s2);
}

}
}
}

=== Output of the program ===

something,1
something,2
more,3
bloviate,5
alpaca,65
spaniels,3
elementary,4
string,4
miserable,6
reprimands,3
eats,6
trustworthy,5

Description. It reduces a string to an array. This version transforms the string of keys and values into a single array. In the for loop, we use the "a += 2" expression to advance two places each iteration. In the body of the loop, we assign each string to the two elements next to each other.
Inefficient version

Next, the inefficient version. Here we split on each comma and then for each of those strings, split again. This works well but it is slower and may be somewhat harder to manage.

=== Program that uses Split twice (C#) ===

using System;

class Program
{
static void Main()
{
string[] arr = new string[]
{
// [omitted]
};

foreach (string line in arr)
{
string[] pairs = line.Split(',');
foreach (string pair in pairs)
{
string[] parts = pair.Split(':');
string s1 = parts[0];
string s2 = parts[1];
Console.WriteLine("{0},{1}",
s1,
s2);
}
}
}
}

Credits By http://dotnetperls.com/split-improvement

Quebrando uma string em partes no C#

Estava precisando quebrar uma string de endereço em pedaço a partir de um limite  e apanhei um pouco pra fazer isso.Graças a ajuda de um amigo consegui fazer a lógica.


Vejam!

Imagine que você precise gravar em um campo 80 caracteres e o banco só aceita 50. Você teria que quebrar em "partes" para poder gravar. Veja o exemplo da lógica.



quarta-feira, 20 de outubro de 2010

Windows Phone 7. Sera que pega?

Aconteceu agora há pouco, em Nova Iorque, um evento no qual a Microsoft apresentou formalmente o Windows Phone 7. O sistema operacional que é aguardado desde o início do ano começará a ser distribuído em novembro, quando os consumidores americanos poderão comprar aparelhos de diversas marcas por um preço que lembra bastante o do principal concorrente da MS no segmento de smartphones. Antes disso, o sistema deve aparecer na Europa no fim de outubro.
Ao iniciar a apresentação do produto, Steve Ballmer, o CEO da empresa, disse que com o Windows Phone a diferença “não está no que você consegue fazer no telefone, mas como vai fazer isso”. E, de fato, a MS tentou mostrar que as coisas funcionam de forma diferente no WP7 do que nos acostumamos ver em outras plataformas – leia-se iPhone OS (iOS) e Google Android.
A palavra “mine” (meu em inglês) deve ter sido uma das mais usadas durante a conferência de imprensa, que foi transmitida por meio de webcast. Ballmer fez questão de dizer que será o “meu mundo, meus jogos, meus contatos”… Tudo baseado no “meu”, pois a abordagem do Windows Phone 7 é de colocar o usuário como real proprietário do aparelho e de suas funções.
Busca do Bing no WP7. (imagem: divulgação)
Pontos interessantes foram levantados sobre a plataforma criada pela Microsoft, que será adotada por fabricantes de peso como Dell, HTC, Samsung e LG. Os botões físicos Back (Voltar), Start (Iniciar) e Search (Buscar), por exemplo, deverão estar presente em todos os aparelhos, da mesma forma que os botões de opções, de Home e de Voltar estão presentes em todos os aparelhos rodando Android. Do iPhone OS temos o recurso de pressionar os ícones da Home Screen por alguns segundos, a fim de editar a ordem desses ícones.
O acesso à câmera fotográfica será muito rápido, como demostrou um dos responsáveis pelo Windows Phone 7. Com o aparelho em modo de espera, basta acionar o botão certo no modo paisagem para o sistema já ligar a câmera e permitir fotos excepcionais (parece que os principais aparelhos com o sistema terão ao menos 5 megapixels de resolução, o que já ajuda em fotografias de qualidade). Além disso, o usuário poderá configurar o upload automático das fotos para algum serviço baseado na nuvem.
A integração do WP7 com o Bing será total, como já podíamos esperar. O botão Search (Buscar) permite fazer buscas no serviço da MS, com direito a personalização nos resultados de acordo com a localização do usuário. Uma busca por comida tailandesa, por exemplo, traria como resultados as opções mais próximas de onde o usuário está. Em alguns casos, com direito a notas e recomendações sobre os restaurantes encontrados. Com interface diferenciada, o Windows Phone exibirá mapa e a lista de restaurantes numa mesma tela, algo que nenhum concorrente faz de forma digna.
O botão Start (Iniciar), herança do sistema operacional para desktops e notebooks, deverá ser pressionado por alguns segundos para habilitar os comandos de voz. A pesquisa demonstrada durante a apresentação falhou na primeira tentativa, por falta de conectividade, mas na segunda tentativa funcionou muito bem. A MS ainda esclareceu que o que o usuário fala não é processado pelo aparelho, mas é enviado para um servidor que faz a tarefa e retorna o resultado. Da mesma maneira que atualmente acontece no Google Android, por sinal.
A aposta em centrais (ou hubs) para as principais atividades e interesses em um smartphone mostrou-se acertada, ao menos nas demonstrações. O hub People (Pessoas), por exemplo, funcionará mais ou menos como o novo Windows Live Messenger 2011: o sistema buscará informações dos contatos nas principais redes sociais, permitindo uma experiência mais completa. No hub Pictures as imagens são o grande destaque, com direito a upload automático para serviços de fotos online e sincronização com os arquivos de imagens presentes no computador do usuário.
Hub do Office no WP7. (imagem: divulgação)
Para profissionais, o Office. Um hub específico para a suíte de produtividade da MS garante integração total com Word, Excel, PowerPoint e outros aplicativos. O usuário poderá visualizar documento, bem como editá-los diretamente no aparelho. E o mais interessante é que, dependendo dos ajustes do aparelho, esses documentos serão sincronizados com a nuvem. Com isso a empresa de Bill Gates oferece edição de documentos de três maneiras distintas: na web por meio do Office Web Apps, no desktop e notebook com o Office 2010, e nos dispositivos móveis com o Windows Phone 7. E o suporte aos documentos é nativo.
O jogos tiveram um momento especial durante a apresentação do Windows Phone 7. A Microsoft garantiu que somente essa plataforma terá integração com o Xbox Live, o serviço de jogos em rede do Xbox – um sucesso mundial, diga-se de passagem. Usuários poderão transitar com o mesmo avatar pelos jogos do celular e do Xbox 360. Além disso, vitórias e conquistas no console darão direito a pequenos prêmios, como acessórios e novas roupas, para o avatar do usuário. A MS, porém, não explicou como esse recurso vai funcionar.
E os fãs de games em dispositivos móveis podem comemorar: a EA Games será parceira da Microsoft na produção de jogos para WP7. O The Sims para a plataforma já está pronto.


Fonte: http://tecnoblog.net/43324/windows-phone-7-em-detalhes/

Do you know goDaddy?

Go Daddy Domains
Go Daddy has been offering the latest TLDs at the industry's lowest prices since 1997. Little wonder we're the world's premier domain name registrar (RegistrarSTATS.com). Because at Go Daddy, you can register a domain for up to 70% less than other registrars AND get hosting, an easy-to-use site-builder, personalized email account, blog/podcast tool, photo album and more - all absolutely FREE. We get you up and running on the Web for just the cost of your domain registration.

Site Builders
WebSite Tonight® has helped thousands of people build and launch their own websites with absolutely no technical skills. Just choose a professional layout from the dozens of themes available (restaurant, how-to, etc), then click and type right into the text boxes provided. Select photos and music with a couple of clicks, add widgets, plus a forum, guestbook and links to any online photo albums. Go Daddy also sells SmartSpace®, an instant site builder, as well as blog/podcast software and Internet photo hosting for anyone who'd like to share photos online. For those who don't wish to build their own websites, the Go Daddy Dream Design Team is available to create sleek, professional websites.

Web Hosting
According to Netcraft®, Go Daddy is the world's largest hostname provider. In addition to a range of reasonably-priced shared hosting plans, Go Daddy offers Dedicated and Virtual Dedicated servers. All plans come with a 99.9% uptime commitment, round-the-clock support and access to dozens of free downloadable applications through Go Daddy Hosting Connection®. All Go Daddy data centers feature integrated monitoring and fire systems, cutting-edge security technology and 24/7 onsite security staff. You can be sure any website hosted by us is monitored 24-hours-a-day by experts.

Email
At Go Daddy, each email account comes with a truly one-of-a-kind address. Forget those strings of nonsensical letters and numbers you get with other email accounts - each Go Daddy email address has your domain name right in it. This makes it super easy for friends, customers and colleagues familiar with your domain name to remember your Go Daddy email address. All Go Daddy email accounts are fast, ultra-reliable and secure. They're protected from spam and viruses and they're advertising-free. You can access your Go Daddy email through your Web browser or popular email clients like Microsoft Outlook® and Outlook Express. You can even send SMS and text mail-right from your compose window! Choose from several email plans, with up to 10 email addresses.

Business
Go Daddy offers a complete line of eCommerce and online marketing tools, all designed for the user with no knowledge of programming. Quick Shopping Cart® has everything you need to sell products online. Whether you use it as a stand-alone storefront or add it to an existing website, all you do is customize your product catalog, design your site and you're in business! Some companies require a monthly fee PLUS a percentage of the total transactions for a shopping cart but not Go Daddy. With Quick Shopping Cart®, you simply pay a monthly fee. The rest is all yours. Go Daddy customers may also order a professional logo, ad banners, a complete business identity and a website design from the experts on our Dream Design Team. They may also list and sell their products in Go Daddy Marketplace®, a bustling center of online commerce.

SSL Certificates
Secure Sockets Layer Certificates-or SSLs, as they're commonly called-encrypt sensitive data as it moves to and from your website. With an SSL on your site, information such as social security and credit card numbers can never be intercepted by an outside party, regardless of their intentions. SSL certificates are the single-most powerful means of reassuring wary Internet shoppers. When they see the distinctive padlock icon in the lower corner of their Web browser, visitors know that information flowing both to and from your site is protected. So there's no need to worry that someone will view the private information they provide to you. It's absolutely safe. Go Daddy offers a variety of SSL Certificates with up to 256-bit encryption-the highest level available. All Go Daddy SSLs come with a warranty and offer 99.9% browser recognition-many can be had in a matter of minutes. All for up to 70% less than the other SSL Certificates out there.

Resell domains and related services
Looking to start a home-based business or add to an existing one? Check out Wild West Domains®, a Go Daddy Group company. Open a Basic, Pro or Super Reseller plan with Wild West Domains and start selling a full suite of Go Daddy products. Domain names, Web hosting, site builders, email accounts, SSL Certificates, eCommerce tools - our reseller plans include over 50 products in all.

About Go Daddy
Founded in 1997, Go Daddy now dominates the domain, website hosting and SSL industries. The Company owns and operates its own services and equipment, which enables it to keep prices low and quality high. Go Daddy is renowned for its controversial Super Bowl® commercials, the comely and accomplished Go Daddy Girls® and our round-the-clock live customer service. CEO and Founder Bob Parsons® produces a popular blog at www.bobparsons.me.

terça-feira, 19 de outubro de 2010

domingo, 17 de outubro de 2010

Documentation made easy with C# and XML

We all just love documentation and do it extremely well. If you agree with this statement don’t bother reading on. But, if like the majority of programmers, you just see documentation as something that gets in they way of creating code then you need to know that C# integrates documentation and coding in a way that makes it about as easy as it possibly can be.
The XML documentation facility is built into all Visual Studio versions, including Express, because it is actually provided by the compiler at the next level down. You could say that it’s core C#, yet many programmers simply don’t know it exists and when they do find out about it they either dismiss is as trivial or fail to build some customising infrastructure that makes it truly useful.
Let’s begin by looking at the basic facilities and then move on to the interesting topic of using the generated XML documentation to create something more human friendly.


The key to embedding XML within a program is to make use of the triple slash comment. Whenever the compiler encounters the sequence “///” it assumes that the line contains valid XML. Yes it really is this simple. If you start a new project, depending on the type of project, you might see some /// comments that have automatically been inserted by the template. If you have been wondering why triple slash comments – now you know. If you type /// within the code of any project just before a method definition then the IDE will automatically generate a tag for you:
/// 
///
/// 
public void MyMethod()
{
}
Simply from the look of this, it is clear that you have just added a pair of XML tags and whatever you type between them will be converted into the tag’s value. For example:
/// 
/// MyMethod is designed to
/// demonstrate XML documentation
/// 
public void MyMethod()
{
}
It is a little-known fact but as well as the triple slash comment method you can also make use of a block comment similar to /* /. In this case you write /* to start the block and /** to end it. However block comments are not automatically generated in C# so to enter the above as a block comment you would have to manually enter:
/**
* 
* MyMethod is designed to
* demonstrate XML documentation
* 
**/
Block comments are sometimes useful but the triple slash comments are much more common.
So far so good, but how do we get the triple slash comments converted into the promised XML? All you have to do is open the project properties, click on the Build tab and then select the box “XML documentation file” and provide a suitable file name (see Figure 1). There is a corresponding command line parameter for the command line compiler and this is easy to look up in the documentation.
Figure 1
Figure 1: Selecting the XML document option is easy but often overlooked

If you now build or debug the program the triple slash comments are used to generate the XML file specified. You can find this either in the debug or release directory within the Bin directory. If you try this out you might be surprised to see are so many tags that you didn’t specify, see Figure 2.
Figure 2
Figure 2: The raw XML documentation

As already mentioned any template that you use to start a project generally already has lots of default XML documentation – including sections of generated code that you probably never give a moment’s thought to. If you look carefully at the file however you should be able to find the documentation that you added:

    
     MyMethod is designed to
      demonstrate XML documentation
    
You can see immediately the structure of the XML goes a little further than you might have expected. As well as the tags that were in the triple slash comments there is also a pair of tags with a name attribute giving the fully qualified name of the method that the tags are associated with.
The idea that every comment is associated with a particular code construct – a method in our example – is also key to understanding how it all works. You can only add a comment to one of: class, struct, enum, method, property, field indexer, delegate or event. Any triple slash comments not associated with one of these constructs is simply ignored by the XML generator. If you start a triple slash comment that is in the wrong place, i.e. not associated with a correct code construct, then the IDE will not auto-generate a pair of tags for you. If you are in the correct place than not only will the IDE generate a pair of tags but it also generates the name of the code construct and indicates its type with a leading letter followed by a colon. This name is used at the value of the name attribute in the tag. Hence:
…and the “M:” means Method. Other single letter type indicators include:
  • N: = Namespace
  • T: = Type i.e. class, interface, struct, enum or delegate
  • F: = Field
  • P: Property
  • E: Event
  • I: error unresolved construct
In addition to these indicators methods are also documented with additional information. For any method that has parameters a
tag listing the parameter names as attribute values is added. For example:
/// 
/// MyMethod is designed to
/// demonstrate XML documentation
/// 
/// A simple integer
/// A more sophisticated string

public void MyMethod(int param1,string param2)
{
}
…and this generates:

    
     MyMethod is designed to
     demonstrate XML documentation
    
         A simple integer
    A more
     sophisticated string
Notice that in addition to the
tags the parameter types have been added to the name attribute. Similarly for any non-void return type the IDE generates a tag so that you can comment on the purpose of the returned value. Notice that the type of the return value isn’t automatically encoded. The only exception to this if for an implicit conversion operator when the return type is coded as part of the name following “~”. At this point it is important to understand that the IDE is inserting tags as it thinks fit but you can do the same job manually if you want to. As long as you insert valid XML the compiler will add it to the XML file it generates. You can even invent your own tags to do special tasks. However the compiler actually checks the correctness of some of the tags that are generated automatically and their content is used in Intellisense prompting. For example, with the documentation given for MyMethod listed above you will see the content of the tag part way through typing MyMethod( and the parameter tag value after typing the opening bracket. This makes this approach to documenting class libraries immediately rewarding – even to the programmer creating the documentation!
There are some other tags that are only entered manually that are worth knowing about. In particular if you want to make an extended remark about a code construct then use the tag. Use the and tags to refer to other constructs that are relevant to the current constructs. Perhaps the most elaborate of the standard tags is the tag which can be used, as its name suggests, to provide an example of the use of the construct complete with code. To include code you either need to use the tag for code snippets or for multi-line code examples. For example:

/// 
/// This method is very clever and I'm
/// very proud of it so pay special
/// attention when you read it.
/// 
/// 
/// To call this method:
/// 
/// MyMethod(1,"String");
/// 
/// 
…which generates:

    This method is very clever and I'm
    very proud of it so pay special
    attention when you read it.


    To call this method:
    MyMethod(1,"String");
It is important to realise that there is no implied semantics here. The text in between the tags is just text. The value of all of this really only comes about when the XML is put through some sort of processor which treats the values associated with each tag appropriately, e.g. formatting and colour coding anything between tags. For example, the tag can be used to include a list of items formatted as bullet, numeric or as a table according to the type attribute specified. However if you try:
/// 
/// 
/// bug number 1
/// 
/// 
/// bug number 2
/// 
…then when this is converted to XML you don’t see any bullet points just the usual tags:

    bug number 1
    bug number 2
So what is the point of using type=”bullet” or indeed any of the recommended tags? The XML generated by the compiler is intended to be further processed by a documentation engine of some kind and if you use these standard tags then there is a reasonable chance that the engine will format things as you expect. If you use non-standard tags then processing the XML is your problem – more of which later.
One final comment on tags and meaning: a commonly used attribute cref is a little confusing. The documentation says that some tags can use cref to create a link to other members but what does this mean? For example the and tags have a cref to specify what additional documentation the user should consult. The attribute works by simply specifying the name of a member as generated by the IDE. You do this by simply giving an unambiguous name of the member and the compiler transforms this to the fully qualified name complete with single letter type identifier. For example:
/// 
…is translated to:
Obviously it is better to give a more specific name within the cref to avoid any later changes altering the documentation for example:
/// 
If the compiler cannot find the member specified then it will generate an error which means you can’t refer to members that don’t yet exist. Once again the XML that is generated has no predefined semantics but you can expect documentation processing tools to convert it to something like a hyperlink to other areas of the documentation. It is also worth knowing that the compiler will allow you to use curly brackets in place of angle brackets in generic types so as to avoid confusion with XML tags. For example:
/// 
…is converted to:
System.Collections.Generic.List

Hiding the comments

One of the problems with adding XML comments to source code is that they can obscure the code itself. The simplest solution to this problem is to use outlining to collapse the XML comments using the outliner and only expand when needed. However this doesn’t help with the problem of allowing two users to work on the same code – one modifying the code and one documenting. The solution to this problem is to use the tag which instructs the compiler to read the contents of an external file as XML to be used as comments. Of course you now need some way to associate the XML in the file with the various members in the code. This is achieved by specifying which XML tags are to be extracted from the file at the point that the tag is used. That is the position of the tag specifies where in the code the XML comments are to be inserted and hence which member they apply to. To specify which chunk of XML in the file is to be applied to the member we have to use an XPATH specification selecting that XML. So for example, if we have an XML file called XMLFile1.xml that contains the XML needed to comment MyMethod you might use and of the form:
/// 
public void MyMethod(
    int param1,string param2)
{
}
Obviously the file attribute specifies the XML file. Less obviously the path attribute is an XPATH statement that locates the XML in the file to be used. In this case the XPATH simply resolves to everything inside the root tags. In this case if the XML file contained the following:

    
     MyMethod is designed to
     demonstrate XMLx documentation
    
The XPATH specification retrieves everything from the root of the XML tree and hence inserts the tags. The compiler then generates:

    
     MyMethod is designed to
     demonstrate XML documentation
    
Clearly you can’t use this approach if you are going to want to include the XML to document multiple members within a single file. In this case the solution is to add additional XML tags to allow XPATH expressions to be written to select which XML subtree is to be used for each tag. For example, if the XML file contains

    
     
      MyMethod is designed to
      demonstrate XML documentation
     
    
    
     Another member's documentation
    
…then we can pick out the XML comments for MyMethod using:
/// 
public void MyMethod(
    int param1,string param2)
{
}
To include the XML comments for other methods you would write another tag at the appropriate place and change the path to pick out (say) /MyDocs/Member2/* and so on. Using a brand new tag each time you need to document a new member doesn’t sit well with the overall philosophy of XML syntax and semantics but it works perfectly well. A better method is to introduce a single tag for members and a name attribute to identify which member the tag applies to, for example:

    
    
     MyMethod is designed to
     demonstrate XML documentation
    
    
    
     Another member's documentation
    
Notice that now the member that the tag refers to is specified by the name attribute. Now the appropriate XML block can be picked out using a slightly more complicated XPATH specification:
/// 
This works in exactly the same way and generates exactly the same XML comments as before. You can use any identification method you like as long as you can write an XPATH statement to pick out the bit of the XML contained in the file that you need – however the use of a name attribute is a fairly standard way of organising things.
It is arguable that using breaks the connection between the XML comments and the code. It is true that you are more likely to keep the documentation up-to-date if the comments are part of the code you are modifying rather than something you have to go in search of. The conclusion has to be that you should only resort to if there is a clear reason to do so.

Processing the XML

Now you can see how easy it is to add XML comments to code the next question is what to do with it. At this point the temptation is overwhelming to start a new project and create a processing engine. This is a very bad idea as it will only divert you from your real goal and soak up much more time than you could ever imagine. Even so it is very easy to create an XSL transformation from XML to HTML. The advantage of this is that it is easy and completely under your control. However you do need to heed the earlier warning as converting an XSL transformation into an entire web help system is much more complex than simply applying some formatting.
The idea of XSL is that it can be used to create an HTML page by mixing HTML tags with information extracted from the XML file. The extraction is, of course, specified by the use of XPATH statements. To see this in action generate an XML file from some XML comments and add to the start the line:
This instructs any XSL capable XML processor to load the XSL file  called XLS1.xsl and use it to transform the XML in the XML file. Now all  we need is a suitable XSL file. For simplicity let’s use the XML file  documenting MyMethod and build an XSL file to display the details of the  method. We need an XSL file that starts off in the standard way:

     
Next we enter some basic HTML tags to get the page started:

XSL formatted XML help


The first piece of information derived from the XML comments file is the assembly name which is done using an XSL XPATH selector:

Assembly name:

The XPATH simply specifies the value of the tag nested within and i.e. the name of the assembly. Slightly more complicated is retrieving the summary text corresponding to MyMethod:

Method:

In this case the XPATH statement is complicated because of the need to quote the entire name of the member – but that’s all. Finally we bring the web page to a close:
If you now load the original XML file into a browser that supports  XSL, i.e. any modern browser, it will be transformed by the XSL file  assuming they are both stored in the same directory. The result can be  seen in Figure 3. 
Figure 3
Figure 3: The transformed XML file

Of course in a real application you wouldn’t be quoting the name of each member in the way described above unless it was a very special member that needed individual attention. In most cases members would be processed using an XLS for loop something like:
      
Member Summary
In this case additional HTML has been supplied to build a table of members and names but the same sort of general technique can be used to construct other presentations. The overall result of the XSL transformation can be seen in Figure 4.
Figure 4
Figure 4: An XSL transformation to a table

Documentation tools

At this point I would like to be able to say that there was an excellent tool to convert your XML comments into full formatted help files. Many would say that there is and it is called, or rather codenamed, “Sandcastle”. We covered Sandcastle when it was young in VSJ. You can download an installer and the source code.
The project is still going strong but currently it is making slow progress towards integration with Visual Studio and for a documentation tool its own state of documentation is, or should be, embarrassing. The actual tool itself is a command line application which takes an unforgivably long time to learn and use. There are third party GUI interfaces designed to make Sandcastle easier to use, notably Sandcastle Help File builder which is also free to download from the CodePlex site. This works reasonably well but it’s another download and another install and for something that is supposed to be used in a professional environment it all lacks polish. Microsoft really needs either to take this software seriously or create something better to build into VS 2010.
It is worth saying that Sandcastle goes well beyond simply using the XML comments to build HTML documents. It also uses reflection to get additional information from the .NET assemblies and it can produce end user documentation by compiling files in Microsoft Assistance Markup Language (MAML), which is another XML based help file authoring language.
If you want to try out Sandcastle you need to download and install and the latest version and a copy of Sandcastle Help File Builder. These both install automatically but you will need to make sure that you have the .NET Framework 3.5 SP1 installed. Another major dependency is the HTML Help 2.x compiler which is part of the Visual Studio SDK which can be downloaded from the Microsoft web site. There are other useful utilities that can make using Sandcastle easier but these are described in the Sandcastle Help File Builder help file and you can try them out once you have everything working. Assuming you have added XML comments to your project and enabled XML help file generation you should be set to try it all out at this point.
Start by opening the Sandcastle Help File Builder and create a new project using any suitable name, e.g. MyHelp. Next use the Project Explorer to add the assembly of the application you are documenting; right-click on Document Sources and add either the .exe, .dll or the project file. From here you can just accept the default settings and build the help file. This takes longer than you might imagine even for a trivial test example because reflection is used to create documentation that includes all of the methods and properties of any framework classes that you might have used. In short, the default result is often more that you expect or want. However, if you look carefully you will find the XML comments that you have added to your custom methods and properties, see Figure 5.
Figure 5
Figure 5: MyMethod documented in the standard style

What you will also discover is the generated documentation has an unexpected depth given how little effort you have put into creating it. Perhaps this is enough to forgive Sandcastle its shortcomings, but you could also conclude that it gives a tantalising view of what could be if only the documentation tool was itself well documented and had a good user interface.


By Mike James