Showing posts with label nerd. Show all posts
Showing posts with label nerd. Show all posts

Monday, January 7, 2008

Monitor curvo da Alienware

Na CES 2008 a Alienware está apresentando um protótipo de monitor, com a tela em formato curvo!!



No Meio Bit disseram que ele está rodando Crysis a 2880x900! Se a resolução vertical dele chegar nos 1200, eu certamente vou querer um desses pra mim!! Acho que até dispenso dual-monitor =oP

Fonte: Meio Bit

Saturday, December 29, 2007

(sudo) rm -rf /

Bom, quem usa linux já ouviu falar (e talvez até tenha ficado um pouco curioso) sobre os efeitos do "rm -rf /" em modo root... os geeks de plantão sabem, mas em todo o caso, "rm -rf /" conhecido por touch of death é um comando que simplesmente diz para o linux remover todos os arquivos começando pelo raiz e descendo nos subdiretórios recursivamente. Como o linux depois que carrega um programa em memória deixa o executável dele liberado (o Windows 98 não deixa remover um arquivo que está em execução, os XP, 2000 e Vista eu não testei como se comportam), esse comando vai
se remover, vai remover o shell, vai remover todo o sistema.

Confesso que quando ouvi falar desse cara, fiquei com uma pequena curiosidade para saber o que aconeteceria... mas nunca achei que o esforço fosse compensar a curiosidade. Até que... algum desocupadodesbravador resolveu publicar um vídeo com os efeitos do rm -rf /



Bom saber que o gatinho sobreviveu!

Bom, depois de umas férias não tecnológicas (6 dias sem internet e praticamente sem celular), a contagem de mortos e feridos ficou em 69 emails, 28 spams, 298 feeds e 12 comics não lidos... e como não acho que vou conseguir zerar esses contadores hoje, e vou para mais um recesso tecnológico até o próximo ano agora (tô me sentindo muito radical! e reusando descaradamente todas as piadas já batidas, gastas e desbotadas de final de ano!), acho que a situação tende a piorar!

Anyway, como não devo postar mais nada e nem entrar no MSN, feliz 2008!!!

Sunday, December 16, 2007

Bug do ano 2038 e segundo bissexto

Pra começar o post, vi uma tirinha do LibMan e APIBoy, com uma pequena referência ao bug do ano 2038. Bug do ano 2038?! Isso que eu chamaria de evolução no planejamento de software. Eu ainda não consigo nem saber que features vão ser implementadas no TAF no próximo ano, e já tem gente sabendo que bugs vão existir em 2038! Bom, parando com a brincadeira. Quem não conhecia e ainda não seguiu o link para o segundo guru da internet (wikipedia), o bug do ano 2038 é basicamente um problema para quem usa representação de datas estilo POSIX (e quem não usa???), onde a data é representada pelo número de segundos passados desde o início da era, no caso, 1-Jan-1970. O problema é que esse valor é representado por um inteiro sinalizado de 32 bits. Mas por que usar uma representação de datas usando inteiros de 32 bits e com sinal? Primeiro, lá em 1985, mais ou menos quando o POSIX foi lançado, acho que parecia bastante lógico que 2147483647 de segundos no futuro nenhum daqueles computadores estariam em uso, então, pra que se preocupar? Afinal, no ano 2000 já teríamos carros voadores, computadores com uma inteligência praticamente humana, no melhor estilo HAL, ponte aérea (??) entre a Terra e Marte, etc, não havia a menor chance de ainda usarmos os obseletos computadores de 32 bits - que ainda nem existiam. Mas tudo bem, podiam ter pelo menos colocado um unsigned na frente do time_t, né? Não exatamente. E como ficariam as datas antes de 1970? Certo, a decisão de usar signed int parece bem razoável. Então, assim como em 2000, os sistemas que usam datas vão entrar em colapso, certo? Bom, mais ou menos. É possível que se nada for feito, o segundo seguinte a data 03:14:07 de 19-Jan-2038 será 13-Dez-1901, 20:45:42. Ei, mas já estamos colocando processadores 64 bits agora, até 2038 ninguém mais vai usar 32 bits, certo? Eu espero que sim, mas existem algumas indicações contrárias. Já com o negócio do bug do ano 2000, vários sistemas extremamente legados, ainda em Cobol e fortran, ainda estavam em utilização, e recodificar alguns bugs pode não ser uma opção adotada por algumas empresas, para reduzir o custo. Além disso, temos os vários sistemas embutidos (ou embarcados - esse último parece ser o termo mais utilizado, mas tem algo nele que eu não gosto. Pessoal da área de embedded systems, qual o certo?) que provavelmente não usam 64 bits, e muito provavelmente vão continuar em operação até além de 2038. Só espero que os sistemas que controlam aviões, satélites, e outras coisas grandes que correm um risco de cair nas nossas cabeças não sofram nenhum efeito colateral sério por causa desse bug, assim como sistemas de monitoração de usinas nucleares e outras coisas que possam fazer um "grande boom". E também, mudar para 64 bits não resolve o problema, só posterga para 4 de dezembro de 292.277.026.596 as 15:30:08, mas aí acho que podemos deixar para as futuras gerações resolverem, ou postergarem ainda mais usando 128 bits ;).

Bom, e o que isso tudo tem relacionado com segundos bissextos? Nada, na verdade, exceto que a contagem de segundos na data POSIX não leva em consideração os segundos bissextos. Eu só achei um termo novo e resolvi comentar :D. Já é de conhecimento natural que a cada 4 anos temos um ano bissexto, que inclui um dia extra em Fevereiro. Essa acho que é uma das maiores gambiarras da humanidade. Ao invés de fracionar as unidades de tempo de forma a todo ano ficar bem alinhado, a preguiça imperou e inventaram esse negócio de incluir um dia a mais em alguns anos para "limpar" a imprecisão. Bom, é da natureza humana ir pelo lado mais fácil, por isso, eu simplesmente critiquei a solução e nem procurei saber se existe alguma forma de fazer um fracionamento exato ;). Mas parece que mesmo a divisão do dia em 86400 segundos não é lá muito preciso. Na verdade, dessa vez a culpa é da própria Terra. A cada século, o dia solar (que não respeita nossos relógios) fica 1,7 milissegundos maior, ou seja, daqui a 6 séculos, nossos dias terão 1 segundo a mais. Mas, a nossa divisão de datas continua 1 dia * 24 horas * 60 minutos * 60 segundos, sem espaço para esse segundo adicional, então fizeram esse negócio de segundo bissexto. Em alguns anos específicos é inserido 1 segundo a mais, sincronizado mundialmente. Normalmente, esse segundo adicional é colocado no dia 30-Junho ou 31-Dezembro. No caso, quando o relógio em UTC chegar a 31-Dez, 23:59:59, ao invés de mudar para 01-Jan, 0:00:00, ele primeiro vai para 31-Dez, 23:59:60, e depois para 0:00:00. Esse ajuste é feito simultaneamente em todo o mundo, por um sistema de difusão, ou seja, aqui no Brasil o ajuste é feito as 21:59:59, considerando o horário de verão. Agora eu me pergunto, será que meu relógio de pulso se ajusta automaticamente em relação a segundos bissextos? Se não, acho que descobri porque em 2005 ele estava errado em 1 segundo.

Só pra constar, os últimos 10 anos que sofreram ajuste de segundo bissexto foram: 2005, 1998, 1997, 1995, 1994, 1993, 1992, 1990, 1989, 1987.

Saturday, December 8, 2007

Computadores a luz!

Apesar de muita gente ainda usar no dia-a-dia luz como sinônimo de energia elétrica (quem nunca ouviu a célebre frase "faltou luz" quando o fornecimento de energia elétrica é interrompido durante o dia, as vezes com certa abundância de luz solar?), a "luz" nesse caso é luz mesmo, fótons e cia.

A IBM está anunciando um modulador eletro-óptico de silício Mach-Zehnder (do inglês silicon Mach-Zehnder electro-optic modulator), que basicamente converte pulsos elétricos em ondas luminozas. A principal vantagem é transmissão de dados sem fio dentro de um processador, reduzindo custo de produção - bom, depende de quanto custar esse modulador, na verdade - e principalmente, como não haverá resistência na transmissão elétrica, as perdas com transmissão de dados reduzem bastante, e o consumo de energia reduz também. Fala-se em 4 mil núcleos de processamento em um notebook - imagino que com a duração de 2 ou mais horas de bateria. Até agora, estão falando apenas em usar essa tecnologia dentro do processador. Todos os barramentos externos aparentemente continuam usando o bom e velho sinal TTL ou CMOS.

Estava pensando, quanto tempo até tornarem toda a comunicação interna de um PC baseada em luz? Quer dizer, parece meio estranho o caminho que a coisa vai tomar.
Um sinal elétrico de algum periférico ou placa PCI e afins chega até o processador, é convertido em luz, o processador reage ao estímulo, bota no barramento de saída, o sinal é demodulado pra sinal elétrico novamente, vai para algum periférico. Até entendo a comunicação com HDs, leitores de CDs, etc ser baseada em pulsos elétricos por uma questão de alinhamento e simplicidade para montar (bom, mais ou menos, não seria possível usar fibra-óptica?), mas a comunicação processador-memória, barramento-processador, barramento-memória, basicamente toda a comunicação interna de uma placa mãe poderia ser totalmente baseada nessa tecnologia, não? De qualquer forma, acho que o negócio agora é esperar isso ficar barato suficiente para chegar até nossas casas. Enquanto isso, vou ficar pensando no problema "o que fazer com o poder computacional de 4 mil cores?" (um passo mais próximo de dominar o mundo, mwahahahaha!)



Fonte: Meio Bit

Saturday, December 1, 2007

Mestre do Universo

Sério, me identifiquei muito nesse comic:



Fonte: PHD Comics!

Pra quem não conhece o PHD Comics, é um excelente comic sobre a vida de um pós granduando (e em partes de um graduando), e também uma excelente fonte de procrastinação, seguindo o lema "se nós não estamos trabalhando, por que você deveria estar?". Brincadeiras a parte, muitas tirinhas boas sairam lá, como o princípio da relevância, campo de negação (estou com muita preguiça de achar os links), etc.

Não sei se os programadores menos nerds que eu (de acordo com alguns, isso é a maioria dos programadores) também sentem isso, mas essa tirinha é uma descrição muito boa de como eu me sinto quando estou programando. Cada bug detonado, cada problema de design resolvido, cada solução nova representado na forma de um pedaço de software faz eu me sentir como o mestre de um universo, um universo só meu e bem pequeno, mas ainda assim que eu sou o mestre, um deus.

Há algum tempo eu usava na minha assinatura de email a seguinte frase:
"The computer programmer is a creator of universes for which he alone is responsible. Universes of virtually unlimited complexity can be created in the form of computer programs." (Joseph Weizenbaum, Computer Power and Human Reason)


Sempre gostei dela, mas ela foi substituida por uma do Scot Adams (criador do Dilbert) que tem um senso de humor um pouco mais apurado ;).

Um pouco mais sobre comics, não sei se outras pessoas também fazem esse tipo de maluquice ou se sou só eu, mas sempre acho um ou mais personagens nos comics que eu acompanho com o qual eu me identifico. Por exemplo, no Dilbert, me identifico com o próprio Dilbert, com o Dogbert (bom, quem não tem um desejo secreto de dominar o mundo?) e com o Wally e sua difícil tarefa de levar litros e litros de cafeína para o banheiro. Outro personagem com o qual me identifico bastante (e nesse me identificam com ele também) é o Garfield. Dizem que é por causa do estilo de humor (sínico eu? Capaz), mas talvez seja só porque eu como pouco, e gosto de lasagna. Mas nem sou laranja e nem gordo (eu acho). No PHD Comics eu me identifico bastante com a Cecília, a nerd que falou do código nessa tirinha que eu coloquei aí.

Bom, é isso. De pensar que antes de decidir montar o blog eu comentei com a Tetê (a segunda culpada por vocês lerem esse monte de besteira) que eu achava que não teria assunto suficiente pra escrever aqui. Incrível como é fácil escrever bobagem :D.

Chega por hoje, que esse sábado de manhã eu estou pensando sério em aproveitar um voleizinho na praida :D

PS: Preciso acertar o layout do site, tá complicado inserir esses comics :S