segunda-feira, 29 de junho de 2009
100 Complementos para Incrementar seu Firefox
No site Select Courses tem uma lista muito bem elaborada de 100 complementos para incrementar as funcionalidades do browser Firefox.
Vale a pena conferir essa lista e instalar os que lhe forem úteis.
O link para o artigo é o seguinte:
100 Firefox Add-Ons to Create a Truly Brilliant Browser
( http://www.selectcourses.com/blog/2009/100-firefox-add-ons-to-create-a-truly-brilliant-browser/ )
O mais importante nisso é que um dos complementos desenvolvidos por mim, o "See on Dictionary.com", está dentro dessa lista.
Esse complemento é destinado principalmente às pessoas que estão aprendendo inglês. Com ele você consegue visualizar a descrição (em inglês) de uma palavra, segundo o site Dictionary.com.
Para isso basta selecionar uma palavra, clicar com o botão direito sobre ela e escolher a opção "Ver significado de '<palavra>' no Dictionary.com".
Caso a palavra não esteja na página atual, basta digitá-la em algum campo texto, selecioná-la e seguir os mesmos passos anteriores.
Adicionalmente, através da janela de opções do complemento, você pode habilitar mais dois itens de menu, o que apresenta a descrição de sinônimos de uma palavra inglesa, através do site Thesaurus.com, e o que apresenta as descrições da enciclopédia Reference.com (ambos em inglês), por isso acaba sendo uma boa ferramenta de consulta para estudantes da língua inglesa.
Vale lembra que este meu complemento ganhou o selo SOFTPEDIA "100% CLEAN" AWARD, que indica que ele é um software 100% livre de qualquer malware (spyware, adware, virus, etc).
Se você tiver alguma sugestão de melhoria, dúvida, reclamação, etc, pode mandar uma mensagem para mim.
O outro complemento que desenvolvi, têm as mesma funcionalidades desse primeiro, só que está relacionado ao único dicionário online gratuito da língua portuguesa, o Priberam.pt.
Quem quiser entrar em contato basta deixar uma mensagem ou enviar um email para:
Vale a pena conferir essa lista e instalar os que lhe forem úteis.
O link para o artigo é o seguinte:
100 Firefox Add-Ons to Create a Truly Brilliant Browser
( http://www.selectcourses.com/blog/2009/100-firefox-add-ons-to-create-a-truly-brilliant-browser/ )
O mais importante nisso é que um dos complementos desenvolvidos por mim, o "See on Dictionary.com", está dentro dessa lista.
Esse complemento é destinado principalmente às pessoas que estão aprendendo inglês. Com ele você consegue visualizar a descrição (em inglês) de uma palavra, segundo o site Dictionary.com.
Para isso basta selecionar uma palavra, clicar com o botão direito sobre ela e escolher a opção "Ver significado de '<palavra>' no Dictionary.com".
Caso a palavra não esteja na página atual, basta digitá-la em algum campo texto, selecioná-la e seguir os mesmos passos anteriores.
Adicionalmente, através da janela de opções do complemento, você pode habilitar mais dois itens de menu, o que apresenta a descrição de sinônimos de uma palavra inglesa, através do site Thesaurus.com, e o que apresenta as descrições da enciclopédia Reference.com (ambos em inglês), por isso acaba sendo uma boa ferramenta de consulta para estudantes da língua inglesa.
Vale lembra que este meu complemento ganhou o selo SOFTPEDIA "100% CLEAN" AWARD, que indica que ele é um software 100% livre de qualquer malware (spyware, adware, virus, etc).
Se você tiver alguma sugestão de melhoria, dúvida, reclamação, etc, pode mandar uma mensagem para mim.
O outro complemento que desenvolvi, têm as mesma funcionalidades desse primeiro, só que está relacionado ao único dicionário online gratuito da língua portuguesa, o Priberam.pt.
Quem quiser entrar em contato basta deixar uma mensagem ou enviar um email para:
Marcadores: Browser, Dicas, Download, FireFox
segunda-feira, 22 de junho de 2009
Codificação Manchester (Ethernet)
Em redes de computadores, umas das primeiras coisas a serem definidas para a transmissão de dados é a representação dos bits 0 e 1.
Inicialmente poderíamos achar que essa é uma tarefa simples. "Em um sistema que utilize sinais elétricos basta determinarmos que o bit 0 é a ausência de voltagem e o bit 1 é a presença de voltagem".
Porém, isso é simples apenas quando estamos trabalhando a nível de hardware, como em uma placa mãe, onde os níveis de tensão são controlados por uma única fonte. Isso não ocorre em uma rede de computadores, pois cada equipamento têm sua diferença de voltagem, portanto o valor zero para um pode não ser o mesmo uma outra máquina.
Esse problema pode ser resolvido quando utilizamos valores inversos para representar cada um dos bits, por exemplo, voltagem positiva (+1V) para bit 1 e voltagem negativa (-1V) para bit 0. Apesar disso ser possível, caímos em um outro problema, relacionado à sincronização dos sinais, pois cada computador tem um relógio interno e suas velocidades podem ser diferentes, assim uma longa sequência de bits iguais tipo 00001111 pode ser interpretado de forma diferente no computador de destino, como por exemplo 000111.
Para evitar esse último problema é necessário embutir a sincronização dos sinais dentro da própria codificação dos bits. Um exemplo é a codificação "Manchester", utilizadas em redes Ethernet (IEEE 802.3).
Nesta codificação, representamos cada bit como uma variação de voltagem (segundo o padrão IEEE 802.3):
Bit 1: Começa com -V e termina com +V
Bit 0: Começa com +V e termina com -V
Obs.: Repare no desenho abaixo que existem duas especificações para a codificação Manchester, porém prefiro falar no padrão utilizado comercialmente pelas redes Ethernet.
A desvantagem desse método é que para representar um bit é necessário sinalizar o canal 2 vezes, portanto é necessário uma largura de banda 2 vezes maior do que os esquemas anteriores de codificação binária.
Uma variação dessa codificação é a "Manchester Diferencial", nela continua a transição de voltagem no meio de um período, porém identificamos os valores por uma transição ou não do sinal no início do bit, assim:
Bit 1: Não há transição de voltagem no início do bit.
Bit 0: Há transição de voltagem no início do bit.
A Manchester Diferencial, por ter implementação mais difícil, acaba necessitando um hardware especial, assim ele não sendo utilizado em redes Ethernet, mas sim em outras, como por exemplo a Token Ring (IEEE 802.5)
Referências:
* Tanenbaum, Andrew, S. (2002). Redes de Computadores (4ª Edição). Prentice Hall.
* MF 101 - Introdução à Tecnologia de Redes, Furukawa (5a edição).
Inicialmente poderíamos achar que essa é uma tarefa simples. "Em um sistema que utilize sinais elétricos basta determinarmos que o bit 0 é a ausência de voltagem e o bit 1 é a presença de voltagem".
Porém, isso é simples apenas quando estamos trabalhando a nível de hardware, como em uma placa mãe, onde os níveis de tensão são controlados por uma única fonte. Isso não ocorre em uma rede de computadores, pois cada equipamento têm sua diferença de voltagem, portanto o valor zero para um pode não ser o mesmo uma outra máquina.
Esse problema pode ser resolvido quando utilizamos valores inversos para representar cada um dos bits, por exemplo, voltagem positiva (+1V) para bit 1 e voltagem negativa (-1V) para bit 0. Apesar disso ser possível, caímos em um outro problema, relacionado à sincronização dos sinais, pois cada computador tem um relógio interno e suas velocidades podem ser diferentes, assim uma longa sequência de bits iguais tipo 00001111 pode ser interpretado de forma diferente no computador de destino, como por exemplo 000111.
Para evitar esse último problema é necessário embutir a sincronização dos sinais dentro da própria codificação dos bits. Um exemplo é a codificação "Manchester", utilizadas em redes Ethernet (IEEE 802.3).
Nesta codificação, representamos cada bit como uma variação de voltagem (segundo o padrão IEEE 802.3):
Bit 1: Começa com -V e termina com +V
Bit 0: Começa com +V e termina com -V
Obs.: Repare no desenho abaixo que existem duas especificações para a codificação Manchester, porém prefiro falar no padrão utilizado comercialmente pelas redes Ethernet.
A desvantagem desse método é que para representar um bit é necessário sinalizar o canal 2 vezes, portanto é necessário uma largura de banda 2 vezes maior do que os esquemas anteriores de codificação binária.
Uma variação dessa codificação é a "Manchester Diferencial", nela continua a transição de voltagem no meio de um período, porém identificamos os valores por uma transição ou não do sinal no início do bit, assim:
Bit 1: Não há transição de voltagem no início do bit.
Bit 0: Há transição de voltagem no início do bit.
A Manchester Diferencial, por ter implementação mais difícil, acaba necessitando um hardware especial, assim ele não sendo utilizado em redes Ethernet, mas sim em outras, como por exemplo a Token Ring (IEEE 802.5)
Referências:
* Tanenbaum, Andrew, S. (2002). Redes de Computadores (4ª Edição). Prentice Hall.
* MF 101 - Introdução à Tecnologia de Redes, Furukawa (5a edição).
Marcadores: Redes
terça-feira, 9 de junho de 2009
Correção de Bug no Microsoft VisualStudio 2008: Mudando entre janelas MDI
Recentemente tive um pequeno problema com o sistema que desenvolvi em C# Windows Forms, Visual Studio 2008.
O aplicativo é padrão Windows com janelas MDI, assim os usuários podem abrir várias janelas de consulta e cadastro ao mesmo tempo, agilizando o serviço deles.
Uma vez, uma das funcionárias me mostrou que não conseguia mudar entre as janelas filhas do sistema, clicando dentro do formulário que ela queria trabalhar. Porém, me mostrou que se clicasse na barra de título dessa janela ela passaria a ter o foco, ficando no topo das outras janelas.
Jamais havia percebido esse problema nas máquinas de desenvolvimento. Fiz o teste aqui novamente e não ocorreu o problema para mim.
Devido às prioridades do sistema, essa solicitação ficou aguardando até esta semana, retornei ao usuários e pedi para me mostrassem novamente o problema. Para minha surpresa, o problema não só persistia, mas também estava generalizado em todas as máquinas de produção.
Teoricamente as máquinas de desenvolvimento e as máquinas dos usuários (produção) são iguais, tirando os softwares de desenvolvimento nas nossas máquinas e as permissões, que são mais restritivas nos computadores de produção.
Depois de uma pesquisa na internet, acabei verificando que era um problema já reportado no Visual Studio 2003.
Então, bastou codificar um método na minha janela ancestral (bendita Orientação à Objetos) para propagar a correção para todos os meus sistemas.
Se você estiver tendo esse mesmo problema, basta codificar o seguinte método nas suas janelas, ou de preferência crie uma janela ancestral para acomodar o procedimento:
/// <summary>
/// Corrige Bug, do VisualStudio, que impede a mudança de foco entre as janelas MDI
/// clicando dentro do formulário.
/// A mudança de foco só ocorre se usuário clicar na barra de título da janela MDI.
/// -------------------------------------------------------------------------------
/// Referência:
/// http://support.microsoft.com/kb/871045/pt-br
/// </summary>
/// <param name="m"></param>
protected override void WndProc(ref Message m)
{
int WM_MOUSEACTIVATE = 0x21;
if (m.Msg == WM_MOUSEACTIVATE)
{
this.Focus();
}
base.WndProc(ref m);
}
Para mais detalhes sobre o problema e outras possíveis soluções (em Visual Basic) veja o seguinte link da Microsoft:
- Erro: um formulário MDI filho não poderá maximizar se o formulário filho contém um controle ActiveX no Visual Studio .NET 2003(http://support.microsoft.com/kb/871045/pt-br)
O aplicativo é padrão Windows com janelas MDI, assim os usuários podem abrir várias janelas de consulta e cadastro ao mesmo tempo, agilizando o serviço deles.
Uma vez, uma das funcionárias me mostrou que não conseguia mudar entre as janelas filhas do sistema, clicando dentro do formulário que ela queria trabalhar. Porém, me mostrou que se clicasse na barra de título dessa janela ela passaria a ter o foco, ficando no topo das outras janelas.
Jamais havia percebido esse problema nas máquinas de desenvolvimento. Fiz o teste aqui novamente e não ocorreu o problema para mim.
Devido às prioridades do sistema, essa solicitação ficou aguardando até esta semana, retornei ao usuários e pedi para me mostrassem novamente o problema. Para minha surpresa, o problema não só persistia, mas também estava generalizado em todas as máquinas de produção.
Teoricamente as máquinas de desenvolvimento e as máquinas dos usuários (produção) são iguais, tirando os softwares de desenvolvimento nas nossas máquinas e as permissões, que são mais restritivas nos computadores de produção.
Depois de uma pesquisa na internet, acabei verificando que era um problema já reportado no Visual Studio 2003.
Então, bastou codificar um método na minha janela ancestral (bendita Orientação à Objetos) para propagar a correção para todos os meus sistemas.
Se você estiver tendo esse mesmo problema, basta codificar o seguinte método nas suas janelas, ou de preferência crie uma janela ancestral para acomodar o procedimento:
/// <summary>
/// Corrige Bug, do VisualStudio, que impede a mudança de foco entre as janelas MDI
/// clicando dentro do formulário.
/// A mudança de foco só ocorre se usuário clicar na barra de título da janela MDI.
/// -------------------------------------------------------------------------------
/// Referência:
/// http://support.microsoft.com/kb/871045/pt-br
/// </summary>
/// <param name="m"></param>
protected override void WndProc(ref Message m)
{
int WM_MOUSEACTIVATE = 0x21;
if (m.Msg == WM_MOUSEACTIVATE)
{
this.Focus();
}
base.WndProc(ref m);
}
Para mais detalhes sobre o problema e outras possíveis soluções (em Visual Basic) veja o seguinte link da Microsoft:
- Erro: um formulário MDI filho não poderá maximizar se o formulário filho contém um controle ActiveX no Visual Studio .NET 2003(http://support.microsoft.com/kb/871045/pt-br)
Marcadores: CSharp, Desenvolvimento, Dicas, Visual Studio, Windows
Assinar Postagens [Atom]