Programas

Há uma abundância de software grande lá fora, que os autores e detentores de direitos autorais têm disponibilizado gratuitamente para os usuários finais. Ao invés de esforço duplicado, eu tento usar as ferramentas padrão sempre que possível. Ocasionalmente, não há nada lá fora, que muito se encaixa no projeto. Aqui estão algumas ferramentas excêntricas que você pode achar útil se você não pode obter uma ferramenta mais geral para fazer o trabalho de forma rápida e eficiente.


Conversão de calendário

Grande parte da NASA e da indústria de satélites comerciais trabalha fora do dia de encontros ano, em vez de mês / dia datas para lançamentos de sequenciamento, instalações de rastreamento de programação e outras atividades de planejamento de missão. Quando diretamente envolvido com o planejamento em uma base regular, é habitual para transportar em torno de um "calendário perpétuo", que é uma única folha de papel contendo a tabela de conversão. Um dos lados tem a mesa comum ano de 1 a 365, e do outro lado tem mesa ano o salto de 1 a 366. Spreadsheets prontamente lidar com este tipo de conversão.

Dia do ano para o HP 32sII

Como muitas vezes eu encontro-me sem um "calendário perpétuo" ou programa de planilha, mas com a minha calculadora programável Hewlett-Packard 32sII, eu escrevi um programa para a calculadora que realiza a conversão. O programa implementa equações do livro astronómicas Algoritmos por Jean Meeus. Meeus atribui o algoritmo de conversão para a frente para o Observatório Naval dos EUA , ea conversão inversa a um correspondente privada na Holanda.

Números de dia Juliano em Perl

Na máquina desktop, que é usado para o planejamento a longo prazo e análise de dados, o sistema numérico dia Julian mais completa comum na astronomia vem a calhar. Este script Perl fica em ~ / bin e converte entre datas do calendário gregoriano e número do dia Juliano usando três diferentes algoritmos. Um algoritmo é capaz de converter fracionários dias, ou seja, horas, minutos e segundos, se opcionalmente especificado na linha de comando.

PCLNFSS - arquivos de estilo LaTeX 2e para fontes PCL

Um conjunto de arquivos de estilo para usar o padrão de 45 fontes escaláveis na ROM de qualquer impressora de alta final PCL 5e ou mais tarde. Este pacote deve ser usado com dviljk ou DVI semelhante ao PCL para gerar PCL a partir do arquivo DVI que LaTeX produz.

Lista de afazeres:

  • Melhor documentação do usuário.
  • Gerar * .FD arquivos para T1 codificação. Atualmente, apenas OT1 codificação é suportado.
  • Melhorar a nomeação de * .sty pacotes para evitar conflitos de namespace com outros pacotes de fonte comum.
  • Descobrir se o special.map arquivo que vem com teTeX é bom o suficiente, ou se um separada pclfonts.map arquivo deve ser incluído com PCLNFSS. Há alguns exemplos * .map arquivos no src /diretório com o resto de programas de geração de fonte virtual de Karl Berry.
  • Matemática Virtual Fontes a la PSNFSS.
  • suporte ao símbolo do euro.
  • As métricas de caracteres e tabelas de kerning são baseados em valores da métrica da fonte com etiquetas de arquivos (MFT) incluído no CD-ROM do desenvolvedor LaserJet 4. Nota: estes não são os mesmos arquivos como arquivos de métricas de fonte Tex, que também usam a extensão TFM. Métricas atualizadas e tabelas de kerning para as fontes TrueType ROM em produtos mais recentes PCL deve estar disponível a partir de algum lugar. (Surpreendentemente, tabelas de kerning não estão incluídos nos arquivos de TrueType no CD-ROM do usuário que acompanha as impressoras. As tabelas de kerning estão no driver binário em algum lugar.) Essas métricas mais recentes deve ser incorporada no pacote.

XCMS Recursos

Poucas pessoas têm a necessidade de reprodução de cor exata em seu desktop, e mais operar suas exibições no modo RGB não calibrada, ou o modo sRGB-calibração assumido. Um display de gerenciamento de cores API foi incorporado ao Sistema X Window desde X11R5, mas a documentação está espalhado por toda a distribuição X, e raramente é incluído nas distribuições XFree86. Software é muito difícil de usar sem a devida documentação. Felizmente, existem muitos arquivos documentação disponível. Aqui está uma coleção para ajudar o programador XCMS casual.



Computing retro

Ocasionalmente, por uma razão ou outra, você pode achar necessário ou até mesmo agradável para trabalhar com equipamentos obsoletos. Como Conjectura da Igreja parece ser verdade, não precisa jogar completamente longe os trabalhos do passado, quando temos uma nova máquina.


Instituto de Estudos Avançados arquitetura de 40 bits

Em 1945, enquanto colaborando com Eckert e Mauchly na Moore School of Electrical Engineering da Universidade da Pensilvânia, von Neumann escreveu primeiro esboço de um relatório sobre a EDVAC . Este documento descreve a estrutura lógica de uma arquitetura de 32-bit, bit-serial, e definiu o conceito do computador eletrônico de programa armazenado. Um ano mais tarde, em 1946, Burks e Goldstine, que recentemente mudou-se para o Instituto de Estudos Avançados para juntar esforços computador de von Neumann, publicado discussão preliminar sobre o projeto lógico de um instrumento informático com von Neumann como terceiro autor. Este relatório Burks, Goldstine, e von Neumann descreveu um de 40 bits, arquitetura assíncrona bit paralelo. A maioria dos computadores modernos descendem de este segundo relatório. O projeto é conhecido como o Princeton ou arquitetura IAS, para distingui-lo a partir da arquitetura Harvard de Aiken de Mark I . von Neumann montou uma equipe no IAS para construir a máquina conforme descrito no relatório. Os relatórios de progresso do projeto Electronic Computer IAS foram amplamente divulgados, resultando na construção e instalação de máquinas semelhantes em outras seis instituições: Argonne National Laboratory (AVIDAC), Oak Ridge National Laboratory (ORACLE), Los Laboratório Nacional Alamos (MANIAC), da Universidade de Illinois (ILLIAC), o Laboratório de Pesquisa balística em Aberdeen (ORDVAC) e RAND Corporation (johnniac) [o johnniac está atualmente em exposição no Museu da História do computador em mountain View, Califórnia]. ORDVAC e ILLIAC foram construídos na Universidade de Illinois, e depois ORDVAC foi enviado para Aberdeen Proving Ground. ORACLE e AVIDAC foram construídos em Argonne, e em seguida ORACLE foi enviado para Oak Ridge.

Uma diferença marcante entre a Burks, Goldstine, e von Neumann relatório 1946 e modernos manuais de arquitetura é a ausência do código de máquina, ou o layout de instruções. Hoje novas arquiteturas são simuladas em máquinas existentes, de modo que o conjunto de instruções está finalizado e documentado antes da implementação de hardware começa. A equipe do Projeto Computador Eletrônica pela IAS não têm uma máquina na qual para simular sua arquitetura proposta. O conjunto de instruções real foi finalizado durante a implementação. A máquina IAS passou a linha em 1952. descrições vagas da instrução implementado definir foram publicados na literatura aberta por Estrin durante o primeiro ano de funcionamento da máquina. Em 1954, Goldstine, Pomerene e Smith publicou relatório final sobre a realização física de um instrumento informático , que lista o conjunto de instruções implementadas na máquina IAS.

Como a codificação de instruções real não foi liberado até oito anos após o relatório original, cada implementação da arquitetura IAS 40 bit tinha um conjunto de instruções original e incompatíveis. Os links abaixo levam a documentos que contêm a codificação do conjunto de instruções para cada implementação particular da arquitetura.

  • IAS
  • Illiac
  • Johnniac
  • MANIAC ( Nota: .. Los Alamos restringe o acesso electrónico a certas agências governamentais O URL irá funcionar se a sua agência está em sua lista aprovada Se este URL não para você, cópia em papel do relatório técnico LA-1725 "O maníaco" está disponível no coleções de bibliotecas da Univ. de Chicago, Univ. of Pennsylvania, eo Hall library Linda de Ciência e Tecnologia, em Kansas City.)
  • ORDVAC

Outros recursos para máquinas de arquitetura IAS 40 bits incluem:

  • De David Green Sydney University SILLIAC documentação da máquina original e emulador.
  • Arquivo de Al Kossow de ILLIAC sub-rotinas de software que também inclui uma imagem de fita de papel legível por máquina da área do cilindro protegido contra gravação do ILLIAC.

Desmontador para o IBM 704

IBM 704 foi o primeiro computador científica disponível comercialmente com um hardware unidade aritmética de ponto flutuante e definir o padrão para a programação científica na década de 1950. Resta interessante hoje por várias razões, em primeiro lugar, a sua influência persistente sobre a estrutura de linguagem de programação, e, segundo, sua comunidade de usuários e as ferramentas de programação desenvolvido e distribuído por essa comunidade.

Os CAR e CDR assembler sub-rotinas são os famosos exemplos de história Lisp . Para a listagem destas duas sub-rotinas, consulte Escrever e Depuração de programas por Steve Russell (MIT AI Lab Memo AIM-6). Fortran foi desenvolvida como a linguagem de programação científica para o 704, e muitos dos limites do formato de entrada de código-fonte forma fixa são devido às peculiaridades da arquitetura 704. A máquina palavra de 36 bits só poderia carregar duas palavras binárias de uma linha de cartão de cartão de puch na memória, o que correspondeu a as primeiras 72 colunas de uma linha 80 coluna padrão. A 704 usado 6 bits de codificação de caracteres BCD, com 6 caracteres para uma palavra. Como a máquina foi palavra dirigida, não caráter dirigida, fazia sentido para limitar os rótulos e nomes de variáveis de 6 caracteres. Daí rótulos e o caractere de continuação composta das primeiras 6 colunas de uma placa de entrada, e nomes de variáveis foram limitadas a 6 caracteres. O 704 de três registros de índice e falta de endereçamento indireto fez arrays multidimensionais a estrutura de dados dominante.

A 704 resultou no primeiro grupo de usuários de computador, PARTILHAR , formando na indústria aeroespacial sul da Califórnia ( encarnação moderna ). Os membros compartilham desenvolveu um montador comum, programa de montagem compartilhar ou SAP, para a troca de sub-rotinas e bibliotecas de programas. Grandes quantidades de software AÇÃO ainda existem em forma legível por máquina , graças à diligência de Paul Pierce. As primeiras fitas na base de código AÇÃO, que consiste na montadora e biblioteca sub-rotinas que data de 1955-1957, provavelmente representam o, sistema de programação comunidade desenvolveu legível por máquina mais antiga da existência. Assembler científica comercial da IBM (Programa Fortran II Assembleia, ou FAP) foi modelado após SAP.

Follow-on sistemas de computação científica, a lógica do tubo 709 e da lógica transistor 7030 (STRETCH) da IBM, 7090 e 7094, a maioria manteve a compatibilidade binária com o 704. AÇÃO passou a projetar todo um sistema operacional para o IBM 709 (Sistema Operacional SHARE, abreviado SOS) [Shell, DL, et al. A 709 Sistema Share. (seis artigos). Jornal do ACM , Vol. 6, N ° 2, 1959, pp. 123-155]. Para System / 360, IBM finalmente quebrou a compatibilidade de hardware e foi com uma solução de emulação para aplicações científicas mais velhos.

Os programas de ação foram distribuídos principalmente em forma de fonte BCD, mas algumas das rotinas estão em formato binário coluna. O desmontador irá converter 160 bytes de entrada padrão, o que representa uma imagem da coluna cartão de binário, em forma legível. O desmontador primeira imprime uma representação ASCII dos furos no cartão, seguida pela desmontagem binário.

Links Relacionados:


Atlas - um emulador 1103A para sistemas UNIX

Atlas é um emulador para o 1103A Scientific Univac. Além de implementar todos os 41 instruções básicas da CPU, incluindo repeat ( RPjnw ), Atlas também simula a funcionalidade do programa de interrupção. O emulador é executado como um programa interativo, linha de comando e interpreta o código de máquina 1103A binária armazenados na memória core / tambor simulado. As facilidades oferecidas pela emulação incluem a entrada directa do código de máquina em forma octal, pontos de interrupção, desmontagem, e passo a depuração manual. Entrada simulada / dispositivos de saída incluem um leitor de fita de papel, um soco fita de papel e uma máquina de escrever eletrônica.

O emulador é escrito em C e deve ser portátil a um grande número de sistemas UNIX. Ela exige um compilador que suporta dois C99 extensões ao padrão C89: 64 bit inteiros ( long long sem sinal ) e C ++ comentários -estilo ( // ). O emulador atualmente roda em Linux (gcc ou Intel cc para IA-32), SunOS (cc Sun ou gcc para SPARC) e Darwin (gcc para PowerPC).


Detokenizers básicos para a HP Series 80 e computadores pessoais Integral

Membro emérito da faculdade departamento veio ao redor de um dia com um "disco flexível 3,5 cheio de programas BASIC da Hewlett-Packard Personal Computer Integral . 1985 do PC Integral foi o último de uma linha de computadores pessoais produzidos pela Corvallis, divisão de Oregon de HP, que era o mais famoso para o desenvolvimento da mão calculadora programável produtos a partir de meados de 1970 a meados de 1990. os anteriores Series 80 estações de trabalho, por volta de 1980-1983, personalizados usados microcontroladores HP de 8 bits projetado originalmente para o mercado de calculadora, e inicializado diretamente em um interpretador BASIC via ROM como fizeram muitos computadores de 8 bits a partir dessa época. O PC Integral usou um 16-bit Motorola 68000 e inicializado em UNIX (HP-UX 5.x) a partir de uma bastante grande ROM 512k. A técnica básica pacote para o IPC foi projetado para ser fonte compatível com Series 80 BASIC.

O PC Integral formatado 77 cilindros em um disco. Eu era capaz de usar uma unidade de disquete padrão em um PC rodando Red Hat Linux, setfdprm (8) , ea seguinte / etc / fdprm entrada dd disquete para uma imagem de disco.

# HP Integral Personal Computer
hpipc  1386     9   2  77    0 0x2A 0x02 0xDF     0x50

Disk geração de imagem:

setfdprm /dev/fd0 hpipc
dd bs=9k count=77 if=/dev/fd0 of=disk.img

Uma vez na forma de uma imagem de disco, de Peter Johnson utilitários IPC compiladas numa 9000/782 estação de trabalho HP (C240) PA-RISC rodando Debian Linux foram usadas para extrair os arquivos individuais a partir de sistema de arquivos hierárquico do PC Integral. Qualquer máquina big endian teria trabalhado com utilitários de Pedro, que foram originalmente desenvolvidos nas Solaris rodando SPARC.

Como a maioria dos microcomputadores interpretadores BASIC de 1980, do PC Integral BASIC Técnico poderia SALVAR programas em forma de fonte ASCII, ou CONSERVAR -las no formato tokenized binário interno usado pelo intérprete. De mais de 130 programas no disco, apenas duas foram SALVAR d como ASCII. A velocidade de carregamento e compactação do formato binário tokenized fez a escolha lógica para fins de arquivamento.

Dois dos programas no disco foram arquivados tanto em ASCII e formato tokenized binário. Usando esses dois programas, e uma descrição do-85 HP BASIC formato original [NA Mills, HC Russell, KR Henscheid, "Enhanced linguagem BASIC para um computador pessoal", Hewlett-Packard Journal , vol. 31, No. 7, Julho 1980, p. 26]. os seguintes detokenizers foram escritos.

Esses interpretadores BASIC utilizada uma sintaxe notação polonesa reversa (RPN) internamente para cada linha no arquivo de origem. A saída detokenized é apresentado em um RPN detalhado com um sinal por linha, em vez de em notação infix com várias fichas por linha. Os opcodes mudado como o interpretador BASIC foi submetido a revisão e portar para cada nova máquina, de modo opcodes que aparecem em uma versão do detokenizer não necessariamente aparecem em outras versões. Conforme a natureza dos programas disponíveis no disco foi matemático, em vez de E / S relacionada, muitos dos códigos de operação I / O não são conhecidos. Os detokenizers estão longe de ser completa, mas fornecer uma saída suficiente para ser capaz de ler o código e comentários, e programas de portas para infix línguas notação sobre uma plataforma moderna.

Versões mais recentes do intérprete para as máquinas modelo posteriores não eram capazes de ler tokenized formato binário a partir de modelos anteriores. O método de migração de código suportado pela HP foi através ASCII SALVAR s e GET s.


Conversor de fontes de disco para os terminais da série VT200

Meu equipamento de computação doméstica apenas para mais de uma década foi um Equipamento Digital Corporation VT220 terminais compatíveis (a GraphOn 230) ligado a um modem. Como conjuntos de caracteres de 8 bits entrou em uso em meados da década de 1990, o terminal de hardware começaram a mostrar suas limitações. Este programa Perl converte uma fonte padrão 6x10 X Window System em Formato de Distribuição Bitmap (BDF) para DEC sixel gráfica e transfere a página superior para o terminal. O terminal pode, então, ser utilizado com qualquer um dos conjuntos de caracteres latino ISO padrão de 8 bits.

Origem: http://insar.stanford.edu/~lharcke/programming/