Arquivo

Arquivo de maio, 2010

Vírus em implantes e a segurança dos implantes cocleares

26, maio, 2010 Giseli Ramos 6 comentários

Uma notícia hoje me chamou muito a atenção, que era sobre um cientista britânico dizer que foi infectado por um vírus de computador. Em particular, o seguinte trecho:

Gasson admite que o teste apenas prova um princípio, mas ele acredita que existam implicações importantes para um futuro em que aparelhos médicos, como marcapassos e implantes cocleares

Implantes cocleares?! Tudo bem que o experimento é meio rudimentar demais e seria equivalente a engolir um disquete com vírus (alguém me disse isso), mas mesmo assim, dá margem a especulações interessantes sobre a segurança dos implantes médicos. Já li por aí que, teoricamente, é possível invadir um marcapasso. Agora vamos especular um pouco e tentar explorar falhas nos implantes cocleares com a tecnologia atual:

DISCLAIMER: O que vou falar a seguir tem grandes chances de ser ficção, afinal, são especulações e não tem nenhuma comprovação real. Então, caso você seja um implantado que parou por acaso por aqui, não entre em pânico, hein? Não precisa ir correndo pegar um antivírus :P

- Alguns modelos têm suporte a bluetooth, cujo uso “oficial” é para se usar em conjunto com um dispositivo de microfone bluetooth também. Mas se alguém interceptar a comunicação e “fingir” que é um microfone…. Sei lá, alguém pode tirar proveito disso?

- Supondo que alguém tenha acesso ao implante coclear, na pior das hipóteses, vai corromper o programa de DSP, você pode não ouvir nada direito.

- Tem uma coisa que pode ser muito muito ruim: em geral, os programas DSP do implante são ajustados para ligarem até 12 eletrodos simultaneamente. A maioria dos implantes tem 22 eletrodos, então sempre se escolhe até 12 eletrodos por ciclo. A fono me disse que mais do que 12 eletrodos ao mesmo tempo pode deixar desorientada a pessoa ou até deixar dolorida a audição, deixando-a sobrecarregada. Vai que o vírus queira botar mais do que 12 eletrodos ao mesmo tempo?

Isso são “teorias tiradas do nada”, com base no que sei sobre ICs. Mas é legal fazer brainstorm e ir se prevenindo. Se alguém quiser me indicar já um antivírus…

Especulações à parte, claro que os implantados estão seguros de verdade, pois a única maneira de acessar o IC é por um cabo especial que a fonoaudióloga do mapeamento tem. Agora se o computador do mapeamento estiver infectado…. :P

Definições e vaguezas no dia-a-dia e nos estudos

21, maio, 2010 Giseli Ramos 6 comentários

Uma das atividades que um pós-graduando deve fazer é assistir aos exames de qualificação de mestrado/doutorado, além de assistir às defesas propriamente ditas, é claro. Hoje presenciei mais um exame de qualificação e os comentários da bancada me fizeram refletir um pouco sobre um dos erros mais comuns na conversação humana e na hora de redigir teses e artigos. O erro frequente ao qual me refiro é o vício que as pessoas têm para serem vagas quando usam certas expressões e não as definem.

Explicando melhor: na própria qualificação, a bancada disse que usar o termo “uma quantidade boa de ferramentas” é muito vago. Certamente que é, afinal, “boa” não é uma quantidade que pode ser facilmente entendida em um número. Só se a pessoa tivesse definido no contexto da dissertação o que significa “boa…

Extrapolando, isso é muito frequente nas conversações humanas. Quantos mal-entendidos poderiam ser evitados se as pessoas fossem mais específicas e soubessem usar direito os termos? Quando alguém me diz: “daqui a pouco”, meu reflexo é perguntar: “daqui a aproximadamente quantos minutos?”. Tem gente que me olha esquisito, mas poxa, pode significar que seja daqui a 5 minutos, daqui a meia hora ou daqui a horas! O_o

Esse é apenas um dos inúmeros exemplos de vícios que as pessoas têm… e eu tento atiçá-las para serem mais específicas e claras no que querem dizer.
Então, tente aplicar isso no dia-a-dia e na pós (ou em qualquer outra coisa que exija que você escreva algo) que, pode crer, as coisas e as conversas ficam muito mais fáceis de serem entendidas. Afinal, eu também tento ser específica no que quero dizer :D

Categories: sem categoria Tags:

A base matemática dos mecanismos steampunk

Não sei se muitos de vocês sabem, mas por muito tempo, a base da computação era madeira, bronze, metal e latão. Peraí, como assim? Ábacos te dizem alguma coisa? =D

relógio astronômico de Praga

Antes de 1700 já tinham algumas calculadoras rudimentares feitas, à base de engrenagens metálicas. E o computador mais antigo já feito é o mecanismo de Antikythera, um impressionante mecanismo capaz de prever eclipses e órbitas planetárias, entre outras coisas.

E o que esses objetos e, digamos, as engrenagens vitorianas (tanto as reais como as das histórias ficcionais) têm em comum? As engrenagens… Você já parou para pensar em como os engenheiros calculavam os números de dentes necessários em cada roda para o melhor desempenho do sistema como um todo? Ou para que um dado mecanismo tenha a velocidade desejada?

É aí que entra a teoria dos números :D

Existe um tipo de árvore binária com propriedades interessantes chamada de Stern-Brocot, sugerida por Moritz Abraham Stern, primeiro aluno de doutorado de Gauss e que o sucedeu no cargo de professor de matemática em Göttingen.  As folhas e as arestas dessa árvore são números racionais, razões de inteiros como 4/6 ou 8/11. Ela se constrói assim: sejam quaisquer dois números racionais, a/b e c/d, e entre eles, temos o que chamamos de “mediante” (mediant em inglês), que é composto por (a+b)/(c+d). Começando com esses três números, obtemos novamente outra mediante entre o primeiro e o segundo número e entre o segundo e o terceiro número. E assim segue.

Na figura abaixo temos um exemplo:

SternBrocotTree

A figura nos mostra a árvore canônica, que começa com 0/1 e 1/0 (er, ignore a divisão por zero). Aí temos 1/1 (no topo) e o nível seguinte tem (0+1)/(1+1) = 1/2 e (1+1)/(1+0) = 2/1 e assim segue.

O negócio interessante é que todo número racional aparece na árvore, mas nenhum número se repete. Ainda tem outras propriedades, mas não me estenderei aqui (recomendo ver o primeiro link no final do post). Já já voltaremos a essa árvore.

Em uma roda, a haste pode girar uma volta por um minuto ou por uma hora (ou pelo tempo que quiser). Então, como especificar o tempo que a haste de uma roda deve girar? A primeira lei dos construtores de rodas é que a velocidade de uma roda é inversamente proporcional ao número dos seus dentes (ranhuras). Para isso se usam várias rodas auxiliares, como veremos nas imagens abaixo:

gears.0

Na imagem acima, a roda verde, com 20 dentes, “gerencia” a maior, com 60 dentes (no jargão da arte de fazer relógios, a roda pequena é chamada de pinion enquanto que a maior é uma roda). Enquanto a verde avança em um dente, assim o faz também a roxa. Uma revolução da verde ocasionará em 20/60 ou 1/3 da revolução da roda roxa. Então podemos dizer que a velocidade angular da roda roxa é 1/3 da verde.

Ampliando o esquema para 2 rodas grandes A e B (com seus respectivos pinions, a e b), a razão será de a/A x b/B e aí você poderá escolher os melhores valores de a, b, A e B que produzam um determinado número (que seria a velocidade desejada de uma revolução). Como exemplo, rodas com 6/200 e 5/216 produziriam 30/43200, que é igualzinho a 1/1440 (que seria uma rotação por dia).

O problema é: como achar esses números? Usando fatoração! Se quisermos apenas números inteiros nas razões, a fatoração resolve o problema. Mas o que fazer caso a razão de duas velocidades seja um número fracionário ou algo como o pi? A fatoração falha nesse caso e vai contra a tal lei que estabelece que o número de dentes deve ser um inteiro.

Achille Brocot, um eminente relojoeiro francês, sugeriu um algoritmo para isso. Vamos supor que temos uma roda menor que faz 1 revolução em 23 minutos e outra roda maior, que faz uma revolução em 3h e 11 minutos (191 minutos). Tanto 23 como 191 são números primos e a razão entre eles não dará um número racional.

Pode-se verificar que 191/23 está entre 8 e 9 (8,304…), então a razão deve ficar entre 8 para 1 e 9 para 1. Em um papel, na primeira linha anota-se:

8 1 -7

Os 2 primeiros números representam a razão 8 para 1 e o terceiro representa o erro associado, 8/1 * 23/23 = 184/23, e 191-184 = –7, o que significa que a roda maior (a de 191 min) terminará sua rotação 7 minutos antes. Na última linha da folha de papel escreve-se:

8 1 -7

9 1 +16

com o mesmo princípio da linha anterior. Aí começa a parte iterativa do algoritmo, adiciona-se as 2 linhas (a primeira e a final) e põe no meio (que é a mediante).

8 1 -7

17 2 +9

9 1 +16

Escolhe-se somar essa linha do meio com a de cima ou com a de baixo. Geralmente, é com a de cima, então temos:

8 1 -7
25 3 +2
17 2 +9

9 1 +16

E assim se segue iterativamente até chegar na tabela final:

8 1 -7
33 4 -5
58 7 -3
83 10 -1
191 23 0
108 13 +1
25 3 +2
17 2 +9
9 1 +16

Aí dá para se notar que a melhor aproximação para 191/23 é a razão 83/10 (um minuto adiantado) e 108/13 (um minuto atrasado).

Para diminuir mais ainda o erro, recorre-se a mais rodas dentadas. O algoritmo se aplica perfeitamente a mais rodas. Enquanto Stern viu o lado puramente matemático da coisa, Brocot usou a árvore para ajudar a calcular a melhor razão entre rodas, uma aplicação bem prática. Fascinante ver uma estrutura tanto do ponto de vista da matemática pura e da engenharia!

Depois que li sobre isso, passei a ver com outros olhos as engrenagens… E quem sabe alguém se anima de escrever uma história steampunk com esses elementos matemáticos? :D

Para saber mais:

Trees, Teeth, and Time: The mathematics of clock making – by David Austin
Stern-Brocot tree – Wikipedia
On the teeth of wheels – by Brian Hayes (no qual foi baseado o post)

Categories: sem categoria Tags:

Momento de debug

Ciborgues também têm seus momentos de debugging. O blog ficou às moscas, mas é por um bom motivo, um instrumento astronômico prestes a ser finalizado e pretendo falar mais dele futuramente =D

Teve uma época que eu não me achava capaz para amizades. Mas depois aprendi que a tal arte da amizade não é tão complicada, só precisando ter em mente que o primeiro passo é ser seu próprio melhor amigo, antes de tudo.

Ralei muito e cometi muitos erros estúpidos com algumas ótimas pessoas, mas mais cedo ou mais tarde acaba aprendendo a lição (com algumas perdas no caminho). Se bem que lá no fundo, vez ou outra aparece, lurking in the darkness (a língua portuguesa que me perdoe, mas o inglês nos fornece algumas belas frases), o arrependimento e a esperança irracional de existir viagem no tempo para voltar atrás, porque se me perguntassem agora se eu faria novamente tudo igual, eu responderia: não, não faria nada igual =) Se bem que aí não dá para saber se ia aprender mesmo a lição.

Pensei em tudo isso, motivada por uma bela reflexão da Camila Fernandes, onde reproduzo alguns trechos abaixo:

“…

Tudo isso já estava aqui quando nasci e permanecerá quando eu me for,
Inalterado pela minha passagem,
Indiferente à minha alegria, à minha dor.
Há um mundo inteiro lá fora esperando ser desvendado
Enquanto eu examino meu microuniverso particular,
Onde os problemas parecem imensos e os limites, instransponíveis.

Para o mundo, meus problemas diários importam menos que a poeira no vento.
O cisco que arde em meus olhos não faz com que ele pare de girar.
A primavera virá ainda que eu insista no inverno.
O mundo é alheio a mim.
Eu não preciso ser alheia a ele.
A escolha é minha.

Abra os olhos,
Há tanto a se ver,
Tantas coisas maiores que eu e você.
Talvez você não possa mudar o mundo.
Mas ele certamente pode transformar você.

E nós somos vento:
Nossa natureza é flanar.”

Aí vi que tamos de passagem e o presente está aí para ser aproveitado, então, como diria o Johnnie Walker, keep walking and be your own best friend! Pronto, debug finalizado e alguns códigos mentais passados a limpo :)

Categories: sem categoria Tags: