sábado, 22 de dezembro de 2012

Pequena pausa

Vem as férias e a atividade online cai um bom bocado. Mas sempre acontece algo semelhante assim:


Boas festas à todos!

Conversão de grau decimal e sexagesimal

A posição de um ponto na superfície terrestre pode ser expressa pelas coordenadas geográficas. A latitude, que vai de zero à 90 graus, e a longitude, que vai de zero à 180 graus, possui basicamente duas notações, o grau em notação decimal ou o grau em notação sexagesimal.

A notação decimal é a forma numérica na qual estamos mais acostumados, o grau pode ser expresso por um número não inteiro. Um exemplo, no caso uma latitude, é -23,62463499 graus, um simples número decimal. O sinal negativo indica a latitude Sul, se fosse longitude indicaria o Oeste.

A notação sexagesimal é dada, em uma forma bem precisa, em grau, minuto e segundo. Com os minutos e segundos indo de zero à 60. Esta última unidade de medida, em segundo, pode receber um número não inteiro, e da mesma forma o minuto, caso se omita a unidade de segundo. A latitude e longitude para a notação sexagesimal é comumente indicada pelas letras de Norte-Sul-Leste-Oeste, ao invés do sinal negativo ou positivo. Um exemplo de latitude é 23° 37' 28,686" S.

É possível converter os números dentre as notações de grau decimal e sexagesimal. A notação decimal é facilmente obtida a partir da notação sexagesimal com o uso da seguinte fórmula:

grau + minuto/60 + segundo/3600

Exemplo:

Notação sexagesimal dada: 23° 37' 28,686" S

23 + 37/60 + 28,686/3600 = -23,624635°

(Para a latitude Sul e a longitude Oeste o resultado deve receber o sinal negativo.)


Inversamente, o grau em notação sexagesimal é obtido a partir da notação decimal com os seguintes cálculos:

1) O grau é obtido com o valor absoluto da notação decimal, somente a parte inteira.

2) O minuto é obtido com o valor absoluto da parte fracionária da notação decimal multiplicado por 60, pegando somente a parte inteira deste resultado.

3) O segundo é obtido com o valor absoluto da parte fracionária da notação decimal multiplicado por 60, e multiplicando a parte fracionária deste resultado por 60.

Exemplo:

Notação decimal dada: -23,62463499°

1) 23°

2) 0,62463499 x 60 = 37,4780994  portanto 37'

3) a) 0,62463499 x 60 = 37,4780994
   b) 0,4780994 x 60 = 28,685964"

Portanto 23° 37' 28,686" S

(Se o valor da notação decimal é negativo então a latitude será Sul ou a longitude será Oeste.)

Sugestão de leitura. Saiba como calcular a distância entre coordenadas geográficas lendo o artigo em: http://dan-scientia.blogspot.com.br/2009/05/distancia-entre-coordenadas-geograficas.html

Atributos de arquivo e diretório no Linux

Os sistemas de arquivos da família Second Extended, disponíveis para o sistema operacional Linux, suportam alguns atributos para os arquivos e diretórios. Estes atributos possibilitam um controle no acesso. Por exemplo, alguns controles de:

- não atualizar a hora de acesso
- somente gravação incremental
- imutável
- remoção segura

Dois comandos são usados para listar ou alterar os atributos, respectivamente 'lsattr' e 'chattr'. Alguns atributos só podem ser alterados pelo superusuário. O atributo imutável é um deles. Estes comandos são similares ao comando 'attrib' dos sistemas DOS e Windows.

O comando 'lsattr' lista os atributos do arquivo em um sistema de arquivos Second Extended. Sua sinopse é:

lsattr [opção]... [arquivo]...

As principais opções são:

-R  lista recursivamente os diretórios e seus conteúdos
-a  lista todos os arquivos, incluindo arquivos que começam com '.'
-d  lista os diretórios como arquivos, ao invés de listar seus conteúdos


Exemplo de linha de comando:

# lsattr -R /home/usuario

O comando 'chattr' altera os atributos do arquivo em um sistema de arquivos Second Extended. Sua sinopse é:

chattr [opção]... +-=[acdeijstuADST] arquivo...

A principal opção é:

-R  altera recursivamente os diretórios e seus conteúdos

O operador '+' adiciona o atributo especificado aos atributos existentes no arquivo. O operador '-' remove o atributo e o operador '=' torna o atributo especificado sendo o único no arquivo.

As letras 'acdisuADS' especificam os novos atributos para os arquivos e diretórios:

a - somente gravação incremental
c - compactados
d - sem backup pelo dump
i - imutável
s - remoção segura
u - não removível (recuperável)
A - não atualiza a hora de acesso
D - atualização sincronizada em diretórios
S - atualização sincronizada (não tem efeito em diretórios)


O exemplo a seguir adiciona o atributo imutável, que protege o arquivo contra escrita e remoção:

# chattr +i arquivo

Este último atributo já foi demonstrado em um outro artigo neste blog, em uma dica de proteção de arquivos, veja em: http://dan-scientia.blogspot.com.br/2009/07/protegendo-arquivos-importantes-no.html

Problema de Lógica: Quem é no parentesco?

Se:

Filho é igual a A
Pai é igual a B
Mãe é igual a C
Avô é igual a D
Tio é igual a E

Pergunta-se:

Quem é o A do B da C do A?





RESPOSTA





A pergunta é: Quem é o filho do pai da mãe do filho?
A resposta é o tio. O pai da mãe é o avô do filho, o filho do avô é o tio do filho da mãe.

Edições especiais Fronteiras da Física

"Explore a complexidade da mecânica quântica, o fascínio das altas energias, os mistérios da cosmologia, as fronteiras da astrofísica e as novas e surpreendentes descobertas da ciência planetária com a série em cinco volumes Fronteiras da Física...", é com este estrondoso anúncio que a revista Scientific American Brasil lançou mais uma coleção de edições especiais com assuntos relacionados à física.

O primeiro número trouxe como matéria principal o artigo "Os primeiros microssegundos do Universo", que relata os experimentos em acelerador de partículas para o entendimento do Big Bang. O segundo número vem em destaque com o artigo "Quando campos colidem", que exprime a história da cosmologia de partículas no estudo das origens do Universo. O terceiro número vem em destaque com o artigo "A misteriosa origem das explosões solares" e diversos artigos sobre as estrelas. O quarto número tem como destaque o artigo "O Universo está perdendo energia?", tratando da energia escura, matéria escura e buracos negros. Por fim, o quinto número vem em destaque com o artigo "Existe mesmo uma energia escura? e outros artigos que relatam as teorias alternativas para a composição do Universo.



Os números desta coleção foram lançados a cada duas semanas e o último número veio às bancas nesta última semana. A Scientific American é uma excelente revista de divulgação científica e seus artigos são de ótima qualidade. Não é uma revista dedicada à física mas a toda ciência, entretanto sempre lança edições com temas de física e, mais especificamente, de cosmologia.

domingo, 9 de dezembro de 2012

Falha de EOL em verificação de hash

Quem utiliza o sistema Linux no dia a dia e costuma verificar a integridade de arquivos através de comparações com hash, seja MD5, SHA etc. em suas respectivas ferramentas para linha de comando, provavelmente já presenciou falhas em determinadas verificações.

Os sistemas operacionais não adotam a mesma convenção para os caracteres que marcam o fim-de-linha (EOL) em arquivos de texto puro. Principalmente entre os sistemas DOS/Windows e Unix/Linux.  Como o arquivo de hash é um arquivo no formato texto, está sujeito a esta diferença em sua estrutura, caso ele tenha sido criado em um sistema ou no outro.

Ao ler um arquivo de hash, criado em um sistema Windows, ou seja, com o fim-de-linha adotado no sistema Windows, em uma ferramenta de linha de comando no Linux, haverá falha na busca do arquivo principal, o qual se pretende verificar a integridade. Algo como apresentado no exemplo a seguir:

$ sha1sum -c FreeOTFE_5_21.sha1

: Arquivo ou diretório não encontrado
: FALHOU na abertura ou na leitura
sha1sum: WARNING: 1 listed file could not be read



A solução, no sistema Linux, é converter o arquivo de hash para o formato do Unix. O comando 'dos2unix' serve para isso:

$ dos2unix FreeOTFE_5_21.sha1

dos2unix: converting file FreeOTFE_5_21.sha1 to Unix format ...



Feito isso, a verificação da integridade provavelmente não terá mais esta falha na busca do arquivo principal:

$ sha1sum -c FreeOTFE_5_21.sha1

FreeOTFE_5_21.exe: SUCESSO



Claro que o erro da integridade ainda poderá ocorrer, visto que neste caso é o arquivo principal que estará corrompido. Importante salientar que esta não é a única falha que pode ocorrer na interpretação do arquivo de hash. Algumas ferramentas de geração de hash produzem arquivos de hash com informações adicionais incluídas junto com a sequência hash, ou também em posições invertidas entre a sequência e o caminho pro arquivo principal. Tudo isso pode gerar falha na busca do arquivo. Casos assim deverão ser tratados particularmente.

Leia mais sobre EOL em http://dan-scientia.blogspot.com.br/2009/07/historia-do-fim-de-linha.html

sexta-feira, 7 de dezembro de 2012

Consoles virtuais no Linux

Um console virtual, ou terminal virtual, é uma combinação conceitual de um dispositivo de entrada (teclado) e um dispositivo de saída (monitor) para interface usuário-computador. É uma funcionalidade de alguns sistemas operacionais como Unix, BSD e Linux, onde o usuário pode trocar de terminal, abrindo outra interface, estando no mesmo terminal físico.

No Linux, por padrão, os seis primeiros consoles virtuais são para terminais em modo texto e do sétimo console virtual em diante são para terminais em modo gráfico. Quando o usuário inicia o sistema Linux, em modo texto ou modo gráfico, e se loga, ele está conectado ao primeiro console virtual disponível. Mas os outros consoles também estão prontos para serem usados.

Para conectar-se a um outro console, mantenha pressionada a tecla Alt à esquerda enquanto pressiona uma das teclas de função, de F1 à F6. A cada tecla de função, uma nova tela com um prompt de conexão é apresentado. É possível manter-se conectado a vários consoles e ir trocando entre eles.

Para alternar entre os consoles virtuais, no ambiente modo texto usa-se a mesma combinação de teclas Alt + Fn. No ambiente gráfico do X Window usa-se a combinação Ctrl + Alt + Fn. De uma outra forma, a combinação Alt + Seta pra Esquerda alterna para o console virtual anterior e a combinação Alt + Seta pra Direita alterna para o próximo console virtual.

Os consoles ativos são especificados pelo arquivo de configuração '/etc/sysconfig/init'. O comando 'tty' retorna o nome do terminal em que está conectado.