quinta-feira, 13 de junho de 2013

Enfileirar comandos para execução posterior

Com o comando "at", nos sistemas Linux, podemos agendar a execução de uma tarefa para determinado tempo posterior, seja após um tempo decorrido ou hora e dia específico. A execução ocorrerá apenas uma vez (diferente do cron que executa novamente a tarefa na próxima ocorrência da data) e então a tarefa é removida da fila de agendamentos. Na execução, a tarefa herda o ambiente do momento em que foi criada, isto é, o comando será executado no mesmo diretório e com algumas das variáveis de ambiente do momento do agendamento.

O administrador do sistema pode controlar quem poderá agendar tarefas com o comando "at", editando os arquivos "/etc/at.allow" e "/etc/at.deny". Se existir o arquivo "/etc/at.allow", somente os usuários incluídos neste arquivo poderão usar o comando "at". Se não existir e se existir o arquivo "/etc/at.deny", os usuários incluídos neste segundo arquivo não poderão usar o comando "at". Se nenhum dos arquivos existirem, somente o administrador poderá usar o comando "at".

Além do comando "at" existem o "atq", que lista todos os agendamentos, e o "atrm", para remover uma tarefa determinada. As tarefas serão executadas pelo serviço "atd".

Uma tarefa nada mais é que uma linha de comando qualquer, com seus parâmetros, opções etc. Há basicamente três formas de informar a linha de comando ao "at". Quando executa-se o "at" sem esta informação, a interface exibe um prompt "at>" para que se digite a linha de comando. Digitando Ctrl+D no início de uma nova linha vazia encerra a entrada. A segunda forma é canalizar "|" a linha de comando para o comando "at" e a terceira forma é informar com a opção "-f" o arquivo que contém uma ou mais linhas de comando.

O momento para a execução pode ser especificado com diversas sintaxes. Este é o ponto que torna o comando "at" um pouco confuso talvez. As sintaxes podem ser:

• A hora no formato HH:MM, para uma hora específica no dia ou, se esta hora já passou, é assumido o dia seguinte;

• A hora seguido do sufixo AM ou PM;

• Os termos MIDNIGHT, NOON ou TEATIME (4pm);

• A data no formato mês dia e ano opcional. Para os meses usa-se JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC;

• A hora seguido dos termos TODAY ou TOMORROW;

• O termo NOW, ou hora específica, + número seguido de um dos termos MINUTES, HOURS, DAYS ou WEEKS;

• O parâmetro "-t" e a data/hora no formato [[CC]YY]MMDDhhmm[.ss].


Exemplos:

$ at 22:30

$ at 10:30pm

$ at midnight

$ at jul 15 2014

$ at 10:30pm jul 15 2014

$ at 22:30 tomorrow

$ at now + 6 days

$ at 5pm + 7 days

$ at -t 201407152230

$ at -f tarefas.txt now + 1 hour



O comando "atq" ou "at -l" retorna todas as tarefas agendadas ou em execução no momento. Sua saída exibe o número da tarefa, a hora agendada e o nome do usuário. O comando "atrm", "at -r" ou "at -d" seguido do número da tarefa remove a tarefa especificada pelo número.

No mesmo pacote existe o comando "batch" (ou "at -b"), que possui o mesmo funcionamento e sintaxe do "at" porém executa a tarefa somente se o nível de carga do sistema estiver baixo, isto é, se a carga média do sistema (load average) estiver abaixo de 0,8 (ou outro valor especificado na invocação do atd). Assim, em um sistema sobrecarregado a tarefa não será executada.

O comando "at" pode também informar o usuário por e-mail quando a tarefa for concluída, quando usado o parâmetro -m. E ainda, assim como no cron, o usuário não precisa estar logado no sistema no momento da data e hora do agendamento, pois o serviço "atd" fará a execução.

A Evolução da Física, de Einstein e Infeld

Os artigos científicos da área de física são bastante complexos, na leitura e compreensão, para as pessoas que não estudam esta área. A física é uma ciência muito difícil assim como a matemática, que é uma ferramenta essencial da física. Principalmente a física teórica pois utiliza muito os modelos matemáticos.

Entretanto, e felizmente, muitas obras de divulgação científica são escritas ao público não especializado. Estas obras usam uma linguagem mais fácil e com conteúdos não tão aprofundados. Nomes como Stephen Hawking, Brian Greene e Michio Kaku são exemplos atuais de autores com obras mais populares, com diversos livros, mesmo eles sendo exímios físicos teóricos com diversos artigos científicos sérios.

Albert Einstein, que foi um dos principais precursores da física moderna, também publicou em sua época algumas obras voltadas ao público comum. A famosa obra "The Evolution of Physics: The Growth of Ideas from Early Concepts to Relativity and Quanta" foi seu último livro científico, publicado em 1938 junto com o físico polonês Leopold Infeld em uma linguagem bastante simples.

No Brasil este livro possui o título "A Evolução da Física" e foi lançado naquela época mesmo. A primeira edição em língua portuguesa foi publicada em 1939 e teve a tradução de Monteiro Lobato. A edição mais recente é a lançada em 2008 pela editora Zahar, com a tradução de Giasone Rebuá, talvez a mesma de 1962.

O livro "A Evolução da Física" divulga os aspectos mais importantes da teoria da relatividade, partindo da ascensão e o declínio do conceito mecânico na física, desde Galileu, até chegar na física moderna, com os princípios da física quântica.

Apesar de já ter se passado bastante tempo e a física ter evoluído muito, o conteúdo do livro ainda é em grande parte atual pois trata apenas das teorias elementares da física, dos princípios básicos. O livro está organizado em quatro partes, com os seguintes capítulos:

Parte I - A ascensão do conceito mecânico

1. A grande história de mistério
2. A primeira pista
3. Vetores
4. O enigma do movimento
5. Resta uma pista
6. Será o calor uma substância?
7. A montanha-russa
8. Razão de transformação
9. As bases filosóficas
10. Teoria cinética da matéria

Parte II - O declínio do conceito mecânico

1. Os dois fluidos elétricos
2. Os fluidos magnéticos
3. A primeira dificuldade séria
4. A velocidade da luz
5. A luz como substância
6. O enigma da cor
7. Que é uma onda?
8. A teoria ondulatória da luz
9. Ondas luminosas longitudinais ou transversais?
10. O éter e o conceito mecânico

Parte III - Campo, relatividade

1. O campo como representação
2. Os dois pilares da teoria de campo
3. A realidade do campo
4. Campo e éter
5. O andaime mecânico
6. Éter e movimento
7. Tempo, distância, relatividade
8. Relatividade e mecânica
9. O contínuo de espaço-tempo
10. Relatividade geral
11. Dentro e fora do elevador
12. Geometria e experiência
13. Relatividade geral e sua verificação
14. Campo e matéria

Parte IV - Quanta

1. Continuidade - descontinuidade
2. Quanta elementares de matéria e eletricidade
3. Os "quanta" da luz
4. Espectro luminoso
5. As ondas da matéria
6. Ondas de probabilidade
7. Física e realidade


É um conteúdo pra lá de interessante. A edição de 2008 possui as seguintes características de capa e ficha técnica:


Título: A Evolução da Física
Autores: Albert Einstein e Leopold Infeld
Tradução: Giasone Rebuá
Número de Páginas: 248
Edição: 1ª
Editora: Zahar
ISBN: 9788537800522
Lançamento: 21/1/2008

quarta-feira, 12 de junho de 2013

Ativar as opções do desenvolvedor no Android 4.2

No Android 4.2, as opções do desenvolvedor estão escondidas por padrão. Para mostrá-las é necessário ir até a tela "Configurações -> Sistema -> Sobre o telefone" e tocar sete vezes em "Número da versão". A ação é confirmada com a exibição da mensagem "Agora você é o desenvolvedor do telefone". Feito isso, a tela "Configurações -> Sistema -> Opções do desenvolvedor" estará disponível.

Mais informações em: http://developer.android.com/about/versions/jelly-bean.html