domingo, maio 17, 2009

C# 4.0 - Acesso a tipos dinâmicos

Anteriomente falamos sobre o lançamento do C# 4.0, linguagem de programação para o .NET Framework da Microsoft que virá juntamente com o novo IDE da empresa para o desenvolvimento de aplicações para desktop e web.

Hoje, explicaremos um pouco mais sobre as modificações inerentes ao C#, especialmente em sua relação com produtos de outras linguagens.

Bom, estamos acostumados a utilizar atualmente classes tipadas estáticamente do próprio .NET framework e invocando seus próprios métodos. Por exemplo, tomemos o exemplo de uma classe que implemente uma Calculadora, segundo essa abordagem o código necessário para se executar uma operação de soma seria mais ou menos o seguinte:

Calculator calc = GetCalculator();
int sum = calc.Add(10, 20);



Já quando decidimos usar uma classe não tipada estaticamente, como as contruídas em COM, Ruby, Python ou até Javascript. Por não possuir um sistema de tipos reconhecido naturalmente pelo .NET Framework, devemos usar Reflection para descobrir os atributos de tipo em tempo de execução e dinamicamente invocar o método desejado como o mostrado abaixo:

object calc = GetCalculator();
Type type = calc.GetType();
object result = type.InvokeMember("Add",
BindingFlags.InvokeMethod, null,
new object[] { 10, 20 });
int sum = Convert.ToInt32(result);


Com o advento do .NET Framework 3.5, o tratamento do mesmo tipo de problema vindo de classes Javascript, poderia ser resolvido da seguinte forma:

ScriptObect calc = GetCalculator();
object result = calc.InvokeMember("Add", 10, 20);
int sum = Convert.ToInt32(result);


Agora, com o C# 4.0 o uso de classes dinâmicas tomará a seguinte forma:

dynamic calc = GetCalculator();
int result = calc.Add(10, 20);


Essa simplificação no uso de tipos dinâmicos torna-se possivel pela adição do novo tipo estático Dynamic que converte um objeto dinâmico em estático. Parece algum tipo de incoerência mas essa abordagem tem suas vantagens, principalmente por possibilitar uma maior interação entre os objetos estaticamente nativos do .NET e classes oriundas de diversas origens, bem como estimula o uso da codificação estática e seus benefícios pelo maior período de tempo possível.

Por hoje é só, logo voltaremos com novas informações a respeito das mudanças na linguagem C# e no próprio .NET Framework.

Soluções para o Modem 3G E160 Huawei TIM WEB

Caso você seja um dos proprietários desse famigerado modem pela operadora TIM, pode estar sentido dificuldades para se manter conectado. Podem existir diversas origens para esse problema, a maioria de fácil solução, mas há casos em que será preciso realizar procedimentos avançados de configuração do dispositivo.

Rede HSDPA/UMTS Instável

Esse problema ocorre devido a nossa posição geográfica desfavorável, interferências externas, distância da antena de transmissão, número de usuários conectados a mesma célula, etc. O fato é que devido a um ou mais desses problemas citados, nossa conexão cai de instantes em instantes. Nesse caso, devemos avaliar qual o motivo que está fazendo nossa conexão cair. Uma das formas de avaliação é pela intensidade do sinal de transmissão. Caso esteja fraco, devemos procurar um local mais adequado para colocar nosso modem, ou então adquirir (quem sabe fabricar) uma antena externa, conforme citado no post anterior Melhorando o Sinal 3G. Podemos verificar a intensidade do nosso sinal no programa de discagem da TIM, conforme figura abaixo.

É também importante que nós alteremos a configuração de seleção de rede do nosso discador, para podermos utilizar as redes EDGE ou GPRS em caso de falha da HSDPA/UMTS. Para isso devemos clicar "Opções", depois em "Opções de Rede", "Tipo de Rede", selecionarmos "Automático" e clicamos em "Salvar", conforme roteiro abaixo.



Modem pegando fogo

Se seus problemas de desconexão só aparecem depois que você navega por algum tempo, pode ser que seu modem esteja esquentando demais. Para verificar isto, após alguns minutos navegando, com cuidado toque o seu modem. Se o mesmo estiver muito quente, procure prover mais ventilação para o seu dispositivo, pois além de evitar o que o mesmo trave, você vai prolongar a vida útil do equipamento. Você pode fazer isso de diversas maneiras, como colocando o modem na frente da corrente de ar do ar-condicionado, ou do ventilador, ou ainda usando um cooler extra. Só não vale colocar seu modem em um saquinho plástico e mergulhá-lo num copo de gelo (pode valer a pena se você daquele tipo aventureiro)!

Firmware do Modem Desatualizado

Caso o sinal esteja bom e seu modem não esteja esquentando demais, mas ainda sim sua conexão insiste em cair. Pode ser que o fiirmware do seu modem esteja ultrapassado. Assim é necessário que baixemos o firmware mais recente para atualizar o nosso modem. O procedimento é descrito neste pdf. É recomendado fechar todos os programas abertos antes de fazer a atualização. Não me responsabilizo por quaisquer danos causados a seu modem seguindo este procedimento. Se quiser seguí-lo, é por sua conta e risco! O firmware mais recente pode ser encontrado em http://www.drei.at/ ou se preferir baixar uma versão funcional, tente esta E160Update_116042100156B409.zip.

Fontes:

sábado, maio 16, 2009

Melhorando o sinal 3G

Vamos imaginar a seguinte situação, você está na sua casa sentado em uma escrivaninha com seu note plugado a um modem 3G, mas o sinal está tão fraco que você só consegue se conectar a rede EDGE, ou pior, a carroçal GPRS! Depois de rodar a casa inteira procurando um local melhor, você se enfurece e decide jogar o seu modemzinho pela janela! Calma, não precisa chegar a tanto! Afinal seu modem deve ter sido caro e você deve estar amarrado a uma multa estratosférica com a operadora de telefonia! Vamos apresentar nesse post alternativas melhores que ficar rodando feito uma barata tonta pela casa ou rezar para o santo das causas impossíveis.

UM CABO USB ENORME

Uma das soluções mais em conta e simples é a compra de um cabo extensor usb. Esses cabos são muito baratos e fáceis de encontrar, além de não exigirem qualquer conhecimento avançado para uso. Basta ligar o conector fêmea do cabo ao macho do modem 3G e conectar o plug macho do cabo à porta USB do seu micro, depois é só colocar o modem em um local onde o sinal fique melhor, como no alto perto das janelas. É importante saber que o comprimento máximo de um cabo USB seguindo a especificação do padrão é de 5 metros, mas cabos maiores podem ser encontrados, só que a qualidade não é garantida. Você só deve tomar cuidado com os fatores externos que podem danificar seu modem como o Sol que pode derretar a carcaça ou mesmo queimar seu aparelho e a chuva.

ANTENAS EXTERNAS

Caso o cabo USB não tenha resolvido, você pode optar por comprar uma antena externa e conectá-la a seu modem. Existem diversas opções disponíveis no mercado. A maioria dos bons modens 3G já possuem a entrada para antenas externas e a própria fabricante do modem já disponibiliza modelos a venda. O plug de conexão é padronizado, mas existem alguns modens como o E160 e E169 da Huawei que possuem plugs proprietários, nesse caso você pode optar por comprar a antena original, um pouco mais cara, ou de outros fabricantes. Há até antenas com imã para que você possa atarrachar a lataria do seu carro, ou aquela calha do seu telhado.

CANTENNA

Se a grana está curta, uma solução mais geek e tabajaresca é o uso de um sofisticado sistema de recepção de sinais conhecido como CANTENNA, ou lata de Pringles com arame! Brincadeiras a parte, a CANTENNA é basicamente um antena unidirecional caseira. Se bem confeccionada e usada corretamete, a recepção do sinal vai aumentar bastante. Geralmente as CANTENNAS são usadas em conexões wireless, mas se alterada, pode ser conectada a modens 3G. Você pode ver como construir essa belezinha nos seguites links:

sexta-feira, maio 15, 2009

Validando Expressões Facilmente em ASP.NET

Se você é programador ASP.NET e costuma utilizar os componentes da aba validation da Toolbox do  MS Visual Studio, provavelmente já se deparou com o trabalho árduo de criar expressões de validação para campos de texto específicos como Data,Endereços, Telefones, CEP, CPF, CNPJ, etc.. Infelizmente, a IDE da microsoft possui poucas referências prontas e o trabalho de criação de novas expressões é, no mínimo, broxante.

A solução pode vir com o site RegExLib.com. Trata-se de uma biblioteca formada por Validations Expressions criadas por milhares de desenvolvedores em todo o mundo. Todas elas possuem o código disponível livremente, seguido por uma descrição a respeito da aplicação da expressão e exemplos de dados aceitos ou não pela expressão. Inclusive, caso você seja criativo ou tenha uma expressão de validação que deseja compartilhar, o sistema oferece a oportunidade de submeter o código para a rede em instantes. Vale a pena dar uma conferida.

terça-feira, maio 12, 2009

Vem aí o novo C# 4.0

Em 1998, ao mesmo tempo em que a Microsoft em um período que coincidiu com o surgimento do .NET Framework da Microsoft, nascia a linguagem C#. Criada a partir das características encontradas em linguagens de alto nível como C++ e Java e com o objetivo de ser uma linguagem de programação simples, moderna e totalmente orientada a objetos (inclusive utilizando o conceito de type-safe para garantir essa qualidade) a linguagem de programação foi lançada oficialmente no verão do ano 2000, tornando-se a partir de então uma das linguagens mais utilizadas na atualidade. Tanto que a demanda  por sua utilização em atividades diversas resultou na própria evolução da linguagem.

A versão 2.0, por exemplo, trouxe como mudanças como o suporte a generics, métodos anônimos, iterators, tipos parciais e tipos nulos. E não parou por aí, mais tarde com os esforços de se incluir o suporte ao LINQ, o componente do .NET Framework que permitiria incorporar as capacidades de consultas às linguagens .NET, o C# evoluiu mais uma vez.

Na versão 3.0, foram incluídas as seguintes funcionalidades: variáveis locais tipadas implicitamente, vetores tipados implicitamente, inicializadores de collections, tipos anônimos, métodos extensivos, Lambda Expressions, Query Expressions e Expressions trees.

Agora, com o advento do .NET Framework 4.0 e o MS Visual Studio 2010, o C# está prestes a mudar novamente. Dessa vez a fonte de inspiração para a mutação da linguagem vem das tão populares linguagens de programação dinâmicas como Perl, Python e o Ruby, utilizando os métodos de desenvolvimento ágil e propiciar um ambiente sem a necessidade de escrever grandes blocos de códigos, de tal forma a não prejudicar a eficiência e incrementar a produtividade.

Entre as características divulgadas pelo C# 4.0 estão:

Nos próximos posts comentaremos um pouco sobre as inovações relativas a linguagem em si e como o C# pretende tornar a experiência da implementação de códigos no sistema menos dolorosa.

Leve seus favoritos para todos os lugares!



Você navega diariamente por uma centena de sites e eventualmente alguns deles te chamam a atenção de tal forma que você não quer correr o risco de esquecer o endereço. A escolha mais comum é guardá-lo na lista de favoritos de seu navegador e dessa forma você constrói uma verdadeira biblioteca de sites úteis. Entretanto, um dia você se depara com a necessidade de formatar emergencialmente a sua máquina, seja pelo ataque de algum malware ou a corrupção de um arquivo do sistema, e entre os sem números de arquivos a ser incluído em seu backup, você acaba esquecendo da lista de favoritos perdendo assim essa informação valiosa.

Felizmente, existe solução para esse dilema e ele atende pelo nome de XMarks, um complemento do Firefox voltado especialmente para essa funcionalidade. Anteriormente conhecido como Foxmarks, o XMarks sincroniza automaticamente os favoritos de seu navegador com a lista existente no servidor do serviço, bastando para isso que o usuário possua uma conta no website, entretanto, caso o usuário não possua-a é possível criar rapidamente uma nova conta a partir do complemento. Além disso, se o usuário decidir utilizar a sua senha em outro computador que possua o complemento, ele pode compartilhar as listas de favoritos do novo computador com a sua lista atual. Ideal para quem utiliza vários computadores para acessar a internet, como o pc do trabalho e o de casa.

E o Xmarks não sincroniza apenas os favoritos, mas bookmarks e senhas também. Além disso, ele oferece informações interessantes sobre sites selecionados por outros usuários e realiza backups frequentes de seus favoritos e senhas após mudanças.

Ficou curioso? Adicione já ao seu Firefox!

A partir do repositórios de complementos do Firefox ou direto do site oficial.

quinta-feira, maio 07, 2009

Lembre-se do Leite!



Uma aplicação web que está se tornando bastante popular atualmente é o serviço oferecido pelo site rememberthemilk.com. Mas, calma! Não é um serviço de entrega delivery de leite pela web, mas de um poderoso gerenciador de tarefas que permite ao usuário cadastrar suas atividades e compromissos diários. Com ele, você pode planejar as suas atividades semanais de maneira fácil e rápida, categorizando as da maneira que quiser e adicionando notas de lembrete.

Uma ferramenta interessante para quem tem uma agenda cheia de compromissos, para aqueles que desenvolvem projetos remotos e necessitam de uma ferramenta de controle temporal eficiente, controlar o regime de estudo para vestibulares e concursos ou mesmo para uso para controle de atividades do trabalho.

Mas, o forte da aplicação é a interatividade com um número variado de serviços. Você pode acessar o remember the milk pelo seu Iphone, Windows Mobile, integrar ao Gmail, Google Calendar, Tasque,Twitter além de um sem número de outras variedades de softwares que utilizam o sistema RTM.




terça-feira, maio 05, 2009

Café com Bits agora também no Twitter


O Café com Bits agora vai estar muito mais perto de você, caro leitor! Estamos entrando na rede social que mais tem crescido na atualidade, integrando os cerca de 10 milhões de usuários do Twitter. A rede que foi criada em 2006, utilizando o formato de microblogs, onde as mensagens inseridas não podem ultrapassar a faixa dos 140 caracteres e que a cada dia torna-se ainda mais popular atraindo pessoas interessadas em compartilhar suas vidas e perspectivas, o público corporativo interessado em estimular uma melhor comunicação entre empresas e clientes e o meio jornalístico que encontrou na rede uma oportunidade de divulgar um acontecimento assim que o mesmo tenha ocorrido.

É com essa intenção que o Café Com Bits entra em mais um campo de atuação, objetivando uma infomação de qualidade disponível onde você estiver!

Follow us!


segunda-feira, maio 04, 2009

Faça de seu filho um mini Geek!

Fui pai há pouco mais de um mês e sempre procurei alternativas para incrementar o visual e o estilo de vida do bebê. Entre os inúmeros produtos a disposição (a GRANDE maioria vindo de websites estrangeiros), algo que me chamou a atenção foi a quantidade de roupas com mensagens interessantes.

Primeiro, para aqueles usuários fãs de carteirinha do Ubuntu nada como mostrar que tanto você como o seu rebento são adeptos desse charmoso S.O. O site da Canonical, inclusive, oferece uma vasta linha de produtos bem bacanas em termos de vestuario. Vale a pena conferir.

Já essa outra é para aqueles que gostam do site mais conhecido da internet. O gigante Google!




Esse babador diz praticamente tudo sobre o comportamento do bebê. É só interpretar o algoritmo.


Embalado no sucesso dos Feeds RSS, o agregador de notícias presente na maioria dos sites e blogs da atualizada, a camisetinha diz a singela mensagem de "Não alimente o Geek"!


Já esse singelo macacão é para aqueles que são Linux desde pequenininhos.