sábado, 29 de dezembro de 2012

Game Combat Arms está dando erro -2,10013

Desde o dia 20 deste mês de dezembro, justamente o primeiro mês de férias, o jogo Combat Arms, muito popular entre os pré-adolescentes, adolescentes e adultos, está dando um erro irritante ao ser iniciado.

Trata-se de um jogo já muito famoso de tiro, que virou uma marca registrada da Level-up Games. Por sua consolidação no mercado, deduzimos que existe uma equipe de suporte, manutenção, desenvolvimento e supervisão trabalhando constantemente, para atualizar o programa e manter os servidores a pleno vapor.

Após a consagração no mercado, é preciso um trabalho para manter a credibilidade do produto. Recomendações para se procurar a solução em foruns são absolutamente anacrônicas. O jogo tem que funcionar após instalado, sem que o jogador tenha que intervir com esta ou aquela alteração.

A Level-up tem que colocar a mão na consciência. Sua revista é vendida às custas da credibilidade de seus jogos. Que testem as versões. Lá dentro só tem crânios. E que os jogadores cobrem o bom funcionamento.

Que pelo menos a Level-up inclua o modo de jogo offline em caso de indisponibilidade de servidores. Será que é tão difícil.


Para Windows XP:
Press "Windows Key" + "R"
Type "cmd.exe" in the box and click "OK"
Type "ipconfig /flushdns" and press "Enter" on your keyboard
Then type "netsh winsock reset" and press "Enter" on your keyboard
Reboot your PC.

Para Windows Vista / 7:
In the start menu search bar, type "cmd"
Right Click "cmd.exe" and select "Run as administrator"
Type "ipconfig /flushdns" and press "Enter" on your keyboard
Then type "netsh winsock reset" and press "Enter" on your keyboard
Reboot your PC.

sábado, 22 de dezembro de 2012

Wifi II - O alcance das conexões Wireless

Em alguns escritórios, e até mesmo em residências, o WiFi não funciona com eficiência, por que ?

Por especificações de projeto, o WiFi tem o alcance de 75 a 300 metros sob condições ótimas:


  • Ausência de interferências;
  • Ausência de barreiras físicas consistentes (rocha ou concreto);
  • Estações de trabalho com velocidades de processamento razoáveis.


Mas no ambiente urbano, onde se utiliza muito o celular, controles eletrônicos diversos (ar condicionado, controle remoto de TV e portões eletrônicos).

Comparando ao Bluetooth

O alcance do Bluetooth é de apenas 10 metros. Mesmo com lajes entre um dispositivo e outro, você pode, ao procurar dispositivos Bluetooth, "enxergar" o Home Theater ou o celular do vizinho de cima, ou do vizinho de baixo facilmente.

O que fazer ?

Coloque seu roteador WiFi em uma altura próxima da altura da pessoa mais alta da casa. Não precisa exceder esta maior altura, apenas ficar próxima. Não coloque o roteador atrás de mais de 2 paredes dos pontos de acesso.

Você pode utilizar o macete da TechMundo para melhorar o sinal do WiFi:


Wifi I - Como nasceu o Wireless Fidelity


O WiFi é marca registrada da Wi-Fi Alliance e seu símbolo em lojas, shoppings e hotéis é bem conhecido.

Esta tecnologia nasceu nos anos 1970, nas ilhas havaianas. Ele se destinava a estabelecer uma conexão para comunicação entre as ilhas do Hawai. A rede era denominada AlohaNet (bem sugestivo).

Quem a projetou foi Norm Abramson, oriundo do Departamento de Engenharia de Stanford para a Universidade do Hawai. 

Um dos fatores que propiciou a implantação deste tipo de rede nestas ilhas foi a ausência de fatores de interferência, como prédios altos, indústrias, e excesso de gente. O oceano plano também facilitava o trânsito do sinal. Em breve, os sinais estavam viajando de Lanai para Oahu. 

Porém, a transmissão de sinais por ondas de rádio (basicamente o que o WiFi utiliza) não possuía a velocidade necessária para a implantação da Internet. Esta velocidade só foi atingida com a chegada da tecnologia DSL (Digital Subscriber Line). Esta tecnologia possibilita o transporte dos sinais de chamada telefônica e de dados na mesma linha, com pelo menos o dobro da velocidade antes atingida pelas conexões a cabo. E a vantagem deste tipo de tecnologia é estar com sua infra-estrutura implantada em virtude das estações controladoras de telefone, já bem consagradas e espalhadas pelas nossas cidades.









quinta-feira, 20 de dezembro de 2012

Como compartilhar links no Facebook

O link de compartilhamento no Facebook tem o seguinte formato:



Basta colocar este conteúdo no atributo HREF de um link.


terça-feira, 11 de dezembro de 2012

Conexão com SQLServer através do ASP

Uma das formas de conexão com banco de dados SQLServer se dá através do driver SQL Server nativo do servidor.

Neste exemplo a conexão é local, como ocorre com as aplicações Web. Como o servidor Web hospeda o banco de dados, podemos declarar o server com o IP de localhost (127.0.0.1).


<%
Dim con
Set con = CreateObject("ADODB.Connection")
con.Open "driver={SQL Server};server=127.0.0.1;" & "database=PROJETOS;uid=sa;pwd=password"
Response.write con
con.close
%>

Se a página ASP mostrar algum conteúdo sem erro, a conexão teve sucesso.

segunda-feira, 10 de dezembro de 2012

Alterando a senha do administrador no SQLServer

No SQL Server Manager (versão 2008 R2), abra a pasta Security e Logins:


É exibido o conjunto de usuários do SQLServer (não de um banco em particular). Sobre o "sa" (System Administrator) dê o clique direito de mouse. Escolha Properties neste menu:



Na próxima tela, digite novamente a senha para este usuário e ...



...pressione o botão "OK". Está feito.

sexta-feira, 7 de dezembro de 2012

Como funciona o Roteador ou Router

O Roteador é como um PABX, ele distribui uma só conexão com a Internet em vários "ramais". É a melhor analogia para compreender o seu funcionamento.


Teoricamente, você poderia ligar um único computador ao cabo que vem da Internet. Os consumidores não aceitariam tal coisa. Então inventaram o Roteador. É claro que, em conceito, ele já existia para a telefonia. O processo inicialmente se chamava "multiplexação". Foi muito usado em terminais de caixas bancários, pois proporcionava enorme economia.

O que pode confundir é o tratamento dos endereços IP. Vamos a eles.

Endereços IP

Dominando a filosofia dos endereços IP desde o provedor até o computador, não vamos nos atrapalhar na hora de configurar o Roteador.

O modem que os concessionários de sinal de transmissão de dados colocam nas residências vem, invariavelmente, com o endereço interno 192.168.1.1.

Logo que se abre a tela de configuração de qualquer roteador, devemos mudar seu endereço, pois ele vem com o IP 192.168.1.1, que provoca "colisão" com o modem. Você vai notar que o acesso ao Roteador fica muito lento, pois será preciso desligar o modem para se ter acesso a ele antes da mudança de endereço. Quando tiver acesso à página de configuração, troque o endereço do Roteador para 192.168.10.11. Poderia ser qualquer outro, mas, em primeiro lugar, o prefixo tem que ser 192.168, para que ele seja ignorado por servidores DNS da rede. E o resto do endereço (.10.11) vai associar o número dado com a rede interna.

Como o Roteador trata os endereços

Repare que não nos preocupamos com o endereço IP do Provedor. Isto se explica pelo fato de que, com o roteador, ele não importa. Os computadores clientes recebem endereços administrados pelo Roteador. Ele passa a ser o mestre da rede.

Nas telas de configuração do Roteador, ele pede uma faixa de endereços a gerar. Para reservar alguns endereços para possíveis servidores da rede, forneça a faixa 192.168.10.50 até 192.168.10.250. Ou seja, a faixa de .10.12 até .10.49 fica para outro roteador, ou outro dispositivo de rede.

Endereços dinâmicos

O Roteador pode ser configurado para agir como DHCP, isto é, como servidor de endereços dinâmicos. Assim, ele "sorteará" um novo endereço AINDA NÃO USADO, dentro da faixa que você determinou na faixa de endereços, para qualquer novo equipamento que seja ligado a ele.

Mas, se dentro da sua rede, existirem sistemas que buscam arquivos em um computador fixo, como se ele atuasse como servidor de arquivos, não ative o endereçamento por DHCP. Isto é mais trabalhoso, pois será preciso configurar o endereço IP em cada máquina da rede.

O que o Roteador vê

O Roteador é o equipamento mais "fofoqueiro" da rede. Sendo o ponto de convergência de todas as máquinas de uma rede, ELE VÊ TODOS OS PACOTES QUE PASSAM. Desta forma, entendemos o que ele faz. Ele deixa os pacotes de sua sub-rede entrarem nos seus domínios, e ENTREGA OS PACOTES REFERENTES A CADA MÁQUINA, sem errar. De certa forma podemos dizer que ele é o "filtro" de pacotes locais.

Configuração

Neste blog existem dois posts que tratam da configuração de roteadores:

Roteadores em cascata

Configurar rede Wireless






quinta-feira, 6 de dezembro de 2012

Configurando javascript para utilizar o CKEditor - II

A script ASP para receber os dados do editor para gravação

Como vimos no post anterior, para gravar o conteúdo editado no TEXTAREA com o CKeditor, é preciso enviá-lo para uma script ASP no método post do formulário. O nome da script é RecebeTextarea.asp:


<%
Texto = Request("editor1")
Response.write(Texto)

%>
<head>
<script type="text/javascript" src="../ckeditor.js"></script>
<script src="sample.js" type="text/javascript"></script>
</head>
<body>
<form method="post" >
<textarea cols=60 rows=10 name="ta1"><%= Texto %></textarea>
<input type=submit>
</form>
</body>

Sendo uma script ASP, ela só funciona no protocolo HTTP, portanto é preciso hospedar todo o diretório ckeditor em um servidor IIS.


Configurando javascript para utilizar o CKEditor - I

O CKeditor é a nova versão do conhecido FCKeditor para Gerenciadores de conteúdo. Ele estabelece em uma tag TEXTAREA um editor HTML com muitas e úteis funcionalidades.

Baixe o CKeditor no endereço:

http://ckeditor.com/


Faça o download no botão indicado pela seta. Na página de download, escolha a versão 3.6.5, sobre a qual vamos descrever o processo de configuração.

Descompacte o arquivo zip obtido no download.:


Estrutura do diretório:

Debaixo do diretório anterior existe o diretório ckeditor, e debaixo dele a estrutura mostrada abaixo e à direita:


O diretório de exemplos é o _samples.


Os arquivos que vamos criar são os dois apontados pelas setas.

Copiamos o arquivo replacebyclass.html para replacebyclass2.html, traduzimos as mensagens e retiramos o que não interessava, além de colocar um evento onSubmit para o formulário do HTML:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Replace Textareas by Class Name &mdash; CKEditor Sample</title>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<script type="text/javascript" src="../ckeditor.js"></script>
<script src="sample.js" type="text/javascript"></script>
<script type="text/javascript">
function formataSubmit(obj){
var Texto;
Texto = obj.editor1.innerText;
Texto = Texto.replace(/\n|\r|\t/g,"");
return true;
}
</script>
<link href="sample.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1 class="samples">
CKEditor Sample &mdash; Substitui Elementos Textarea pelo nome da Class(e)
</h1>
<div class="description">

</div>

<!-- Esta <div> mostra mensagens de alerta do editor. -->
<div id="alerts">
<noscript>
<p>
<strong>CKEditor requer JavaScript para execução</strong>. 
</p>
</noscript>
</div>
<!-- Este form prepara o HTML para envio do conteúdo para alguma script ASP que irá processá-lo -->
<form action="RecebeTextarea.asp" method="post" onSubmit="return formataSubmit(this);">
<p>
<label for="editor1">
Editor 1:</label>
<textarea class="ckeditor" cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. Você está usando &lt;a href="http://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea>
</p>
<p>
<input type="submit" value="Submit" />
</p>
</form>
<!-- Créditos -->
<div id="footer">
<hr />
<p>
CKEditor - The text editor for the Internet - <a class="samples" href="http://ckeditor.com/">http://ckeditor.com</a>
</p>
<p id="copy">
Copyright &copy; 2003-2012, <a class="samples" href="http://cksource.com/">CKSource</a> - Frederico Knabben. All rights reserved.
</p>
</div>
</body>
</html>

Retiramos o excesso de códigos que poderiam confundir os desenvolvedores, e incluímos o código javascript que retira os caracteres "new line", "line feed" e tabulações no evento onSubmit do formulário.

Cole este código em um editor, salve o HTML e execute.