História do Unix, Windows e Linguagens de programação

Pois bem… faz algum tempo que não publico nada por aqui e para (re)começar bem vou abordar uma questão de história.

Conversando com minha noiva sobre a história da computação, me lembrei de um site (na verdade um PDF) que possuia uma árvore genealógica do sistema Unics (que depois virou unix) desde sua origem em setembro de 1969. Como da última vez que o acessei este site ainda estávamos no Linux Kernel 2.4.5 (Junho 2001) não sabia se ele ainda existia e se ainda estava sendo atualizado. Pra variar utilizei o google e voialá! achei o bendito.

Fiquei feliz após análisa-lo e constatar que está extremamente atualizado, sendo que a última entrada é do Darwin 8.5 (junto com o MacOS X) de 15/02/2006. Não são todos os sistemas que se encontram neste gráfico, o próprio autor avisa que existem 96 “sabores” (que ele conhece) que não estão relacionados.

Ainda no mesmo site, achei dois outros links para árvores genealógicas do Windows e das linguagens de programação.
No caso das linguagens, são listadas apenas 50, porém existe uma listagem com 2500 linguagens em The Language List.
Segue abaixo os links:

Nos sites, encontram-se um preview do gráfico (para visualização no browser) e arquivos PDF e Postscript para impressão em A4, letter e Plotter dos diagrama. No caso do Unix existe também um índice das diversar versões com seus respectivos anos de “nascimento”.

Outros links interesantes que podem ser encontrados:

Recomendo que quem tem interesse em história da informática, dê uma navegada nesse site. Existem diversos outros links com muito mais informações.

A propósito falando de história, não sei quem havia me perguntado dia desses, qual era a primeira versão de kernel do Linux que “vi” o lançamento… era o 2.0.36 (em novembro de 1998). Nessa época eu usava o Minilinux, uma distro em 4 disquetes baseada em Slackware que era instalada sobre FAT32 e vinha até com X-Window (se alguém quiser, ainda tenho ela aqui :) ). Nesse ano também, foi quando fui para a fenasoft e adquiri da “Conectiva Internet Solutions” meu primeiro CD de instalação de Linux que era o “Conectiva Red Hat Linux versão Marumbi”. Foi a partir dai que me encantei com esse sistema e o utilizo até hoje, principalmente em servidores.

[update 08/05/06]

Achei outro link com um poster em pdf da O’Reilly com 50 linguagens de programação: The history of Programming Language.

[/update 08/05/06]

Carregando Legendas no Windows Media Player 9

Eu costumava utilizar alguns softwares específicos para poder ver videos com legendas em formato SRT, até que meu amigo (Denial) me falou de um jeito muito mais fácil. Basta adicionar o suporte a legendas no Windows Media Player. Para isso:

  1. Baixe aqui o arquivo vsfilter_XXXXXXXX.zip;
  2. Descompacte e mova o arquivo VSFilter.dll (da pasta Release) para o diretório C:\Windows\System32;
  3. Entre no prompt de comando (Iniciar -> Executar -> cmd);
  4. Entre no diretório do system32:
    cd C:\Windows\System32
  5. Registre a DLL:
    regsvr32 vsfilter.dll

Um detalhe importante é que o nome do arquivo da legenda deve ser o mesmo do video.

Depois de tudo configurado, basta abrir o video no Windows Media Player e a legenda será carregada automaticamente. Você poderá notar que aparecerá um ícone com uma seta verde ao lado do relógio. Clicando sobre ele, você terá acesso a várias opções para configuração das legendas, inclusive permitir que esta aplicação seja carregada automaticamente quando não houver legenda compativel (com o mesmo nome do video), permitindo assim que você possa carrega-la de outro lugar (ou com outro nome).

?? importante lembrar que o uso dessas legendas são para videos que você tenha feito ou que tenha o direito de usá-lo e não para videos com copyright baixados da Internet.

Problema de acesso a compartilhamentos no Windows XP

Quem já não se deparou com a mensagem “Você não tem permissão para usar este recurso de rede” ou “You might not have permission to use this network resource” ao tentar acessar um compartilhamento em uma máquina com windows XP utilizando o nome da máquina para acesso? Bem eu já, e o que havia me deixado mais confuso, é que se tentasse acessar o mesmo compartilhamento utilizando o endereço IP tudo funcionava perfeitamente.
Continue reading ‘Problema de acesso a compartilhamentos no Windows XP’ »

Alterando a senha do usuário root no MySQL

Algumas vezes já me deparei com a dificuldade de tentar me lembrar qual era mesmo a senha que eu havia definido para o usuário root nos servidores com MySQL… depois de algumas vezes decidi guardar esta dica em algum lugar que me facilitasse recuperar quando necessário, e lá foi ela pra minha incrível base de conhecimentos em arquivo texto indexada pelo grep ;) . Bem, como tudo evolui, a base de conhecimentos em arquivo texto transformou-se neste blog e mais uma dica fará parte dele agora (não que a solução anterior estivesse ruim, mas infelizmente não era pública).

Para alterar a senha do usuário root siga os seguintes passos:

Linux:

  1. Parar o serviço do MySQL (service mysqld stop, /etc/init.d/mysqld stop, matando o processo – conforme sua distribuição);
  2. Reiniciar o mysql com a opção –skip-grant-tables (você poderá utilizá-la ao iniciar o mysqld manuamente ou colocando-a no arquivo de init)
  3. Alterar a senha do usuário root com o comando:
    # mysqladmin -u root password 'nova_senha'
    # mysqladmin flush-privileges
    

    você pode alterar a senha também com o comando:

    # mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD('nova_senha') WHERE User='root';
    mysql> FLUSH PRIVILEGES;
    

Windows XP (com o MySQL rodando como serviço):

  1. Entrar nos serviços do windows (Iniciar -> Executar -> services.msc);
  2. Procure pelo MySQL, clique com o botão direito sobre ele e vá em propriedades;
  3. Pare o serviço (clicando sobre o botão parar);
  4. Insira no campo “Parâmetros de inicialização” o parâmetro –skip-grant-tables e clique no botão iniciar e em seguida botão Ok;
  5. Execute o cmd (Iniciar -> Executar -> cmd) , entre no diretório de binários do MySQL (cd c:\arquivos de programas\mysql\bin (ou onde estiver instalado));
  6. Alterar a senha do usuário root com o comando:
    mysqladmin -u root password 'nova_senha'
     mysqladmin flush-privileges
    

    você pode alterar a senha também com o comando:

    mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD('nova_senha') WHERE User='root';
    mysql> FLUSH PRIVILEGES;
    

O parâmetro –skip-grant-tables desabilita no servidor o uso do sistema de privilégios. Com isso todos os usuários terão acesso a todos os bancos de dados. Ao executar o comando Flush privileges, o servidor retorna a utilizar seu sistema de privilégios, mantendo a segurança original do serviço.

Agora se você adicionou o parâmetro –skip-grant-tables no arquivo de init, não se esqueca de remové-lo de lá, para evitar que na próxima reinicialização do serviço ele fique vulnerável. Caso seu MySQL esteja no Windows, execute os 4 primeiros passos novamente removendo o parâmetro passado na inicialização.

Update: O Artigo foi adaptado também para apresentar a troca de senhas no ambiente windows conforme sugestão do Carlos Henrique.

Primeiras impressões do MSN Search e Windows Desktop Search

Foi lançado hoje (pelo menos foi hoje que recebi o e-mail da Microsoft) a nova ferramenta de pesquisa da Microsoft: o MSN Search. Fiz alguns testes, e achei a ferramenta bem legal com alguns recursos de pesquisa avançada, configurações, etc.
Continue reading ‘Primeiras impressões do MSN Search e Windows Desktop Search’ »

RDP via Web

Imagine você poder disponibilizar dentro da Intranet da sua empresa, um link para o seu servidor de aplicações? não seria mais fácil e rápido a publicação de novos serviços? é, se você utiliza o Metaframe da Citrix com certeza já possui esta facilidade, mas se utiliza o Desktop Services da Microsoft, já é um pouco mais complicado.

Pra facilitar, nesta página é possível encontrar um controle ActiveX que permite o acesso RDP (Remote Desktop Protocol) via web. ?? necessário ter o IIS instalado.

Até ai tudo bem, você terá uma interface que permita conectar no servidor RDP utilizando a tela do browser… mas E SE você quiser que a sessão abra em uma janela de RDP, e que de preferência já seja fornecido o nome do servidor, nome do usuário, e outras informações necessárias? (até a senha em alguns casos?) Bem, ai você pode seguir as sugestões descritas no artigo Extending Microsoft’s Terminal Services Client To Provide Seamless Windows.

Basicamente crie um arquivo .htm com o conteúdo disponível na seção Publishing Applications On the Web e altere as informações:

  • MsRdpClient.server : Nome do servidor que deseja se conectar;
  • MsRdpClient.UserName : Nome do usuário;
  • MsRdpClient.AdvancedSettings.ClearTextPassword : Senha em texto plano (não recomendável);
  • MsRdpClient.SecuredSettings.StartProgram : Aplicação a ser iniciada;
  • MsRdpClient.Domain : Domínio da rede;
  • MsRdpClient.FullScreen : Tela cheia? (TRUE|FALSE);
  • MsRdpClient.Width : Largura da janela;
  • MsRdpClient.Height : Altura da janela;
  • MsRdpClient.AdvancedSettings2.RedirectDrives : Mapear os drives locais (TRUE|FALSE);
  • MsRdpClient.AdvancedSettings2.RedirectPrinters : Mapear impressoras locais (TRUE|FALSE);
  • MsRdpClient.AdvancedSettings2.RedirectPorts : Mapear portas seriais locais (TRUE|FALSE);

Em seguida basta acesar o arquivo e pronto! conexão estabelecida..

“su” do windows

Outro dia estava lendo uma apostila do Windows XP, e descobri um comando legal que não imaginava ter no mundo Microsoft. ?? algo semelhante ao su (super user) do mundo *nix. Sua finalidade (para quem não sabe) é executar um comando passando-se por outro usuário.

A sintaxe para o comando é:

runas /user:[USUARIO] [PROGRAMA]

onde [PROGRAMA] é o nome do programa que você quer usar se passando por [USUARIO].

Exemplo: runas /user:Administrador notepad