-
Paste your symbols into first textarea, then click on "Convert" button and you will get corresponding HTML entities ready to put inside HTML document. Each entity starts with & (ampersand) and finishes with ; (semicolon).
links for 2009-02-04
WordPress 2.7 e Incêndio
Hoje eu fui dormir mais tarde pois fiquei atualizando o WordPress do meu blog para a versão 2.7.
Quando me deitei senti um cheiro de queimado e já me lembrei do incêndio que havia acontecido no apartamento vizinho ao meu, quando eu morava em outro prédio, há uns 2 anos: fui acordado às 2 da madrugada com um vizinho chutando a porta do meu apartamento, pois no apartamento da frente estava pegando fogo. Saímos correndo, de pijama mesmo e esperamos os bombeiros chegarem pra apagar o fogo, que consumiu toda a cozinha e deixou o apartamento por dentro todo preto de fumaça.
Então hoje corri pra área de serviço, acendi a luz da garagem e vi a fumaça subindo de um dos apartamentos térreos! Na hora voltei correndo pro quarto, falei pra minha esposa que estava pegando fogo no prédio e corri para o apartamento de onde estava saindo a fumaça.
Felizmente a porta estava aberta, mas o fogão e uma panela que chegou a ter feijão estavam pegando fogo. Desliguei o gás, peguei água da torneira com uma tampa de chaleira e apaguei o fogo do fogão, depois o fogo da panela e fui acordar o morador do apartamento… que precisou ser chamado quase 10 vezes pra abrir os olhos!
O morador do apartamento de cima do dele já havia reclamado que as vezes subia uma fumaça à noite, que ele tinha medo de pegar fogo no prédio…
Já são quase 4, vou dormir pois às 8 tenho de estar de pé pra ir trabalhar. Como sou o síndico, amanhã terei de falar com o proprietário do apartamento (que é o pai do morador) pra tomar alguma providência!
Ahh! E ainda bem que fui atualizar o blog… pois se tivesse ido dormir mais cedo, provavelmente não sentiria o cheiro de queimado e provavelmente toda a cozinha ou até algo mais teria se incendiado.
Pseudomonas Aeruginosa
Ninguém nunca havia ouvido falar de Pseudomonas Aeruginosa, mas foi a miss e modelo Mariana Bridi Costa contrair essa bactéria, ter de amputar os pés, as mãos e depois morrer que todo mundo ficou preocupado e se interessou em saber mais.
Sinceramente eu não conhecia nem ela… então achei umas fotos da Mariana Bridi aqui e realmente ela é bem gata! Ela participou de diversas competições, incluindo Miss Brasil e Miss Mundo Brasil 2008, chegando à fase final.
A bactéria Pseudomonas Aeruginosa ataca plantas e animais, inclusive o ser humano (não diga). Geralmente ataca indivíduos com o sistema imunológico debilitado, como pacientes com AIDS, cancer ou queimaduras. Quando ela ataca as vias aéreas, os pulmões ou os rins, os resultados podem ser fatais. Também pode causar infecção sanguínea.
Ela “gruda” facilmente nos mais diversos materiais (como catéteres, ventiladores, lentes de contato), sendo a bactéria mais frequente nas infecções hospitalares. Aliás, a forma mais comum de contágio é em UTIs… Também há casos de banheiras com péssima higiêne que têm essas bactérias.
Essa bactéria e bem resistente a antibióticos, existindo mutações que são resistentes a vários antibióticos. No caso de uma infecção o melhor a fazer é realizar um exame de cultura para identifcar quais os melhores antibióticos, em vez de fazer uma escolha empírica. Mesmo assim, se for uma colonização e não uma infecção, recomenda-se não utilizar antibiótico, evitando criar uma nova variante ainda mais resistente.
No entanto fiquei surpreso com o que receitam como prevenção: mel.
Observação: não sou médico e obtive essas informações através de sites da Internet, como os abaixo. Nunca se auto-medique e procure sempre um médico quando tiver algum sintoma de alguma doença.
Paradigma do preço na Internet
“Every industry that becomes digital, eventualy becames free.” – Chris Anderson, editor chefe da Wired
O cara escreveu o excelente The Long Tail (A cauda longa) e este ano vai publicar um novo livro, chamado “Free” (Grátis) que deve falar o que ele comenta no vídeo abaixo, que foi a matéria de capa da Wired desse mês.
Internet wi-fi no Brasil
Eu escrevi um post explicando como configurei meu roteador sem fio pra compartilhar a internet banda larga da Virtua para o notebook e para o Wii.
Hoje eu descobri alguns serviços no Brasil que oferecem internet wi-fi sem necessidade de ter uma internet banda larga, internet 3G ou internet via rádio. Basta ter uma placa de rede sem fio (notebook, Apple iPhone 3G, Apple iPod Touch, PSP (Sony Playstation Portátil), Palm, Nintendo DS, Nintendo Wii, laptop e outros dispositivos costumam ter conexão wireless já de fábrica).
- iG Wi-Fi (1.310 hotspots – R$ 15,00 mensal ou R$ 13,00 por 24 horas)
- Vex (infraestrutura para todos os abaixo)
- UOL Wi-Fi (6.800 hotspots – R$ 25,00 mensal)
- Claro Wi-Fi
- aJato Wi-Fi
- Terra Wi-Fi
- UaiFi
- Embratel Business Dial
- Oi Wi-Fi Cartão
- Picture Acesso Wi-fi
- CTBC NetSuper Wi-Fi
- Sercomtel Wi-Fi
- Globo.com wi-fi
- ADG Wi-Fi
Infelizmente nenhum deles oferece internet sem fio grátis… é necessário pagar uma mensalidade.
Interessante é que a Vex tem blog, twitter e flickr. Bem moderno!
CD Caminho das Índias
Não somos de assistir novela, mas a Marcela queria assitir a novela Caminho das Índias, nova novela da Globo, por conta da temática indiana.
A fotografia é realmente deslumbrante, as locações foram bem escolhidas, já mostraram alguns aspectos da cultura e religiosidade indiana mas, como qualquer novela, tem muito mais defeitos que qualidades!
Cadê a pobreza indiana ou do Rio de Janeiro? Por que todo mundo tem de falar português na Índia?
Mesmo assim a Marcela pediu pra eu procuar a música tema da novela Caminhos da Índias, a que toca na abertura. Como a novela não tem nem 1 semana, não existe ainda o CD Nacional ou Internacional (que com certeza a Globo vai lançar).
Mas a música principal é a Kajra Re, cantada pela atriz, modelo, cantora e miss mundo Aishwarya Rai! Abaixo o clip dela.
Fone de ouvido para assistir TV
As vezes eu estou no Wii jogando Guitar Hero à noite e minha esposa reclama que o volume da TV está alto. Para solucionar esse problema eu decidi comprar um fone de ouvido pra colocar na TV e pesquisei bastante antes de comprar.
Inicialmente eu queria um fone sem fio. Vi no Mercado Livre alguns modelos bem vagabundos e um da Philips que me interessou (Philips Wireless SHC2000 – R$ 110,00 na Fast), mas depois de pesquisar um pouco sobre esses fones desisti. Fones de ouvido sem fio que não tenham chiado (hiss), que funcionem a uma distância boa da base e que não tenham interferência são caros, bem caros, mais de 1500 reais! Entre 300 e 900 reais os melhores fones sem fio no Brasil são os Sennheiser modelos RS 110, 120, 130 e 140.
Então parti para os com fio. Dois me interessaram:
Ambos são fones de ouvido desenvolvidos para usar com home theater , DVD plyaer ou TV, com controle de volume no fio, reforço de graves e cabo bem longo. Tirando o cabo que é mais longo no Philips (6 metros contra 5 metros), o Panasonic é melhor em todos os outros quesitos:
- impedância menor: 22 Ohm contra 32 Ohm
- sensibilidade maior: ops, nesse o Philips ganhou, tem 106 dB contra os 102 dB do Panasonic
- maior potência máxima de entrada: 3.000 mW contra 500 mW
- mais graves e agudos: frequencia de 10Hz~27kHz contra os 15Hz-22kHz do Philips
- mais leve: 200g contra 298g
Vamos explicar então. Quanto menor a impedância, mais fácil é para o fone “fazer som”, a grosso modo. Quando maior a sensibilidade, menor a necessidade de potência para “fazer som”. A potência máxima é o máximo de potência que é possível mandar pro fone antes dele “estourar” o som. Eu não sou um especialista e não sei relacionar esses três números, mas isso determina diversas qualidades do som, como o volume, clareza, distorção, ruído… e nem sempre um valor maior ou menor é significado de qualidade sonora melhor. É bem complicado.
O ouvido humano normalmente escuta a frequencia de 20Hz (sons graves – tambor) a 22kHZ (sons agudos – grito). A medida que vamos ficando velho, vamos perdendo audição na frequencia alta e ganhando na frequencia baixa.
Conclusão, o Panasonic RP-HT357P-S é melhor que o Philips SHP2500 e não é tão mais caro, ele custa R$ 90,00 na Magazine Luísa enquanto o Philips custa R$ 70,00 no Wall Mart.
Fui na Santa Efigênia na hora do almoço para comprar o fone da Panasonic mas infelizmente só achei o da Philips. Acabei comprando por R$ 55,00.
O som é muito bom mesmo, o grave é bem definido mas o volume é mais baixo e os agudos não são tão claros como no meu Koss Sporta Pro (um fone profissional que custa 5 vezes esse valor). Na minha sala pequena os 6 metros de cabo são um exagero! Depois de umas 4 horas usando o fone pra assistir filme, jornal e jogar Guitar Hero não sentir desconforto na cabeça. Valeu o investimento.
Obs.: De concha a Philips também tem o modelo SHP2700 voltado para DJs e com cabo de 3m que parece ser mais confortável, custando R$ 110,00 na FNac.
Piadas para os mais cultos
Está triste ou quer dar umas boas risadas? Concluiu o ensino fundamental? Se formou na época que se não estudasse tomava bomba no fim do ano e tinha de repetir a série? Já leu livros que não os da Coleção Vagalume? Sabe escrever exceção sem procurar no dicionário? Aliás, já usou o dicionário alguma vez?
Se você respondeu SIM para todas essas perguntas, sugiro que leia os comentários de alguns posts do meu blog:
- Como criar uma conta no MSN
- Passo a passo de como instalar o MSN
- Como mudar ou recuperar a senha do Orkut?
- Senha do Google?
- Net Virtua, Ouvidoria e Anatel
- Empréstimo pessoal é aqui
Digo isso, mas espero que minha filha e sua geração sejam melhores a geração atual!
Acesso negado ao gerenciar serviço no Windows
Depois do cansativo dia de ontem, quando saí do confortável mundo da progração C# e fui para o tenebroso território das permissões, autorizações, auditoria e configurações de arquivos, usuários, serviços e grupos, finalmente cheguei em uma solução para meu problema (exceção System.InvalidOperationException, com a seguinte mensagem: Não é possível abrir o serviço RoboMovimentacaoServico no computador ‘‘nome_servidor’ sendo que a InnerException foi Access is denied).
Segui o conselho do Craig Box e baixei o SubInAcl pra dar permissões no windows service, mas o que mais me ajudou foi uma página da Microsoft ensinando a conceder aos usuários direitos para gerenciar os serviços no Windows 2000, mas que também é válido para o Windows 2003.
O primeiro passo foi dar permissão total para o usuário da aplicação (sendo nome_servidor o nome do servidor, nome_usuário o nome do usuário, nome_grupo o nome do grupo e RoboMovimentacaoServico o nome do serviço):
[code]subinacl.exe /service \\nome_servidor\RoboMovimentacaoServico /GRANT=nome_usuário[/code]
Não funcionou. Então tirei essa permissão e dei permissão pro grupo do usuário:
[code]subinacl.exe /service \\nome_servidor\RoboMovimentacaoServico /REVOKE=nome_usuário
subinacl.exe /service \\nome_servidor\RoboMovimentacaoServico /GRANT=nome_grupo[/code]
Também não funcionou, então tirei essa autorização e dei autorização para os usuários autenticados:
[code]subinacl.exe /service \\nome_servidor\RoboMovimentacaoServico /REVOKE=nome_grupo
subinacl.exe /service \\nome_servidor\RoboMovimentacaoServico /GRANT=”authenticated users”[/code]
Funcionou! Consegui iniciar, parar e ver o status do serviço RoboMovimentacaoServico no servidor de COM através da página em ASP.NET no servidor web!
O próximo passo foi tirar a autorização full e deixar apenas as que eu necessitava. Na tentativa e erro descobri que as necessárias são:
S : Query Service Status (para consultar o status do serviço)
E : Enumerate Dependent Services (para parar o serviço)
T : Start Service (para iniciar o serviço)
O : Stop Service (para parar o serviço)
Então o comando ficou assim:
[code]subinacl.exe /service \\nome_servidor\RoboMovimentacaoServico /GRANT=”authenticated users”=SETO[/code]
Isso seria o mesmo que utilizar o comando abaixo:
[code]sd.exe sdset RoboMovimentacaoServico D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;LCSWRPWP;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)[/code]
Esse comando mudaria o default (A;;U;;;AU) para (A;;LCSWRPWP;;;AU).
Em desenvolvimento não tive de alterar nada, em TI tive todo esse trampo. Em homologação, certificação e produção muito provavelmente nada poderei fazer… não sei como é a configuração dos ambientes e muito menos terei acesso para executar o SC.exe, pois o SubInAcl.exe não está instalado nesses servidores.
Amanhã tentarei conceder essas autorizações sem precisar autorizar todos os usuários autenticados.
Ícone do Google
Na segunda fiz uma procura no Google e notei uma imagem colorida, diferente, na aba do Firefox e pensei: será que peguei vírus?
Depois de umas 3 abas abertas me toquei de que era o novo ícone do Google, mais colorido e chamativo que o antigo “g” azul.
No entanto, o mais interessante disso tudo é que a idéia para a versão 2009 do favicon (esse é o termo técnico) do Google é de um brasileiro estudante de ciência da computação na Unicamp!
Parabéns André Resende!
ASP.NET, Serviço do Windows e permissões
Fiz no trabalho uma aplicação em ASP.NET (com C# no server side) que consulta o status de um Windows Service que eu havia criado, podendo pará-lo ou iniciá-lo.
Como nós temos balanceamento de carga em produção, o serviço será instalado em 4 servidores mas em apenas um deles ele será iniciado para ficar em execução. A página que criei permite escolher em qual servidor iniciar/parar o serviço, bem como ver o status em tempo real e não deixar iniciar em mais de um servidor ao mesmo tempo.
Criei os métodos abaixo pra controlar o serviço (tirei o tratamento de erro para ficar mais claro):
[code lang=”C#”]using System.ServiceProcess;
public void IniciarServico(string nomeServico, string nomeServidor)
{
ServiceController servico = new ServiceController(nomeServico, nomeServidor);
if (servico.Status == ServiceControllerStatus.Stopped)
{
servico.Start();
servico.WaitForStatus(ServiceControllerStatus.Running);
}
}
public void PararServico(string nomeServico, string nomeServidor)
{
ServiceController servico = new ServiceController(nomeServico, nomeServidor);
if (servico.CanStop)
servico.Stop();
}
public string StatusServico(string nomeServico, string nomeServidor)
{
return new ServiceController(nomeServico, nomeServidor).Status.ToString();
}[/code]
Tudo funcionou muito bem nos testes unitários e no ambiente de desenvolvimento, mas no ambiente de TI (Testes Integrados), começou a retornar exceção System.InvalidOperationException, com a seguinte mensagem: Não é possível abrir o serviço RoboMovimentacaoServico no computador ‘‘xxxxxxxxxx’ sendo que a InnerException foi Access is denied.
Pesquisando na Internet achei um problema muito semelhante ao meu, onde um tal de Charlie dá uma resposta sugerindo modificar o security descriptor (DACL) para incluir permissões de SERVICE_START, SERVICE_STOP e, opcionalmente, GENERIC_READ.
Segundo ele existem duas formas de fazer isso:
- através de linha de comando utilizando o SC do Windows
- criando um programa em C++ e utilizando a API SetNamedSecurityInfo
Resolvi procurar por uma solução em C# e achei no stackenbloggen… mas além de não funcionar por falta de permissão, excluiu todos os acessos ao serviço! Não conseguia iniciar, parar, ver as propriedades, desinstalar, excluir… sempre dava erro “5 – Access Denied“. Na hora pensei: f*deu!
Felizmente outro cara já havia passado por isso e deu as dicas de como redefinir uma DACL vazia em um descritor de segurança de um serviço em um computador Windows Server 2003:
- abrir um prompt de comando no modo interativo, para ficar logado com o usuário NT AUTHORITY\SYSTEM (conta de sistema). O comando pra fazer isso é: “at 18:05 cmd.exe /interactive” (sem as aspas, onde 18:05 é a hora daqui a 1 minuto)
- utilizar o comando “sc sdset service_name D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD)” (sem as aspas, onde service_name é o nome do serviço)
Obs.: pro prompt abrir, tive de deixar aberta a tela de tarefas agendadas (Start -> Programs -> Accessories -> System Tools -> Scheduled Tasks).
O comando SC é meio cavernoso, então vou partir para o SubInAcl, que descobri nessa página do Craig Box.
Ele teve um problema idêntico ao meu e chegou à conclusão de que no teste unitário o serviço é controlado interativamente e pelo site o processo do IIS utiliza uma conta de usuário, que não tem acesso ao serviço. Pelo SubInAcl (assim como pelo SC) é possível incluir essa autorização, sendo que pelo SubInAcl é muuuuito mais fácil. A única desvantagem do SubInAcl é que ele não vem instalado no Windows, ao contrário do SC…
Amanhã brinco um pouco com o SC, o SubInAcl e o código em C# pra configurar esse serviço…
Update: consegui conceder o acesso utilizando tanto o SC quanto o SubInAcl.
Gasolina alcalina
Conversa no carro, indo para Minas Gerais no Natal, após de sair de casa:
- Filha: A gente tá indo muito pra casa da vovó.
- Pai: É verdade filha, você foi lá em outubro ne?
- Filha: é… Vai acabar a pilha do carro!
Memória e nascimento
- Filha: foi aqui que os carros bateram!
- Pai: é verdade, como você tem boa memória eim? Isso aconteceu há tanto tempo… fico orgulhoso de você ter uma memória tão boa!
- Mãe: você se lembra de quando nasceu?
- Pai: nem tanto né filha, na época você era um bebê…
- Filha: a médica cortou sua barriga e eu nasci!
- Mãe: isso mesmo… se você tivesse nascido de 9 meses não precisaria de cortar minha barriga
- Filha: mas aí eu ia ficar lá dentro!
- Mãe: não filha, tem duas formas de nascer: cortando a barriga ou pela vulva
- [pausa]
- Filha: mas aí eu ia cair no vaso!
links for 2009-01-08
-
Conjuntos de ícones muito bem trabalhados. Alguns são gratuitos, outros são pagos.
TV de Plasma ou LCD?
Por um bom tempo as TVs de Plasma eram as vilãs: gastavam mais energia que as LCD, tinham qualidade inferior às LCD FullHD, duravam menos e havia o temido Burn In – a tela ficava permanentemente marcada com imagem parada por muito tempo.
No entanto agora está na moda se questionar se LCD é realmente melhor que Plasma. E porque logo agora?
Até ano passado as TVs de LCD Full HD (resolução 1080p ou 1920×1200) eram comparadas com as TVs de Plasma HD (resolução 720p ou 1280×720) e a qualidade da LCD sobressaía, sem os conhecidos inconvenientes do plasma. O tempo de resposta das LCDs havia caído de 12 para 3ms, o ângulo de visão havia aumentado, bem como o contraste e o tamanho das telas. Era comum ler comparações que diziam que a TV LCD tinha “mais pixels por polegada quadrada”. É claro que tinha, comparando LCD FullHD com Plasma HD vai ter mesmo.
No entanto agora chegaram as TVs de plasma Full HD, que têm melhor qualidade de imagem que as LCD FullHD de mesmo tamanho, sendo que os pontos negativos foram minimizados. Agora a comparação ficou justa, pois tanto a TV de plasma FullHD quanto a TV de LCD FullHD, independente do tamanho, terão o mesmo número de pixels.
Primeiramente é necessário entender como funciona essas duas tecnologias.
Cada pixel (ponto) na TV de plasma é um conjunto de 3 “caixinhas” contendo gás xeônio com neon, sendo que cada “caixinha” é pintada de uma cor: vermelho, verde e azul (RGB) e elas têm a parede revestida de fósforo. Para fazer as cores, essas “caixinhas” são eletrizadas, fazendo com que o gás se aqueça até virar plasma, emitindo luz ultravioleta que “acende” o fósforo das caixinhas, produzindo cor. Cada pixel funciona como se fosse uma micro lâmpada fluosforescente colorida.
Já no LCD existe uma fonte de luz fluorescente atrás da tela de LCD, onde o cristal líquido age como se cada pixel fosse um micro espelho, deixando a luz passar no nível certo e alterando a freqüência da luz branca pra que ela tenha a cor desejada.
Nos próximos posts vou explicar as diferenças, vantagens e desvantagens de cada tecnologia.