Mục lục

  1. PHẦN MỀM ĐIỀU KHIỂN
  2. CHUYỂN TẬP TIN
  3. MÃ NGUỒN
  4. PHIÊN BẢN UNIX
  5. CHUYỂN SANG MỘT NỀN TẢNG MỚI
  6. SỬA LỖI
  7. LỊCH SỬ CẬP NHẬT
  8. TẢI VỀ

EK ( Kermit Nhúng, E-Kermit) là một ứng dụng của giao thức chuyển đổi tập tin Kermit, viết bằng ngôn ngữ ANSI C và dùng để nhúng vào các thiết bị hoặc phần lõi. Mục đích là dùng trong các ứng dụng thời gian thực hoặc xây dựng cơ sở dữ liệu DLL hoặc các thư viện. EKSW là một phiên bản mới của E-Kermit có hỗ trợ giao thức cửa sổ trượt thực. EK và EKSW nên được tổng hợp lại thành một cơ sở code, nhưng hiện tại điều này chưa xảy ra.

E-Kermit có khả năng gì

EK chỉ có hai chức năng: gửi và nhận tập tin. Giao thức này gọn nhẹ và hoàn toàn chạy lại được. Trên SPARC (RISC), kermit.o nặng tầm 25K. Trên Intel (CISC) nó tầm 15K. Bằng cách giảm các kích cỡ đệm và loại bỏ tính năng thừa và phụ, ta có thể đạt được kích cỡ nhỏ hơn.

E-Kermit KHÔNG có khả năng gì

EK không bao gồm các tính năng máy chủ/máy khách; một ngôn ngữ lập trình hoặc điều khiển; chuyển đổi các bộ ký tự; mã hóa vận chuyển; hoặc bất kỳ phương thức giao tiếp hoặc quy trình nhập/xuất tập tin nào. Nó không liên kết với modem cũng như tạo kết nối. Nó không có sẵn các ngăn xếp TCP/IP hoặc giao diện dẫn đến ngăn xếp ngoại. Nếu bạn cần những tính năng này, bạn nên sử dụng chương trình đầy đủ của Kermit ví dụ như  C-Kermit hoặc Kermit 95.

Bản thân EK không phải là một ứng dụng, mà nó chỉ là một quy trình phụ của phần mềm chính. Nó chỉ thực sự hữu dụng với các kỹ sư phần mềm, và họ phải chuẩn bị phần mềm chính hoặc môi trường gọi biến cũng như các tập tin và quy trình giao tiếp nhập/xuất. Môi trường gọi biến cũng phải tạo ra và điều chỉnh kết nối giao tiếp nếu chưa có và nếu cần. Môi trường gọi biến mẫu và hỗ trợ nhập/xuất sẽ được cung cấp trong phiên bản Unix.

Khách hàng của chúng tôi đã tinh chỉnh EK cho thích ứng với nhiều môi trường và nền tảng, bao gồm Palm Pilot, nhiều loại thiết bị cho kỹ thuật viên (ví dụ như thiết bị chẩn đoán lỗi và bảo dưỡng tháp điện thoại), và đôi khi họ cũng cung cấp bản tinh chỉnh của họ hoặc quy trình nhập/xuất của họ. Chúng tôi có thể chia sẻ những phiên bản này, nhưng hoàn toàn ở dạng nguyên mẫu. Chúng tôi không thể hỗ trợ hoặc duy trì các dòng lệnh viết bởi người dùng; do vậy(ví dụ) nếu một phiên bản mới của EK được phát hành, các module do người dùng cung cấp có thể sẽ không được cập nhật. Các dòng lệnh được người dùng phát triển bao gồm:

  • Chuyển đổi hệ cho Microsoft Windows 9x/ME/NT/2000/XP/Vista/7 và nhập/xuất tập tin EK 1.3 trở về sau.
  • Wind River VxWorks cho EK 1.1.
  • EK 1.2 dịch sang ngôn ngữ Java.

EK bao gồm các tính năng sau trong Giao thức Kermit:

  • Gói tin dài
  • Cửa sổ trượt với khả năng hồi phục lỗi Go-back-to-N (tính năng lặp lại có chọn lọc ở trong EKSW).
  • Nén số lần lặp lại
  • Gán và bỏ gán tiền tố cho ký  tự điều khiển
  • Gán tiền tố cho bit thứ 8 (để chuyển dữ liệu 8 bit qua đường dẫn 7 bit) (= parity)
  • Gói tin thông số (loại, kích cỡ, và ngày)
  • Gửi và nhận nhiều hoặc một tập tin.
  • Chuyển đổi tự động giữa chế độ nhị phân và chế độ chữ theo từng tập tin.
  • Cả ba loại kiểm tra khối (checksum 6 bit và 12 bit, CRC 16 bit).
  • Báo cáo tình hình (hiện trạng giao thức, tên tập tin, kích cỡ, mốt thời gian, số byte đến hiện tại).
  • Hủy giao dịch, có thể được kích bởi bất kỳ bên nào.

Những tính năng thuộc Giao thức Kermit sau không được đưa vào:

  • Cửa sổ trượt với tính năng tái truyền có chọn lọc (trừ trong EKSW)
  • Bộ ký tự
  • Thay đổi khóa
  • Máy khách/máy chủ

Hết thời hạn kết nối là trách nhiệm của chương trình Kermit ở mấy bên kia hoặc, nếu bản thân E-Kermit cần, quy trình đọc gói tin phụ thuộc vào nền tảng mà bạn viết nên.

Từ phiên bản 1.5 về sau, E-Kermit bao gồm các cấu trúc tiền xử lý để giúp bạn loại bỏ các tính năng như gói thông tin dài, cửa sổ trượt, cửa sổ, và kiểm tra khối ở mức độ cao nhằm mục đích sử dụng càng ít bộ nhớ càng tốt, và cấu trúc này cũng có thể được sử dụng trong cấu hình Chỉ-nhận.

PHẦN MỀM ĐIỀU KHIỂN

EK được thiết kế để dùng trong một môi trường hợp tác đa nhiệm, nhưng nó không cần một môi trường như vậy. Chương trình điều khiển sẽ quản lý việc xếp lịch. Dưới đây là những gì phần mềm điều khiển phải (và/hoặc có thể) làm:

  • Nếu muốn, mở thiết bị giao tiếp, nếu có.
  • Nếu muốn, đưa thiết bị giao tiếp, nếu có, vào “chế độ gói dữ liệu”.
  • Kích hoạt cấu trúc Kermit với thông số hoạt động mong muốn.
  • Gọi hàm kermit(K_INIT, …) để Kermit tự kích hoạt.
  • Nếu đang gửi tập tin, gọi kermit(K_SEND) để bắt đầu chuyển giao.

(Khi E-Kermit được dùng để nhận tập tin, nó sẽ đợi gói dữ liệu đầu tiên từ người gửi tập tin; vậy nên nó sẽ đơn giản là gia nhập vòng lặp gói dữ liệu.) Trong vòng lặp gói dữ liệu, E-Kermit sẽ:

  • Tạo phần đệm và đọc dữ liệu đến trong đó.
  • Kiểm tra xem có bị người dùng gián đoạn.
  • Gọi lệnh kermit(K_RUN, …) để làm những bước tiếp.
  • Làm bất kỳ điều gì nó muốn  (ví dụ như chạy lệnh khác).
  • Thoát hoặc tiếp tục vòng lặp tùy theo lệnh trở về kermit().

Mỗi khi phần mềm điều khiển gọi hàm kermit(), nó sẽ được ủy quyền để giải quyết một gói dữ liệu; vậy nên một gói dữ liệu = một lát cắt thời gian. Nếu phần mềm điều khiển không còn gì để làm, nó sẽ xử lý các gói dữ liệu liên tục như một phần mềm Kermit bình thường. Khi đang ở trong vòng lặp chuyển giao dữ liệu, mọi lệnh gọi kermit() sẽ đưa ra cấu trúc bao gồm:

  • Hiện trạng của giao thức
  • Tên hiện tại của tập tin;
  • Kích cỡ tập tin nếu biết được, hoặc -1;
  • Mốc thời gian của tập tin, nếu biết;
  • Số byte đã chuyển đến hiện tại.

Khi đã xong, phần mềm điều khiển sẽ:

  • Khôi phục và đóng (nếu muốn) thiết bị liên lạc.

Những hàm mà phần mềm điều khiển có thể gọi bằng lệnh kermit() bao gồm:

K_INIT   — Kích hoạt kiến trúc dữ liệu.

K_SEND   — (Chỉ dùng khi gửi) — Kích hoạt gửi dữ liệu.

K_RUN    — Chạy giao thức.

K_STATUS — Trả lại bảng thông báo tình hình ở cấu trúc k_response.

K_QUIT   — Thoát ngay lập tức.

K_ERROR  — Gửi gói dữ liệu Error xong thoát.

Lệnh trả về của hàm kermit() gồm:

X_OK     — OK, giao thức đã kích hoạt.

X_DONE   — OK, giao thức hoàn thành.

X_ERROR  — Lỗi nghiêm trọng.

X_STATUS — Trích xuất hiện trạng nhằm trả lời cho K_STATUS.

(Thật ra hiện trạng được trích xuất trong mỗi cuộc gọi) Mã hiện trạng của giao thức bao gồm:

-1       — Lỗi nghiêm trọng

 0       — Người nhận (giao thức không hoạt động)

 1       — Người nhận đang đợi gói dữ liệu S

 2       — Người nhận đang đợi gói dữ liệu F hoặc B

 3       — Người nhận đang đợi gói dữ liệu A hoặc D

 4       — Người nhận đang đợi gói dữ liệu D hoặc Z

10       — Người gửi (giao thức không hoạt động)

11       — Người gửi gửi gói S (bắt đầu)

12       — Người gửi gửi gói F (tên tập tin)

13       — Người gửi gửi gói A (giá trị)

14       — Người gửi gửi gói D (dữ liệu)

15       — Người gửi gửi gói Z (EOF)

16       — Người gửi gửi gói B (EOT)

CHUYỂN TẬP TIN

Vì EK được thiết kế chủ yếu cho phần mềm nhúng, nó không dùng chức năng chạy trực tiếp dữ liệu hoặc (trừ trường hợp EKSW) cửa sổ trượt thực (dẫu vậy, đa phần các dòng lệnh của tính năng cửa sổ trượt vẫn còn). Đây là lý do vì sao:

  • Sử dụng giao thức thông thường  ACK/NAK sẽ giúp phần mềm điều khiển nắm quyền lại sau mỗi gói dữ liệu. Điều này giúp nó đảm nhận đa nhiệm vụ, hiển thị quá trình chuyển đổi tập tin, hoặc bất kỳ điều gì. Chạy trực tiếp hoặc sử dụng cửa sổ trượt sẽ khiến phần mềm điều khiển không sử dụng được trong một quãng dài.
  • Chạy trực tiếp dữ liệu hoặc sử dụng cửa sổ trượt sẽ khiến giao diện giữa phần mềm điều khiển và module kermit() trở nên phức tạp hơn nhiều. Thực tế là điều này sẽ khiến các chi tiết của giao thức bị đẩy vào không gian của phần mềm điều khiển, nơi chúng không thuộc về.
  • Chạy trực tiếp dữ liệu thường cần đến kết nối vững vàng (ví dụ như TCP/IP) nhưng các thiết bị với giao tiếp nhúng thường dùng cổng nối tiếp.

Việc EK thiếu tính năng cửa sổ trượt thực được bù đắp bằng việc khiến EK giả vờ hỗ trợ chúng mà không thực sự làm vậy. Điều này giúp cho các bên gửi “phát trực tiếp” gói dữ liệu thay vì đợi ACKs sau mỗi gói, miễn là không có lỗi xảy ra. Nếu có lỗi xảy ra, chiến thuật phục hồi sẽ là “quay lại n” (hoặc “error out” trong một số trường hợp) thay vì “lặp lại có chọn lọc”. EKSW, một phần mềm tách biệt không tích hợp kèm EK (nhưng nên vậy), có hỗ trợ cửa sổ trượt thực với lặp lại có chọn lọc; nghĩa là chỉ những gói dữ liệu cần thì mới được gửi lại.

Nói tóm lại là vì EK được thiết kế đa phần cho phần mềm nhúng nên chậm trễ trong các vòng gửi-nhận tập tin sẽ không là một nhân tố đáng kể; kết nói thường chỉ ở mức cục bộ, nhanh, ngắn, và nếu được điều hành hiệu quả, không có lỗi. Khi điều hành không hiệu quả, tốc độ và/hoặc kích thước gói dữ liệu và/hoặc kích cỡ cửa sổ có thể được tinh chỉnh lại theo giá trị nhất định dể tối ưu hóa hiệu quả và giảm thiểu mất dữ liệu.

MÃ NGUỒN

Các tập tin nguồn bao gòm:

platform.h

Tập header cho các định nghĩa dành riêng cho các nên tảng khác nhau (nếu cần). Dù có rỗng thì đây là tập tin thiết yếu, vì kermit.c bao gồm nó.

kermit.h

Tệp header cho các module. Chứa định nghĩa của cấu trúc k_data và k_response.

kermit.c

Đây là engine chính của giao thức Kermit. Động lực duy nhất của nó là các dữ liệu nó chứa. Tất cả thông tin trạng thái sẽ được lưu ở cấu trúc dữ liệu Kermit. Các thông tin trạng thái này sẽ được truyền theo tham chiếu từ module chính đến các tính năng khác trong module kermit, rồi về lại module này. Vậy nên một module có thể chuyển nhiều tập tin cùng một lúc trên nhiều hệ kết nói khác. Ngoài ra, không có thư viện tham chiếu nào trên module của Kermit, kể cả stdio (trừ khi đang mở chế độ sửa lỗi), và không có tập tin header /usr/include/* đi kèm. Luật lệ dành riêng cho kermit.c:

  • Không biến toàn cục (trừ khi sửa lỗi) hoặc bộ đệm.
  • Không kích hoạt mảng bằng trình biên dịch.
  • Để an toàn, không kích hoạt biến vô hướng.
  • Không gọi thư viện hoặc hệ thống, không dùng hàm #include <…>.
  • Mọi giao tiếp nhập/xuất sẽ được thực hiện bằng các hàm được định dạng ở module tách biệt.

Điểm bắt đầu duy nhất của module kermit.c là hàm kermit():

int kermit(struct k_data * k, struct k_response * r)

Cấu trúc k chứa tất cả những thông số vận hành, biến, thông tin thể trạng, và bộ đệm; cấu trúc r sẽ giúp người gọi biết hiện trạng của giao thức, tên và thông tin tập tin, và tiến độ chuyển giao (byte đã chuyển).

main.c

Phần mềm điều khiển mẫu. Trong môi trường thử Unix, nó chỉ là hàm truyền thống main(), dùng để đọc các điều kiện trong dòng lệnh điều khiển, kích hoạt giao thức, rồi gọi module của giao thức theo vòng lặp phụ thuộc vào hiện trạng, rồi dọn dẹp lại. Trong môi trường nhúng, các tính năng này sẽ được tích hợp trong phần mềm điều khiển.

unixio.c

Các hàm nhập/xuất của Unix. Thay bằng module của bạn mà có tích hợp các hàm này vào môi trường mong muốn và thay đổi quá trình xây dựng của bạn để liên kết với nó. Khởi điểm và quy ước gọi tên sẽ được mô tả ở dưới.

PHIÊN BẢN UNIX

EK được phát triển trên nền tảng Unix thông thường, ví dụ như Mac OS, AIX, Solaris, HP-UX, … hoặc, dạo gần đây, một biến thể của BSD và Linux. Trên các nền tảng này thì EK được cấu tạo như một phần mềm chuyển tập tin từ xa, tương tự như G Kermit, và đã được kiểm nghiệm so sánh với Kermit trên máy bàn như K95 hoặc C-Kermit. LƯU Ý: Phiên bản Unix vẫn hoạt động với stdin/stdout; các “hàng” được cấu tạo theo hướng khó sử dụng nhất có thể (system(“stty …”)). Điều này dẫn đến kết quả khá khác biệt; ví dụ: tải tập tin bằng EK trên hệ Solaris có thể chỉ đạt tốc độ 17Kcps, trong khi đó dùng cùng mạng cùng máy nhưng trên hệ Linux có thể đạt 1700Kcps. Điều này không đáng lo lắm vì vốn EK không được dùng cho mục đích sản xuất trên hệ Unix, vốn đã có G-Kermit và C-Kermit cho mục đích này.

Makefile của Unix bao gồm những mục tiêu sau (it’s easy to add more):

gcc:   Cấu tạo với gcc (mặc định).

cc:    Cấu tạo với cc.

hp:    Cấu tạo với HP-UX.

gccnd: Cấu tạo với gcc, không sửa lỗi.

gprof: Cấu tạo với gcc, bao gồm liệt kê tính chất.

clean: Loại bỏ đối tượng và tập tin chủ đạo.

Makefile này sẽ tạo nên một tệp thực thi trên Unix tên là “ek” (kermit nhúng). Quy trình mẫu main() sau cung cấp bảng hiển thị lệnh điều khiển đơn giản:

$ ./ek -h

Usage: ./ek options [cách dùng]

Options: [Lựa chọn]

 -r           Receive files [Nhận tập tin]

 -s files     Send files [Gửi tập tin]

 -p [neoms]   Parity: none, even, odd, mark, space [Số chẵn hoặc lẻ]

 -b [123]     Block check type: 1, 2, or 3 (default = 3) [Loại test kiểm tra khối]

 -k           Keep incompletely received files [Giữ tập tin chưa nhận đủ]

 -B           Force binary mode [Ép vào chế độ nhị phân]

 -T           Force text mode [Ép vào chế độ chữ]

 -R           Remote mode (vs local) [Chế độ điều khiển từ xa]

 -L           Local mode (vs remote) [Chế độ điều khiển cục bộ]

 -E number    Simulated error rate (0-100) [Tỉ số lỗi giả lập]

 -d           Create debug.log [Tạo tập tin debug.log]

 -h           Help (this message) [Hỗ trợ]

$

Khi gửi tập tin, nếu bạn không định dạng cụ thể là nhị phân hay chữ, EK sẽ quét từng tập tin và dùng dạng chữ hoặc nhị phân theo nội dung từng tập.

Chế độ điều khiển từ xa và chế độ cục bộ chỉ được dùng để kích hoạt khả năng ngăn quy trình chuyển tập tin bằng bàn phím.

THAY ĐỔI THÍCH ỨNG VỚI MỘT NỀN TẢNG KHÁC

Phiên bản 1.0 của EK đã được thay đổi thích ứng với VxWorks bởi Airvana, Inc, Chelmsford MA. Gói chương trình VxWorks EK 1.1 toàn diện đã được đính kèm theo đây để làm ví dụ cho một chương trình sản xuất, với sự cho phép của Airvana (lưu ý rằng API của EK đã thay đổi kể từ lúc viết bài, nên trước khi bạn dùng mã VxWorks, bạn phải cập nhật nó). Để thay đổi thích ứng với một nền tảng khác:

  • Tạo một makefile mới cho nền tảng đích, hoặc viết nên quy trình cấu tạo của riêng bạn.
  • Tạo một tập tin platform.h cho nền tảng của bạn. Tập tin này có thể bao gồm các định nghĩa cần thiết, và nó cũng có thể chép đè lên một số định nghĩa gốc ở trong kermit.h:
    #define NODEBUG để xây dựng phần mềm không chứa lệnh sửa lỗi.
    #define HAVE_UCHAR nếu UCHAR đã được định nghĩa hoặc typedef’d các dữ liệu char không dấu.
    #define HAVE_ULONG nếu ULONG đã được định nghĩa hoặc typedef’d các dữ liệu long không dấu.
    #define IBUFLEN để định ra kích cỡ mong muốn của bộ đệm tập tin vào.
    #define OBUFLEN để định ra kích cỡ mong muốn của bộ đệm tập tin ra.
    #define FN_MAX để định ra số ký tự tối đa của tên tập tin.
    #define P_PKTLEN để chép đè lên kích thước tối đa của gói dữ liệu.
    #define P_WSLOTS để chép đè lên số chỗ tối đa trong cửa sổ.
  • Thay tập tin mẫu main.c bằng phần mềm điều khiển của riêng bạn. Dùng cùng tập tin header và quy ước gọi như trong mẫu.
  • Sao chép unixio.c đến xxxio.c (tự đặt tên theo ý bạn), tinh chỉnh lại tập tin để nó tương thích với nền tảng mới, và thay đổi lại quy trình cấu tạo để nó liên kết với module xxxio thay vì unixio. Lưu ý rằng bộ đệm dành cho tập tin vào và tập tin ra (i_buf[] and o_buf[]) phải được định dạng trong quy trình xxxio.

Dưới đây là một số mẹo khi bạn tạo một module nhập/xuất:

Thiết bị thực hiện nhập/xuất sẽ được giao vai trò tự đảm nhiệm các thông số liên lạc, bao gồm tốc độ dẫn truyền thông tin, tính chẵn-lẻ, và điều hành quy trình. Đặc biệt, Kermit sẽ không đảm nhiệm tính chẵn lẻ, nhưng vẫn phải biết về nó. Bạn có thể làm điều này trong bước cài đặt thông qua main(). Quy trình readpkt() nên loại bỏ tính chẵn lẻ và tx_data() nên loại thêm nó vào nếu cần. Trên nền mạng nối tiếp, có thể lập trình để UART đảm nhiệm việc này.

Thay đổi trong API giữa EK 1.1 và  1.2: Quy ước gọi tên (danh sách đối số trong hàm và giá trị cho ra) đã được thay đổi giữa hai phiên bản 1.1 và 1.2, chủ yếu để tất cả các quy trình đều tiếp cận được cấu trúc K một cách nhất quán, cũng như là để người gọi nhận được phản hồi tốt hơn. Trong trường hợp đã có thay đổi giữa các phiên bản, cả định dạng cũ lẫn mới sẽ được hiển thị.

Các hàm nhập/xuất của thiết bị bao gồm:

int

devopen(char * device)

Mở thiết bị giao tiếp đã chọn. Có thể cũng là chủ của mạng lưới. Trả kết quả 0 nếu thất bại, 1 nếu thành công.

int

devsettings(char * settings)

Lệnh này sẽ điều khiển các thông số kỹ thuật cần thiết của thiết bị, ví dụ như tốc độ và quy trình chạy của một thiết bị nối. Vì không có cách nào để biết chính xác các thông số liên quan là gì, quy trình này sẽ lấy một chuỗi ở bất kỳ định dạng nào, ví dụ “9600;8N1” hoặc “speed=57600;flow=rts/cts”; quy trình devsettings sẽ phân tích các thông số đó. Trả số 0 nếu thất bại, 1 nếu thành công.

int

devrestore(void)

Nếu muốn, trả thiết bị về nguyên dạng lúc devsettings() kích hoạt, ví dụ như trước lúc đóng nó.

int

devclose(void)

Đóng thiết bị liên lạc.

int

readpkt(UCHAR * buffer, struct k_data * k) (1.1)

readpkt(struct k_data * k, UCHAR * buffer, int length) (1.2)

Quy trình này phải làm đúng chính xác những gì quy trình mẫu làm: tìm khởi nguồn của gói dữ liệu, sau đó sao chép tất cả ký tự cho đến (nhưng không bao gồm) đuôi của gói vào bộ đệm dữ liệu, với địa chỉ đã cho trước. Bạn cần phải viết lệnh này càng hiệu quả càng tốt, và dùng bất kỳ mánh nào bạn biết như: đọc đệm không chặn, v.v. Nếu bạn muốn chương trình Kermit của bạn phải chờ đợi phản hồi, đây là chỗ để gắn dòng lệnh đó. LƯU Ý: Không cần thiết phải gián đoạn để chờ đợi phản hồi, vì khả năng đối tác Kermit của EK không thể chờ đợi phản hồi là 0%. Định dạng EK 1.2 đặt k làm đối số đầu để nhất quán với các quy trình khác, và định dạng này cũng đã thêm đối số cho kích thước bộ đệm.

Lưu ý cho tính năng F_CTRLC. Tính năng này mặc định sẽ được bật. Nó cho phép EK bức phá ra khỏi chế độ gói dữ liệu bằng cách gửi cho nó ba lệnh Ctrl-C liên tiếp vào dòng dữ liệu. Thông thường thì bạn không cần phải tắt tính năng này, vì dù người gửi đang “bỏ gán tiền tố” Ctrl-C, ba lệnh liên tục thường sẽ được gom thành một chuỗi đếm lặp.

int

tx_data(UCHAR * data, int length, short parity) (1.1)

tx_data(struct k_data * k, UCHAR * data, int length) (1.2)

Ở đây bạn lại phải giải quyết vấn đề chẵn lẻ (nếu nó chưa được giải quyết tự động bằng phương tiện liên lạc hoặc trình điều khiển thiết bị). Quy trình này cần phải hiệu quả và chắc chắn. Nó được dùng để truyền tải toàn bộ chuỗi dữ liệu, hoặc không sẽ thất bại. Tham khảo mẫu unixio.c để biết thêm chi tiết về độ chắc chắn. Ở EK phiên bản 1.2 trở về sau, tính chẵn lẻ được xác định từ cấu trúc k .

Các hàm nhập/xuất của tập tin bao gồm; dĩ nhiên là chúng có thể được dùng để đọc bất kỳ thức gì — không chỉ là tập tin: bộ nhớ, băng, các loại thẻ, tia laser, bộ điều khiển thiết bị, bất kỳ thứ gì. Bạn gọi những quy trình này là gì không quan trọng, nhưng danh sách đối số và loại kết quả trả lại phải đúng như mẫu; ngoài ra, nếu bạn đặt tên khác cho chúng, bạn cần phải đổi mẫu đầu tiên trong kermit.h:

int

openfile(UCHAR * filename, int mode, struct k_date * k) (1.1)

openfile(struct k_date * k, UCHAR * filename, int mode) (1.2)

Mở tập tin đã đặt tên trong chế độ đã định  (1 = đọc, 2 = chép, 3 = gọi tên). Trả lại kết quả X_OK khi thành công, X_ERROR khi thất bại.

ULONG

fileinfo(UCHAR * filename, UCHAR * buf, int buflen, short * type, short mode) (1.1)

fileinfo(struct k_data * k,UCHAR * filename,UCHAR * buf,int buflen,short * type,short mode) (1.2)

Lấy thông tin về một tập tin cục bộ cụ thể: kích cỡ, ngày tháng, và , nếu mode == 0, loại tập tin (chữ hoặc nhị phân). buf và buflen áp dụng cho chuỗi ngày/tháng của tập tin. Trả kết quả X_OK hoặc X_ERROR.

int

readfile(struct k_data *)

Đọc một phần đệm từ tập tin vào và, nếu quy trình chuyển giao đang ở chế độ chữ, chuyển định dạng ghi chép sang Kermit Stream CRLF tiêu chuẩn. Trả lại kết quả X_OK hoặc X_ERROR.

int

writefile(struct k_data *, CHAR * buffer, int length)

Viết một phần đệm cho tập tin ra, và nếu quy trình chuyển giao ở chế độ chữ, chuyển định dạng ghi chép tiêu chuẩn Kermit Stream CRLF sang định dạng yêu cầu cục bộ. Trả lại kết quả X_OK hoặc X_ERROR.

int

closefile(struct k_data *, UCHAR code, int mode)

Đóng tập tin. Với tập tin xuất, dĩ nhiên là lệnh này sẽ hủy bỏ mọi dữ liệu đệm còn chờ trong tập tin trước khi đóng; sau đó nó sẽ kiểm tra xem máy Kermit gửi có hủy chuyển giao tập tin trước khi nó hoàn thành không (mã == ‘D’). Trong trường hợp này nó sẽ xóa tập tin khuyết thay vì giữ nó. Phần chế độ sẽ xác định đây là tập tin nhận hay tập tin xuất, nên các tập tin khuyết có thể được xóa nếu muốn. Trả lại kết quả X_OK hoặc X_ERROR.

Quy ước gọi tên chính xác sẽ được hiển thị trong tập tin unixio.c.

SỬA LỖI

Nếu EK được thiết kế mà NODEBUG không được định dạng, thì bạn có thể thêm lựa chọn -d vào dòng lệnh điều khiển. Bản mẫu dựa trên hệ Unix của EK sẽ tạo tập tin debug.log tại thư mục hiện tại của nó. Trong phiên bản sản xuất, bạn có thể thêm dòng -DNODEBUG vào trình biên dịch C CFLAGS để hủy bỏ chế độ sửa lỗi. Các kích cỡ trên đã bao gồm chế độ sửa lỗi. Bạn có thể xây dựng chế độ sửa lỗi tùy theo  ý bạn muốn trong các module nhập/xuất phụ thuộc vào nền tảng.

LỊCH SỬ PHÁT HÀNH

Phiên bảnNgày thángMô tả
1.12002/10/07   Phiên bản phát hành đầu tiên. Phiên bả VxWorks vẫn ở mức độ này.
1.22003/01/28Phát triển API, bản thích ứng Java (vẫn ở mức độ này).
1.32004/03/04Sửa lỗi chuyển giao tập tin với HyperTerminal.
1.42004/03/20Sửa lỗi nhận tập tin rỗng.
1.52004/04/10Sửa lỗi với các gói dữ liệu A, cho phép các cấu hình siêu nhỏ hoặc/và chỉ-nhận.
1.512004/09/23Thích ứng với Philips XAG30 (John Dunlap)
EKSW 0.942010/06/24Cửa sổ trượt thực với chế độ truyền lại có chọn lọc (John Dunlap)
1.62011/03/30Phát hành dưới giấy phép 3-Clause Revised BSD License.
1.72011/06/06Giao thức FORCE-3, làm việc chung với C-Kermit 9.0 (giải thích ở đây)
1.82021/06/26Sửa lỗi với đối số -B và -T tại dòng điều khiển (chỉ trên bản dùng thử Unix)

TẢI VỀ

Có nhiều phiên bản ứng dụng E-Kermit khác nhau để bạn tải về. Bản thân E-Kermit phiên bản 1.8 là bản chính. Phiên bản 1.7 vẫn còn tải được. Những bản khác là phiên bản thích ứng cho các nền tảng hoặc ngôn ngữ khác trươc khi E-Kermit được phát hành, như đã đề cập ở các mục trước; nói cách khác, những bản vá lỗi trong E-Kermit 1.3, 1.4, and 1.5 sẽ không tòn tại trong bản VxWorks hoặc Java, và phiên bản VxWorks dùng API E-Kermit 1.1 thay vì API tốt hơn ở bản 1.2. EKSW có chỉnh sửa đôi chút API và một số điểm thiếu nhất quán mà bạn phải gỡ ra trước khi nó được tích hợp vào EK 1.6, nhưng nó hoàn toàn có thể chạy độc lập. Thật ra, đây là phiên bản chạy thế hệ mới của Apex-EM ocean floats và đã được kiểm định ở nhiều điều kiện bất lợi hơn có thể nói là bất kỳ phiên bản ứng dụng khác của giao thức Kermit. Phiên bản này đã hỗ trợ xây dựng nên phiên bản 1.7, với giao thức kiểm lỗi từng gói dữ liệu mới Force-3. (Trong tương lai, EKSW nên có thêm tính năng này.)

Original article: https://www.kermitproject.org/ek.html

Jak znaleźć najsłabsze ogniwo procesu rozpoznawania ludzi


Streszczenie


Rozpoznawanie ludzi jest popularnym, ale i stanowiącym wyzwanie problemem obszaru rozpoznawania obrazów (widzenia komputerowego). W tym artykule przeanalizujemy modele oparte na rozpoznawaniu fragmentów służące wykrywaniu ludzi w celu ustalenia które z elementów łańcucha procesu mogą mieć największy pozytywny wpływ na ten proces, jeśli zostaną poprawione i usprawnione. Dokonamy tego poprzez przeanalizowanie różnych algorytmów wykrywania stworzonych z kombinacji działań wykonywanych przez czynniki ludzkie i maszynowe. Model oparty na rozpoznawaniu fragmentów może być rozbity na cztery najważniejsze składowe: wykrycie cechy, wykrycie fragmentu, scoring przestrzenny fragmentu oraz rozumowanie kontekstualne włączając w to niecałkowite wytłumienie. Nasze eksperymenty wykazały, iż najsłabszym ogniwem łańcucha detekcji postaci ludzkich jest faza wykrywania fragmentów. Niecałkowite wytłumienie i wyszukiwanie kontekstowe mogą znacząco wzmocnić efektywność procesu.  Z drugiej strony, użycie modeli przestrzennych, ludzkich lub maszynowych nie zwiększa skuteczności detekcji w sposób znaczący. 


Motywacja


Detekcja osób jest ważnym acz otwartym i skomplikowanym procesem w widzeniu komputerowym (computer vision). W ostatnim czasie dokonał się znaczący postęp w zakresie algorytmów wykrywania osób. Związany on jest z użyciem modeli rozpoznawania opartych na fragmentach (częściach) Badacze problemu zgłębiali różnorodne reprezentacje cech obrazów, modele identyfikacji części, skomplikowane modele przestrzenne konfiguracji obiektów, jak również mniej-niż-maksymalne wytłumienie i modele kontekstowe. Każde z tych podejść charakteryzuje się złożonym zestawem współzależnych komponentów, zapewniających właściwy rezultat finalny (czyli rozpoznawanie osób). Podczas gdy zwiększenie złożoności procesu skutkuje lepszymi rezultatami w zakresie rozpoznawania, zrozumienie roli poszczególnych komponentów procesu jest niełatwym zadaniem. 


Propozycja studium


Proponujemy dokonanie szczegółowej analizy modeli opartych na rozpoznawaniu fragmentów w celu określenia, które z elementów składowych procesu charakteryzują się największym potencjałem poprawy (usprawnienia). Cel ten zostanie osiągnięty poprzez użycie podmiotów ludzkich do przeprowadzenia działań uprzednio wykonywanych przez algorytm maszynowy. Na przykład, zamiast użycia maszynowego klasyfikatora takiego jak utajona maszyna wektorów nośnych („latent SVM”) zorientowaną na histogram gradientów zorientowanych (HoG) w celu wykrycia części (fragmentów) obiektu, użyjemy podmiotów ludzkich w celu ustalenia, czy niewielkie fragmenty obrazu zawierają np. ludzką głowę, tułów, stopę, etc. Graficzna ilustracja zadań wykonywanych przez podmioty ludzkie w tym zakresie znajduje się poniżej:


Eksperyment i jego rezultaty


W tej części dokonamy oceny różnych algorytmów wykrywania (patrz niżej) będących kombinacjami czynności wykonywanymi przez podmioty ludzkie lub ich maszynowe odpowiedniki.  

Porównanie pomiędzy poszczególnymi podklasami algorytmów pozwoli nam na ocenę wpływu każdego z elementów procesu w modelu opartym o rozpoznawanie fragmentów na końcowy rezultat procesu. Podsumowanie rezultatów otrzymanych za pomocą zestawów danych PASCAL 2007 oraz INRIA znajduje się poniżej, natomiast w celu zapoznania się z pełnymi rezultatami porównań należy skorzystać z linku do artykułu. Widać jednoznacznie, iż proces rozpoznawania fragmentów (części) jest najsłabszym elementem procesu wykrywania osób. Również zastosowanie mniej-niż-maksymalnego wytłumienia wpływa w sposób istotny na rezultat procesu. Z drugiej strony, użycie modeli przestrzennych, czy to ludzkich czy maszynowych nie wpływa znacząco na dokładność wykrywania. 


Zbiór danych łatek części


Spośród wielkiej ilości danych ludzkich zebranych w czasie naszych eksperymentów, poniżej przedstawiona klasyfikacja może być, jak się wydaje, szczególnie interesująca dla społeczności. 

Biorący w badaniu uczestnicy przyporządkowali nakładające się na siebie fragmenty obrazów (“łatki”) do jednej z ośmiu kategorii: głowa, tułów, ramię, dłoń, noga, stopa, inna część osoby, nie-część-osoby. Fragmenty (“łatki”) zostały wyekstrahowane z 50 INRIA i 100 PASCAL (2007) obrazów, a następnie przedstawione w losowej kolejności, w celu pozbawienia informacji kontekstowej. Łaty zostały wyekstrahowane zarówno z obrazów o wysokiej rozdzielczości, jak i z wersji tychże obrazów o niskiej rozdzielczości.   Przed wyodrębnieniem łat, obrazy, zarówno te o niskiej, jak i te o wysokiej rozdzielczości zostały przekształcone w trzy grupy: kolorowe (rzeczywiste kolory), w skali szarości oraz jako znormalizowany gradient szarości. W rezultacie otrzymano 45,316 x 6 = 271,896 łatek. 10 ludzkich uczestników dokonało ich klasyfikacji do jednej z 8 kategorii za pomocą Amazon Mechanical Turk (platforma crowdsourcingowa dla wykonywania prostych zadań). 

Wycinek tak pogrupowanych danych widoczny jest poniżej  I pokazuje przykładowe łatki klasyfikowane przez większość uczestników jako głowa, tułów, noga lub „żadne z nich”.  

Analogicznie, 10 ludzkich uczestników sklasyfikowało zachodzące na siebie pod-okna obrazów. (razem 6,218 x 6 = 37,308 okien) jako zawierające lub niezawierające obraz osoby (analogicznie do wykrywania „źródła”). Tak samo jak w przypadku części (fragmentów), pod-okna zostały podzielone wg rozdzielczości (wysoka – niska) oraz wg kolorów (pełen kolor, odcienie szarości, znormalizowany gradient). 

Powyżej opisane klasyfikacje części (łatek) I źródeł (okien) udostępnione są jako zbiór danych łatek części. 


Wizualizacje


Kolejny zestaw naszych prac studialnych z wykorzystaniem podmiotów ludzkich zakłada, iż biorący w studium ludzie będą identyfikować osoby wykorzystując wcześniej określony zestaw łatek części. Części te mogą być wykrywane przez ludzi lub maszynowo. Aby zapewnić, iż żadne inne informacje nie zostaną użyte w procesie wykrywania, stworzone zostały wizualizacje, które pokazują zidentyfikowane części, ale nie zawierają żadnej innej informacji o obrazie. Przykład takiej wizualizacji przedstawiony jest poniżej. 

** Verte ** Wizualizacje niektórych obrazów wykorzystujących części rozpoznane przez ludzi i przez maszyny można obejrzeć tutaj: INRIA_50  PASCAL2007_100. Pierwsze sześć kolumn przedstawia części rozpoznane przez ludzi (wysoka rozdzielczość: pełen kolor, skala szarości, znormalizowany gradient, niska rozdzielczość: pełen kolor, skala szarości, znormalizowany gradient), ostatnia kolumna przedstawia części rozpoznane maszynowo, przedstawione w wysokiej rozdzielczości, z wykorzystaniem algorytmów opisanych w  Felzenszwalb et al. 2010. W przypadku części rozpoznanych przez ludzi kolory odpowiadają różnym częściom ciała (czerwony: głowa, zielony: tułów, niebieski: ramię, żółty: dłoń, magenta: noga, cyjan: stopa, biały: źródło (osoba), czarny: żadne z powyższych). Każda łatka przedstawiona jest w kolorze, który uzyskał największą aprobatę wśród 10 osób biorących udział w studium. Intensywność koloru odpowiada liczbie podmiotów składających się na daną klasę. W przypadku części identyfikowanych maszynowo, kolory przypisywane są odgórnie a intensywność koloru odpowiada liczbie wykrytych fragmentów.


Wsparcie


Powyższy materiał oparty jest na pracach częściowo wspartych finansowo przez National Science Foundation w ramach Grantu Nr. 1115719. Wszelkie opinie, wnioski, podsumowania I rekomendacje zawarte w materiale są wyrazami opinii autorów I niekoniecznie odzwierciedlają poglądy prezentowane przez National Science Foundation. 

Original article: https://faculty.cc.gatech.edu/~parikh/person_detection.html

Przedostatnie Modułowe Origami

Wprowadzenie

Konstruowanie modułów

Konstruowanie wielościanów

FAQ: Dodatkowe informacje na temat łączenia modułów


Wprowadzenie

To jest opis sposobu wykonania wielościanu z tzw. przedostatniego modułu. Moduł ten został pierwotnie opisany w książce Jay Ansilla Lifestyle Origami (Origami jako styl życia) w której przypisuje opracowanie tego modułu Robertowi Neale. Ominąłem instrukcję łączenia tych modułów – kupcie książkę lub spróbujcie sami odkryć sposób łączenia. Jest to zresztą dość oczywiste. Konstrukcja modułu pięciobocznego (pentagonalnego) jest przytoczona dosłownie z książki (aczkolwiek uważam że łatwiej jest pracować z papierem o proporcjach 3×4 niż 4×4), inne są moimi własnymi opracowaniami. 

Uwaga na temat cięcia i klejenia Moduły trójkątny i kwadratowy są przedstawione jako wymagające cięć. Nie są one jednak konieczne – zawinięcie końców do wewnątrz pozwoli osiągnąć ten sam cel (np. jeśli karty, które umieszczacie wewnątrz są zbyt długie lub zbyt szerokie). W przypadku zaginania do wewnątrz może się zdarzyć, iż element będą zbyt grube i potrzeba będzie więcej wysiłku i cierpliwości aby połączyć moduły. Może się zdarzyć, że zbudowany wielościan będzie mniej stabilny. W każdym razie, wybór należy do was. Jeśli zależy ci bardziej na czystości formy niż stabilności wielościanu, jest to możliwe do osiągnięcia. Ze swojej strony rekomenduję dwunastościan foremny lub dwudziestościan ścięty jako doskonałe modele, stabilne nawet bez zastosowania cięcia i klejenia. 

Taka metoda tworzenia modułów pozwala na liczne wariacje, poza pokazanymi tutaj. Wszystko, czego potrzebujecie to kalkulator z możliwością obliczania funkcji trygonometrycznych. Poza wielościanami wypukłymi i wielościanami półforemnymi (w rozumieniu Archimedesa) stworzyłem również wiele innych: dwunastościan rombowy, trzydziestościan rombowy, różne pryzmaty i antypryzmy, ośmiościan gwiaździsty, małe i wielkie dwunastościany gwiaździste, złożenie pięciu czterościanów, złożenie pięciu ośmiościanów. Jeśli jesteście zainteresowani, mogę przesłać opisy takich modułów, jednak prawdopodobnie zajmie mi to trochę czasu. Rysunki większości z nich są dostępne pod adresem ___.

Numeracja wielościanów półforemnych (archimedejskich) przywołana poniżej jest zaczerpnięta z książki Fuse’go Unit Origami (Elementy Origami). Również publikacja Kasahary i Takahamy Origami for the Connoisseur (Origami dla koneserów) posiada rysunki takich wielościanów, lecz z inną numeracją.

Nie zamieściłem tu modułów odnoszących się do ośmiościanów i dziesięciościanów. Tworzyłem moduły oktogonalne, ale są one zazwyczaj dość wątłe, co oznacza że skonstruowany wielościan nie przeżyje kontaktu z domowym kotem bez wzmocnienia klejem. Jeśli nie odkryjecie sami, jak konstruować moduły ośmio- i dziesięciościenne, proszę o wysłanie maila, a udostępnię odpowiednie diagramy. 

Jeśli jesteście zainteresowani wielościanami, pragnę zarekomendować lekturę Polyhedron Models (Modele wielościanów) Wenningera, Holdena Shapes, Space and Symmetry (Kształty, przestrzeń i symetria), a dla poznania bardziej matematycznego punktu widzenia Coxetera Regular Polytopes (Wielościany regularne). Jest również strona internetowa z pięknymi odwzorowaniami wielościanów regularnych pod adresem___.

Informacje na temat modułowego origami można znaleźć w wielu książkach na temat origami. Szczególnie warte plecenia są tu wzmiankowane powyżej pozycje Fusego i  Kasahary, jak również Gurkewitza 3-D Geometric Origami (Trójwymiarowe Origami) oraz Kusudama  autorstwa Yamaguciego. Jeannine Mosely opracowała błyskotliwie prosty moduł dla małych I wielkich wielościanów gwiaździstych. Jeśli jesteście zainteresowani dajcie znać a znajdę go dla was. 

Wprowadzenie –  Konstruowanie modułów –  Konstruowanie wielościanów –  Origami JimaJim PlankOrigami Jima

Original article: http://web.eecs.utk.edu/~jplank/plank/origami/penultimate/intro.html

Tạo hoạt ảnh cho web…

Original author: Alan Zisman

Original article: http://www.zisman.ca/Animate/

(bằng phần mềm miễn phí!)

Những hoạt ảnh cầu kỳ bạn thấy trên các trang web thường được tạo bởi các chương trình phức tạp và khó làm quen như Macromedia Flash. Những hoạt ảnh nhỏ hơn và đơn giản hơn, được gọi là hoạt ảnh GIF, cũng có thể làm các trang web thêm sinh động, và bạn có thể tạo ra chúng bằng các phần mềm đơn giản.

Đây là ví dụ của một hoạt ảnh GIF, lấy từ một trang web tuyên truyền chống hút thuốc: Cigarette.com

Hoạt ảnh GIF là một loạt ảnh tĩnh với đủ 256 màu và cùng kích cỡ, được lưu ở định dạng GIF. Phần mềm tạo hoạt ảnh GIF sẽ cho bạn khả năng sắp xếp thứ tự các khung hình, hẹn giờ, và tinh chỉnh xem các ảnh sẽ lặp lại hay chỉ chạy một lần.

Có rất nhiều phần mềm miễn phí cũng như có phí giúp bạn tạo các hoạt ảnh GIF… Chúng ta sẽ dùng phần mềm nhỏ, tiện lợi, và đơn giản: UnFREEz. Nếu bạn chưa cài sẵn phần mềm thì có thể nhấn vào tên trên để tải về (Bạn phải cài phần mềm giải nén để mở chương trình này– Không cần cài; chỉ cần nhấp đôi vào tập tin đã giải nén để chạy… lưu ý rằng UnFREEz và cả bài hướng dẫn này dành cho người dùng hệ điều hành Windows. Người dùng hệ Mac có thể xem qua các chương trình như: GifBuilder (GifBuilder Carbon for OS X) hoặc HVS Animator ).

Khi UnFREEz khởi động, chương trình sẽ trông như sau:

Để tạo hoạt ảnh, bạn cần phải tạo một loạt ảnh tĩnh bằng các chương trình vẽ như Microsoft Paint (chương trình sẽ mở và lưu lại ảnh ở định dạng GIF nếu bạn có cái Microsoft Office), hoặc các chương trình chuyên dụng hơn như Photoshop. Ngoài ra, bạn có thể dùng KidPix hoặc Microsoft Paint để lưu một loạt tập tin ảnh ở định dạng Windows Bitmap (BMP) hoặc khác, rồi dùng chương trình chuyển ảnh miễn phí như  Irfanview để chuyển đổi chúng sang định dạng GIF.

Khi bạn đã có ảnh tĩnh, tìm những tập tin này trong My Computer hoặc Explorer, rồi sau đó kéo biểu tượng của chúng theo thứ tự bạn muốn chúng xuất hiện vào cửa sổ khung ảnh của UnFREEz. Khi đã xong, nhấn nút Make Animated GIF và điền tên cùng địa điểm lưu hoạt ảnh. (Mẹo: Nếu bạn muốn dùng hoạt ảnh trên web thì đừng dùng khoảng cách khi lưu tên ảnh)

Bạn cũng có thể thử nghiệm với tùy chọn Frame Delay để ảnh tĩnh chạy nhanh hơn hoặc chậm hơn – Chậm hơn thì hoạt ảnh sẽ cứng, còn nhanh quá sẽ khó nhìn!

Xem hoạt ảnh của bạn

Có thể bạn đã nhận ra là chương trình UnFREEz thiếu tính cho phép bạn xem hoạt ảnh sẽ trông ra sao. Bạn sẽ phải xem ảnh bằng chương trình khác. Chương trình miễn phí và đa dụng Irfanview là một lựa chọn tốt.

Tạo ảnh tĩnh bằng Paint

Đầu tiên, bạn cần đảm bảo rằng phiên bản Paint của bạn có khả năng đọc và lưu tập tin ở định dạng GIF. (Nếu không thì bạn vẫn có thể dùng nó để tạo ảnh tĩnh, và dùng Irfanview để chuyển đổi từ định dạng BMP thành GIF). Mở Windows Paint (bạn sẽ thấy biểu tượng ở menu Start Menu/Programs/Accessories)… đi đến menu File/Open và nhấn vào danh sách Files of Type… để xem bạn có lựa chọn này không:

Nếu có, bạn có thể tiếp tục mà không cần chuyển đổi gì thêm. Nếu không, cứ làm tiếp, nhưng hãy nhớ rằng bạn sẽ phải chuyển đổi ảnh tĩnh sang định dạng GIF (dùng Irfanview hoặc các chương trình khác) trước khi bạn có thể dùng chúng với các phần mềm hoạt ảnh GIF.

Trước khi vẽ, bạn nên chọn kích cỡ hoạt ảnh. Quy tắc chung là cáng nhỏ càng tốt. Hoạt ảnh nhỏ sẽ chạy nhanh hơn trên mạng Internet. Trong Paint, nhấn vào menu Image/Attributes. Bạn sẽ thấy:

Chỉnh đơn vị thành Pixels (các dấu chấm trên màn hình)… Để bạn dễ hình dung hơn, hình ảnh này có kích cỡ 200 x 200 pixels (và nó khá lớn so với một hoạt ảnh GIF):

Sau khi đã chọn kích cỡ ảnh, bạn có thể bắt đầu tạo ảnh tĩnh đầu tiên. Nếu được thì bạn nên lưu ở định dạng GIF. Tôi khuyên bạn nên lưu kèm số thứ tự để dễ biết được đây là khung ảnh nào, ví dụ như Frame1.gif.

Dưới đây là một lựa chọn khá tốt– một khi bạn đã lưu ảnh tĩnh ở định dạng GIF, nếu bạn quay về menu Image/Attributes, bạn sẽ thấy là lựa chọn Transparancy, vốn không hoạt động như hình trên, giờ đã sẵn sàng… Chọn mục [  ] Use Transparent Background Color sẽ cho phép bạn lựa ra một màu– tất cả mọi yếu tố có màu đó sẽ chuyển thành trong suốt khi hoạt ảnh chạy– Đây là một tính năng hay vì nó giúp bạn đăng hoạt ảnh lên mọi trang web với mọi màu nền, và hoạt ảnh sẽ không có những ô vuông màu. Bạn có thể để ý cách dùng ở hoạt ảnh đầu lâu đầu trang.

Sau khi lưu Frame1, chọn File/New để tiếp tục với các ảnh tĩnh tiếp theo. Mục Image/Attributes sẽ giữ nguyên hiện trạng, nhưng bạn phải chọn lại màu trong suốt cho mỗi ảnh. Dĩ nhiên là tất cả mọi ảnh tĩnh phải cùng kích cỡ. Cố gắng có ít nhất 12 ảnh tĩnh để hoạt ảnh mượt nhất có thể.

Lưu ý khi lưu ảnh ở định dạng GIF:

Định dạng GIF chỉ có 256 màu. Vì vậy, nếu bạn dùng ảnh chụp làm một phần ảnh (bất kể ảnh động hoặc tĩnh), khi bạn lưu ảnh ở định dạng GIF, chất lượng ảnh sẽ không còn sinh động bằng. Hãy nhìn vào bức ảnh đầu lâu ở đầu trang– thoạt nhìn thì trông tốt, nhưng nếu nhìn kỹ thì sẽ thấy số màu bị giảm đi.

(Bạn có thể dán ảnh lên các khung ảnh, rồi sau đó vẽ đè lên chúng như trong hoạt ảnh đầu lâu trên).

Kết luận:

Tạo từng ảnh tĩnh bằng các chương trình như Microsoft Paint sẽ rất chán nản. Nhưng nếu sử dụng các chương trình đơn giản như này, hoặc các chương trình miễn phí như UnFREEz, học sinh cùng những người không có chuyên môn sẽ tạo được hoạt ảnh hiệu quả. Chỉ cần nhớ là kích cỡ phải nhỏ! — Ngày 19 tháng 2, 2002

Wallace Eckert

Pamiętam, jak dr Eckert powiedział do mnie: “pewnego dnia każdy będzie miał komputer na swoim biurku”. Wybałuszyłam oczy. To musiało być chyba w początkach lat 50-tych. On to przewidział. Eleanor Krawitz Kolchin, Huffington Post interview, luty 2013.

Wallace Eckert

Photo: circa 1930, Columbiana Archive; 

Wallace John Eckert, 1902-1971. Po zakończeniu studiów magisterskich w Columbii, Uniwersytecie Chicagowskim I Yale, uzyskał doktorat w Yale, w roku 1931, jego promotorem był profesor Ernest William Brown (1866-1938), który poświęcił swoją karierę naukową opracowaniu teorii ruchów Księżyca. Najbardziej znany z obliczeń ruchów orbitalnych Księżyca, które pozwoliły na przeprowadzenie misji księżycowych Apollo, Eckert był profesorem astronomii na Columbia University w latach 1926 – 1970, założycielem i dyrektorem Thomas J. Watson Astronomical Computing Bureau na Columbia University (1937-40), dyrektorem US Naval Observatory Nautical Almanac Office (1940-45), oraz założycielem i dyrektorem Watson Scientific Computing Laboratory na Columbia University (1945-1966). Przede wszystkim zawsze był jednak astronomem. Eckert był siłą sprawczą, czasami również głównym konstruktorem coraz potężniejszych maszyn obliczeniowych, budowanych w celu rozwiązywania problemów ruchów ciał niebieskich, w szczególności zaś weryfikowania, rozszerzania I uszczegóławiania teorii Browna. Był jednym z pierwszych badaczy, którzy zastosowali maszyny obliczeniowe sterowane kartami perforowanymi do rozwiązywania skomplikowanych problemów naukowych. Być może, jeszcze bardziej znaczący był fakt, iż był on pierwszym który zautomatyzował ten proces, kiedy w latach 1933-34 połączył różne maszyny obliczeniowe i tabulacyjne konstrukcji IBM układami kontrolnymi i urządzeniami swojego pomysłu w celu rozwiązywania różnych rodzajów równań.  Jego metody zastosowane zostały później w takich urządzeniach konstrukcji IBM serii „Aberdeen” jak Pluggable Sequence Relay Calculator, Electronic Calculating Punch, Card Programmed Calculator, oraz SSEC. Jako dyrektor Laboratorium Watsona oraz Dyrektor Badań Podstawowych w IBM, nadzorował konstrukcję SSEC (był to wg. niektórych źródeł pierwszy rzeczywisty komputer) oraz NORC (uznawany czasami za pierwszy superkomputer), swego czasu komputer o największej mocy obliczeniowej na świecie, a także IBM 610 – pierwszego na świecie „komputera osobistego” – to również on zainstalował pierwsze na Uniwersytecie Columbia ogólnodostępne komputery dla celów badawczych oraz nauczania, kreując najprawdopodobniej pierwszy na świecie program nauczania technik komputerowych (informatycznych) w 1946 r. włączając w to jego własny przedmiot Astronomia 111-112: Metody Maszynowe w obliczeniach Naukowych, wraz z innymi kursami prowadzonymi przez Groscha i Thomasa, naukowców z Watson Lab.

Zainteresowania astronomiczne Eckerta nie ograniczały się do Księżyca. Skonstruował on również efemerydy pięciu planet zewnętrznych oraz pracował nad teoriami orbitalnymi i technikami ich pomiaru.  Przybycie maszyn obliczeniowych typu IBM Aberdeen umożliwiło uzupełnienie powojennej luki w kalkulacjach corocznych efemeryd asteroidów (Kleine Planeten), w momencie, gdy żadna inna placówka naukowa nie mogła ich opracować w odpowiednim czasie [59].

Wallace EckertFotografia: [103]; KLIKNIJ aby powiększyć.

Podczas gdy Eckert poświęcał znaczne ilości swojego czasu na automatyzację swoich obliczeń, nie był on zwolennikiem automatyzacji za wszelką cenę I wszystkiego. W liście datowanym 11 stycznia 1941 r. do D.W. Rubidge’a z IBM dotyczącym  Projektu Obliczania Tablic Matematycznych WPA Eckert napisał, “Rozważając przeprowadzenie dużego projektu obliczania tablic matematycznych, należy zadać sobie pytanie, czy głównym jego celem jest ograniczenie ilości pracy czy też tworzenie dodatkowej [ilości pracy]. Wasze maszyny nie są stworzone do realizacji drugiego z tych celów, więc w związku z tym nie mogą być rekomendowanym rozwiązaniem problemu bezrobocia podczas depresji [ekonomicznej]”. 

W roku 1948 Eckert otrzymał National Academy of Sciences James Craig Watson Medal (medal Jamesa Craiga Watsona przyznawany przez Narodową Akademię Nauk USA) za wybitne osiągnięcia w zakresie badań astronomicznych. Jego Poprawione Efemerydy Księżycowe były podstawą projektowania tras lotów misji Apollo [92]; został zaproszony do obserwowania startu misji Apollo 14 w 1970 r., krótko przed swoją śmiercią. Eckert jest również autorem Punched Card Methods in Scientific Computation (Metody kart perforowanych I ich zastosowania w badaniach naukowych),(1940), uważanej za pierwszy podręcznik komputerowy która zainspirowała takich pionierów metod obliczeniowych jak Presper Eckert (brak powiązań rodzinnych!), Howard Aiken, i Vannever Bush [90], i może być w pewnym sensie uważany za ojca  pierwszej sterowanej „komputerowo” techniki składu druku (1945). Eckert wprowadził techniki komputerowe na Uniwersytet Columbii  i odegrał kluczową role w ich wykorzystaniu na całym świecie.

Za The Lunar Republic, wyjaśnienie pochodzenia nazwy  Eckert Crater (17.3 N szerokości; 58.3 E długości):

Wallace Eckert

Fotografia: IBM, około 1970.

Eckert, Wallace John (1902-1971), amerykański astronom, pionier użycia komputerów dla celów tabulacji danych astronomicznych, dyrektor U.S. Nautical Almanac Office podczas II wojny Światowej. W swej pracy na tym stanowisku wprowadził metody obliczeń maszynowych w celu skompilowania i druku tabel oraz rozpoczął wydawanie Almanachu Lotnictwa (Air Almanac) w 1940 r. Eckert kierował budową szeregu innowacyjnych maszyn obliczeniowych (komputerów) włączając w to Selective Sequence Electronic Calculator (SSEC, 1949) oraz Naval Ordnance Research Calculator (NORC, 1954), który był przez wiele lat najpotężniejszym komputerem na świecie. Dokładność obliczeń Eckerta dotyczących orbity Księżyca była tak wielka, że w 1965 r. był w stanie  wskazać koncentrację masy blisko powierzchni księżycowej. W 1967 r., opublikował dane uszczegóławiające teorię Browna dotyczącą ruchu orbitalnego Księżyca.


Profetyczna uwaga (nie przypisana konkretnemu autorowi) zamieszczona w Eckert-Smith Nautical Almanac z 1966 r. podsumowuje “W.J. Eckert pracował z E.W. Brownem rozwijając teorię tego ostatniego w latach 30-tych. Powrócił on [Eckert]do Teorii Księżycowej w latach 50-tych wraz z rozwojem Komputerowych Technik Obliczeniowych – za który to rozwój był on w znacznej części odpowiedzialny – czyniąc obliczenia znacznie łatwiejszymi i dokładniejszymi. Z żalem należy odnotować, iż zmarł on wkrótce po ukończeniu tekstu ostatniej części niniejszego manuskryptu”. 

Jego praca została ukończona przez Martina Gutzwillera (fizyka i kolegi Eckerta z  Watson-Lab) i Dietera S. Schmidta (obecnie członka wydziału EE&CS na Uniwersytecie Cincinnati) i opublikowaną w artykułach Gutzwillera wymienionych poniżej.

Martin Gutzwiller powiedział, “pomimo swoich fenomenalnych osiągnięć, Eckert pozostał osobowością całkowicie bezpretensjonalną. Jego idee były zawsze jasne a jego osąd zawsze dobrze uargumentowany I wypowiadany wprost. ” [90]. Wszyscy, którzy go znali zgadzają się, że był przyjemnym w obejściu, spokojnym i skromnym aż do przesady człowiekiem. 

Z kolei Herb Grosch powiadał o Wallace Eckercie, “Jeśliby tylko chciał porzucić astronomię na rzecz Technik komputerowych byłby dziś na pewno bardziej znaną postacią. Jego wkład jest przeogromny, ale został przesłoniony przez fakt, iż dokonany był przede wszystkim w celu powiększenia potencjału poznawczego astronomii. (wykład w Computer Museum, 22 października 1982 r.). Potem dodał, “Jeżeli byłaby przyznawana nagroda Nobla w zakresie astronomii, Eckert i jego współbracia Dirk Brouwer z Yale i Gerald Clemence z Naval Observatory otrzymaliby ją za ogromny wkład uczyniony w zakresie naszej Wiedzy dotyczącej ruchów Księżyca I planet, używając [komputera] SSEC a później urządzeń IBM.” [57,p.118].

Pytania Otwarte:

  • Rola Eckerta w rozwoju nowoczesnych komputerów jest w znacznym stopniu przemilczana i jak uważam, pomniejszana. Jego kluczowym dokonaniem jest opracowanie tzw. automatycznej sekwencjacji (automatic sequencing), najpierw w latach 1933-34 używając urządzeń Obserwatorium Rutherforda (Rutherford Observatory apparatus), potem w pewnym stopniu w latach 1941-46 pracując w Naval Observatory (wykorzystując swoją sterowaną kartami perforowanymi drukarkę tabel (card-operated table printer), potem zaś po wojnie w Watson Lab Uniwersytetu Columbia, początkowo za pomocą arytmometrów  Nancy i Virginia, potem SSEC i NORC. Pewną formę automatycznej sekwencjacji umożliwiały również tzw. Aberdeen Relay Calculators opracowane przez IBM (1944) ale co najmniej jedno świadectwo historyczne (Campbell-Kelly, cytowane poniżej) wymienia Eckerta (ale nie przypisuje bezpośredniego autorstwa) jako tego, kto “opracował specyfikację” tych maszyn podczas swojej pracy w  Naval Observatory, podczas gdy John McPherson wspomina o wyprawach z Eckertem do Ballistics Research Lab podczas II Wojny Światowej [74]. Herb Grosch mówi:
    Jeśli chodzi o (IBM) Aberdeeny, jestem po Twojej stronie: nie mogę oprzeć się wrażeniu, że [Eckert] tutaj kontrybuował. Ale wydaje się, iż nie ma na to śladu dowodu. Na przykład, w jaki sposób “zamówił” on te maszyny dla WSCL? Czy to była część “procesu zatrudniania” go w 1945? IBM rozwijało się tak szybko pod przywództwem Starego, że zwiększenie serii z trzech (dwa upgrade’y i jeden Dahlgreen) do pięciu maszyn nie stanowiło żadnego problemu i nie potrzeba było żadnych decyzji na papierze. Ale to oznacza, że Wallace wiedziałby o ulepszeniach jeszcze w 1944 r., pracując w Naval Observatory! Się założę, że Cunningham telefonował do niego w tej sprawie w końcu 1944 r., być może wielokrotnie, ale się tego nigdy nie dowiemy. 
  • Nic nie szkodzi! 29 lipca 2010 r.: Allan Olley powiedział podczas wywiadu dla Opowiadanej Historii IBM, gdzie leży rozwiązanie zagadki:
S:  Czy kiedykolwiek byłeś zaangażowany w projektowanie arytmometrów jak te z Aberdeen i ocenę ich potencjalnej przydatności dla waszych celów?
E:  Nie. Ten problem pojawił się dość późno, pod koniec wojny a ja w tym czasie już przygotowywałem się do opuszczenia Naval Observatory…

  • Nancy i Virginia zostały zbudowane przez Pete Luhna w IBM i dostarczone do Watson Lab w 1946; jaka była rola Eckerta w ich projektowaniu i budowie? A co z  Card Programmed Calculator IBM-u (1949)? Ten ostatni zwykle uważany jest za mający swoje źródło w  prototypie zbudowanym dla Northrop Aircraft w 1948 na bazie multyplikatora IBM 603 I maszyny rachunkowej 405 ale mocno podejrzewam, że pomysł Northropa miał swoje korzenie w prezentacjach Eckerta w 1946 i/lub 1947 w ramach IBM Forum lub IBM Proceedings, w czasie których zaprezentował on Nancy i Virginię (choć nie z nazwy) jako “małe kalkulatory sekwencyjne” programowane za pomocą kart  [89,105]. Brennan [9] pisze o:
    …elektromechanicznych multyplikatorach różnych rodzajów (znanych pod nazwami kodowymi Nancy i Virginia). Szczególnie interesujący był eksperymentalny model szybkiego procesora arytmetycznego, który Eckert podłączył do maszyny do obliczeń rachunkowych. Zamiast programowania za pomocą okablowania na panelu centralnym, maszyna była kontrolowana za pomocą kart perforowanych. Rezultatem była wczesna forma kalkulatora sekwencyjnego, wyprzedzająca osławiony IBM-owski Card Programmed Calculator.
  • Jaką role odegrało Astronomical Computing Lab Eckerta w Pupin Hall we wczesnej fazie Projektu Manhattan, kiedy Fermi, Szilard, Rabi, Urey, i inni., pracowali na Columbii w końcu lat 30-tych w tym samym co Eckert budynku? Znając skłonność przyszłej generacji naukowców-atomistów do zbierania I analizowania masywnych ilości danych, trudno uwierzyć, że nie chcieliby użyć tych maszyn. Ale według relacji Herba Groscha, tak się nie stało:
    [atomowi] chłopcy chcieli użyć tych maszyn POTEM, jak zobaczyli, że von Neumann i Feynman ich używają (tak circa 1944, powiedzmy). Nie wcześniej. Urey i Rabi znali Eckerta jako uczestnika lunchów w MFCCU [Męski Klub Fakultetu Columbii] i astronoma, ale jak powiedziałem na str.30 nikt w rzeczywistości nie prowadził wtedy takich obliczeń — nie ulega to wątpliwości. Co w rzeczywistości było robione aby rozwiązać cząstkowe równania różniczkowe, to zastosowanie technik relaksacyjnych (rozluźniania założeń) a i to bardziej przez inżynierów takich jak Southwell a potem Courants. Była też metoda opracowana przez faceta o nazwisku Ritz. ….. Te techniki nie poddawały się łatwej adaptacji do maszyn na karty perforowane, czy też wczesnych dużych komputerów. Ten rodzaj mozolnego obliczania, który niechętnie stosowali astronomowie – całe życie dla jednej publikacji! – nie znajdowało odzewu w fizyce w latach 30-tych. Zamiast tego budowali cyklotrony!
    W każdym razie, faktem jest, że urządzenia obliczeniowe w Los Alamos Scientific Laboratory Projektu Manhattan, jak również te używane na Poligonie Aberdeen (Aberdeen Proving Ground), były oparte na rozwiązaniach Eckerta z Columbia Lab.
  • Jakie kontakty istniały pomiędzy Wallacem Eckertem a Presperem Eckertem i Johnem Mauchly? Jaki wpływ, jeśli w ogóle, miały prace Laboratorium w Columbii na konstrukcję  ENIAC-a? Ślad (jeśli jest takowy) jest bardzo dobrze ukryty, ponieważ pewne aspekty projektu ENIAC były utajnione, albo co najmniej traktowane jako tajne w normalnym tego słowa znaczeniu. Nie ma na ten temat żadnej korespondencji w archiwum Eckerta, ale nie zawiera ona prac z Naval Observatory które zaginęły. Allan Olley powiedział 25 lipca 2006 r.:
    Ostatnio odkryłem, że był artykuł w IEEE Spectrum napisany przez Henry Troppa (który opracował biogram Eckerta dla DSB) który cytuje książkę Eckerta z 1940 r. Tytuł jego brzmi “The Effervescent years: a retrospective” (pol:„Szampańskie lata: retrospektywa”) (IEEE Spectrum Vol. 11 (2) pp. 70-79, 1974). Omawia w nim głównie prace George Stibitza, Howard Aikena i Johna Mauchly. Wallace Eckert jest wzmiankowany na str. 74 w kontekście prac Johna Mauchly:
    “Pracując w Ursinusie [rozpoczął  1933], Mauchly zapoznał się z publikacją na temat użycia kart perforowanych dla celów obliczeniowych napisaną przez Wallace J. Eckerta z laboratorium obliczeniowego Columbia University… Kiedy Mauchly przeczytał publikację Eckerta, zdał sobie sprawę, jak niewiele wie na temat statystyki i zaczął zgłębiać ten przedmiot. W 1936 r. był letnim internem w sekcji Carnegie Institution zarządzanej przez swojego ojca I zaczął stosować, to, czego się nauczył do analizy danych pogodowych…”
    Nieszczęśliwym trafem, cytowania w tej części artykułu pozostawiają wiele do życzenia (np. w tej części artykułu nie cytuje on innych źródeł poza książką Eckerta). Jeśli rozumuję właściwie, źródło jest prawdopodobnie częścią tzw. Projektu Historii Komputerów (Smithsonian Computer History Project) nad którym Tropp  pracował w tym czasie, a więc to nieopublikowany artykuł, wywiad, lub notatka.
    Być może było to nawet wspomnienie samego Mauchly. Zakładając, że daty podane są właściwie (1933-1936) jedyna praca Eckerta dotycząca kart perforowanych to opublikowany abstrakt jego wykładu w Stowarzyszeniu Astronomicznym w 1934 r, jego artykuł o grupowaniu numerycznym asteroidów w Astronomical Journal albo artykuł w  książce Baehne. Biorąc pod uwagę rozbudzone przez lekturę zainteresowanie statystyką, najpewniejszym kandydatem wydaje się być książka Baehne’a (zwłaszcza, że zawiera więcej podobnych treści)).
  • Czy zaprojektowany przez Eckerta w Table Printer jest również pierwszym przykładem programowania za pomocą kart perforowanych? Znamy niewiele szczegółów, ale nie mogłem znaleźć wcześniejszego przykładu. Jeśli to prawda, ten fakt jest wielce znaczący. Czyim pomysłem było wykonywanie programu częściowo za pomocą kart perforowanych zamiast konfiguracji okablowania? Znów, publikacje Eckerta z czasów pracy w  Naval Observatory zniknęły. (Herb Grosch mówi, że “zarządzany za pomocą kart” to nie to samo co “programowany za pomocą kart”; wydaje się, że karty z danymi i karty kontrolne są oddzielne I że potrzebne jest wiele pracy związanej z przełączaniem pomiędzy kartami kontrolnymi i kartami danych, w przeciwieństwie do Eckertowskiego switch-boxu z Laboratorium Rutherforda z roku 1934, które, jak mówi Herb „zmieniało układ tablicy wtykowej bez zatrzymywania procesu – a więc w zupełnie inny, oryginalny sposób”.
  • Czy Eckert miał bezpośredni kontakt z NASA? Z uwagi na to, że powrócił do swoich prac nad orbitą Księżyca kiedy rozpoczęły się przygotowania do startu programu Apollo, wydawać by się mogło, że istnieje jakieś powiązanie, ale nie mogłem znaleźć na to żadnego dowodu. (Wszystkie oznaki wskazują, że jego Poprawione Efemerydy Lunarne z 1949 r. były „wystarczająco dobre” i NASA nie chciała komplikować rzeczy poprzez wprowadzanie nowych tablic i nowych metod. Ale, w ten czy inny sposób, prace Eckerta rzeczywiście umożliwiły przeprowadzenie misji Apollo. I jest całkiem prawdopodobne, że książka Hidden Figure Katherine Johnson (a również inne) opiera się na postaci Eckerta. Zastanawiam się, czy kiedykolwiek się spotkali lub korespondowali. 

References:

  • Grosch, Herbert R.J., Computer: Bit Slices from a Life, Third Millenium Books, Novato CA (1991).
  • Brennan, Jean Ford, The IBM Watson Laboratory at Columbia University: A History, IBM, Armonk NY (1971).
  • Bashe, Charles J.; Lyle R. Johnson; John H. Palmer; Emerson W. Pugh, IBM’s Early Computers, MIT Press (1985).
  • Pugh, Emerson W., Building IBM: Shaping an Industry and its Technology, The MIT Press (1995).
  • Just a Beginning: Computers and Celestial Mechanics in the Work of Wallace J. Eckert, Ph.D. Dissertation of Allan Olley, 31 August 2011.
  • Campbell-Kelly, Martin, “Punched-Card Machinery”, Chapter 4 in Aspray, William, Computing Before Computers, Iowa State University Press, Ames IA (1990), p.149.
  • Ceruzzi, Paul, “Crossing the Digital Divide”, IEEE Annals of the History of Computing Vol.19 No.1 (January-March 1997). “Examines … the ensembles of punched card equipment used by L.J. Comrie and Wallace Eckert for scientific instead of business use.”
  • Gutzwiller, Martin C., “The Numerical Evaluation of Eckert’s Lunar Ephemeris”, Astronomical Journal, Vol.84, No.6 (June 1979), pp.889-899. Gutzwiller was on the Watson Library technical staff from 1962 to 1970.
  • Gutzwiller, Martin C., and Dieter S. Schmidt, “The Motion of the Moon as Computed by the Method of Hill, Brown, and Eckert”, Astronomical Papers of the American Ephemeris, Vol.23, Part 1 (1986).
  • Gutzwiller, M.C., “Wallace Eckert, Computers, and the Nautical Almanac Office” in Fiala, Alan D., and Steven J. Dick (editors), Proceedings, Nautical Almanac Office Sesquicentennial Symposium, U.S. Naval Observatory, Washington DC, March 3-4, 1999, pp.147-163.
  • Dick, Steven, “History of the American Nautical Almanac Office”, The Eckert and Clemence Years, 1940-1958, in Fiala, Alan D., and Steven J. Dick (editors), Proceedings, Nautical Almanac Office Sesquicentennial Symposium, U.S. Naval Observatory, Washington DC, March 3-4, 1999, pp.35-46.
  • Dick, Steven, Sky and Ocean Joined: The U.S. Naval Observatory 1830-2000, Cambridge University Press (2002), 800pp.
  • Hollander, Frederick H., “Punched Card Calculating and Printing Methods in the Nautical Almanac Office”, Proceedings, Scientific Computation Forum, IBM, New York (1948).
  • Mixter, George, W. “American Almanacs”, in NAVIGATION, Journal of the Institute of Navigation, Vol.1, No.3 (September 1946).
  • Seidelmann, P.K., P.M. Janiczek, and R.F. Haupt, “The Almanacs – Yesterday, Today, and Tomorrow”, in NAVIGATION, Journal of the Institute of Navigation, Vol.24 No.4, Winter 1976-77, pp.303-312.
  • Explanatory Supplement to the Astronomical Ephemeris and Nautical Almanac, prepared jointly by the Nautical Almanac Offices of the United Kingdom and the United States of America: H.M. Nautical Almanac Office by Order of the Lords Commission of the Admiralty, London, Her Majesty’s Stationey Office (1961), p.106.
  • Wallace J. Eckert Papers, 1931-1975 (CBI 9), Charles Babbage Institute, University of Minnesota, Minneapolis.
  • “A Great American Astronomer”, Sky and Telescope (Oct 1971), p.207.
  • “In Memoriam W.J. Eckert”, Celestial Mechanics Vol. 6 (1972), pp.2-3.
  • Polachek, Harry, “The History of the Journal Mathematical Tables and other Aids to Computation”, IEEE Annals of the History of Computing, Vol.17, No.3 (1995).
  • Grier, David Alan, “The Rise and Fall of the Committee on Mathematical Tables and Other Aids to Computation”, IEEE Annals of the History of Computing (April-June 2001).
  • Transcript of interview of Wallace J. Eckert by Lawrence Saphire. IBM Thomas J. Watson laboratory at Columbia, July 11 and July 20, 1967. Interview TC-1 in the IBM Oral History Project on Computer Technology.
  • Grosch, H.R.J., Review of Eckert, W.J., “Punched Card Methods in Scientific Computation”, Charles Babbage Institute Reprint Series, Volume 5, Cambridge, MIT Press, 1984, 136pp (reprint of original 1940 book), in the Annals of the History of Computing, vol.7, no.4, October 1985, pp.365-371. Includes a reaction from John McPherson plus a reprint of an earlier article by McPherson that bears on the topic.

New York Times:

These were reported in July 2010 by Allan Olley.

  • Letter to the Editor 2 — No Title; Wallace J. Eckert New York Times (1857-Current file); Oct 26, 1969; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. BR48 [Actual letter by Eckert responding to a review of Think by Rodgers]
  • SIGMA XI ADMITS 63 AT COLUMBIA New York Times (1857-Current file); May 6, 1936; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 12 [Eckert joins Sigma Xi]
  • STATESMEN ASKED TO BE PILOTS, TOO By CHARLES A. FEDERER Jr., Member Hayden Planetarium StaffSpecial to THE NEW … New York Times (1857-Current file); Jun 13, 1942; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 30 [Eckert affirms the call of others for better navigational training of US pilots]
  • CONFERENCE PICKS LEONIA CANDIDATES Special to THE NEW YORK TIMES. New York Times (1857-Current file); Feb 2, 1948; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 11 [Eckert runs for the School Board in Leonia NJ, which has an odd electoral process]
  • ROBOT BRAIN PLOTS ORBITS OF PLANETS By ALEXANDER FEINBERG New York Times (1857-Current file); Sep 12, 1949; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 23 [Announcement of Outer Planets Problem to be run on SSEC]
  • SCIENTIFIC PUZZLER SOLVED BY ‘BRAIN’ New York Times (1857-Current file); Jul 18, 1952; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 17 [Solution of the longstanding problem relating to the emergence of turbulence in fluid flow]
  • About New York By MEYER BERGER New York Times (1857-Current file); Dec 10, 1954; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 29 [article on the NORC]
  • Role of Computers in Astronomy Shown in Planetarium’s Exhibit By PHILIP BENJAMIN New York Times (1857-Current file); Sep 13, 1958; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 40 [A show at the Hayden Planetarium, also Eckert commented on the computers he saw in the Soviet Union reassuring people that they were not ahead of the USA.]
  • Soviet’s Scientific Surge Found Cutting U. S. Lead By WALTER SULLIVAN New York Times (1857-Current file); Jul 20, 1959; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 1 [Mostly worrying about Soviet scientific resources. Eckert is quoted as pointing out the relative lack of computers on his trip to the Soviet Union.]
  • Calculations Pinpoint Position Of the Moon Within a Few Feet New York Times (1857-Current file); Apr 14, 1965; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 2 [Report on the Eckert/Smith solution of the Lunar problem by Airy’s method and the empirical confirmation of its largest correction. Also mentions the Hollow Moon problem.]
  • LUNAR EQUATIONS CALLED IMPRECISE By WALTER SULLIVAN New York Times (1857-Current file); May 24, 1968; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 11 [The JPL find errors in Brown’s theory as modified by Eckert.]
  • I.B.M. Thomas J. Watson Jr. New York Times (1857-Current file); Oct 26, 1969; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. BR48 [A letter from Watson Jr. responds to the review of Think by Rodgers]
  • Letter to the Editor 3 — No Title H.T. RoweRidgewood, N. J. New York Times (1857-Current file); Oct 26, 1969; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. BR48 [Another letter responding to the review of Rodgers book]
  • Think By JOHN BROOKS New York Times (1857-Current file); Oct 5, 1969; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. BR3 [The actual book review of Rodgers book that led to all the letters]
  • Eckert Memorial Friday New York Times (1857-Current file); Oct 13, 1971; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 48 [A very short announcement of Eckert’s memorial service; this is distinct >From his obituary.]
  • Science: Luna 10 is Telling Much About the Moon By WALTER SULLIVAN New York Times (1857-Current file); Apr 17, 1966; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 213 [New information on the Moon from Russian probe. Eckert mentioned in connection with the Hollow Moon paradox]
  • BAKHMETEFF JOINS COLUMBIA FACULTY New York Times 1857; May 17, 1931; ProQuest Historical Newspapers The New York Times (1851 – 2006) pg. 33 [Eckert makes assistant professor, it’s tucked in right at the end. This is also the time during which Jan Schilt was hired to the astronomy department as an associate professor.]

Computing Publications:

  • Eckert, W.J., “Numerical Integration with the Aid of Hollerith Machines”, Publications of the American Astronomical Society, Vol.8, No.1, p.9 (1934).
  • Eckert, W.J., “Miscellaneous Research Applications: Astronomy”, in Baehne, G.W. (ed.) Practical Applications of the Punched Card Method in Colleges and Universities, Columbia University Press (1935).
  • Eckert, W.J., “The Computation of Special Perturbations by the Punched Card Method”, The Astronomical Journal, Vol.XLIV, No.20, Albany NY (24 Oct 1935).
  • Eckert, W.J., “The Astronomical Hollerith-Computing Bureau”, Publications of the Astronomical Society of the Pacific, Vol.49, No.291 (Oct 1937), pp.249-253. This is the announcement of what would soon be renamed to the Thomas J. Watson Astronomical Computing Bureau.
  • Eckert, W.J., Punched Card Methods in Scientific Computation, The Thomas J. Watson Astronomical Computing Bureau, Columbia University, Lancaster Press, Inc., Lancaster PA (January 1940). “The Orange Book.” Reprinted in 1984 by the Charles Babbage Institute, MIT, and Tomash Publishers with a new introduction by J.C. McPherson. (A 1952 bibliography prepared at Watson Lab says “new edition in preparation; the 1954 edition of the same bibliography dropped this phrase.)
  • Eckert, W.J., “A Punched-Card Catalogue of Data for the Stars in the Boss General Catalogue”, Publications of the Astronomical Society of the Pacific, Vol.52, No.310 (Dec 1940), pp.376-378.
  • Eckert, Wallace J., Transcript, Systems Service Class No. 591 (Aerial Navigation) for the US Army Air Corps; Department of Education, International Business Machines, Endicott NY (8 Sep 1944).
  • W.J.E. (Wallace J. Eckert), “Mathematical Tables on Punched Cards”, Mathematical Tables and Other Aids to Computation (MTAC), Vol.1, No.12 (Oct 1945), pp.433-436. Founded in 1943, MTAC was the first and, until 1954, only journal dealing exclusively with computation and computing devices. Eckert was invited to chair the MTAC executive committee but had to decline due to his wartime responsibilities; nevertheless he participated vigorously in MTAC’s founding and production [88].
  • Eckert, W.J., “Facilities of the Watson Scientific Computing Laboratory”, Proceedings of the Research Forum, IBM, Endicott NY (Aug 1946), pp.75-84.
  • Baxandall, D, and W.J. Eckert, “Calculating Machines”, Encyclopædia Britannica, 14th Edition, Vol.4 (1947), pp.548-554.
  • Eckert, W.J., “Punched Card Techniques and Application to Scientific Problems”, Journal of Chemical Education, Vol.24 No.2, (Feb 1947), pp.54-57,74.
  • W.J.E. (Wallace J. Eckert) and Ralph F. Haupt, “The Printing of Mathematical Tables”, Mathematical Tables and Other Aids to Computation, Vol.2, No.17 (Jan 1947), pp.197-202.
  • Eckert, W.J., “The IBM Department of Pure Science and the Watson Scientific Computing Laboratory”, Education Research Forum Proceedings, IBM, Endicott NY (Aug 1947)
  • Eckert, W.J., “Electronic and Electromagnetic Measuring, Computing and Recording Devices”, Centennial Symposia, December 1946. Harvard Observatory Monographs, No. 7. Contributions on Interstellar Matter, Electronic and Computational Devices, Eclipsing Binaries, The Gaseous Envelope of the Earth, Cambridge, MA: Harvard Observatory (1948), pp.169-178.
  • W.J.E. (Wallace J. Eckert), “The IBM Pluggable Sequence Relay Calculator”, Mathematical Tables and Other Aids to Computation, Vol. 3, No. 23 (Jul., 1948), pp. 149-161.
  • Eckert, W.J., “Electrons and Computation”, The Scientific Monthly, Vol.LXVII, No.5 (Nov 1948), pp.315-323.
  • Eckert, W.J. (as “W.J.Et”) and D.B., “Calculating Machines”, Encyclopedia Brittanica, Vol.4: Brain to Casting, University of Chicago (1949), pp.548-554.
  • Eckert, W.J., “The Role of the Punched Card in Scientific Computation”, Proc. Industrial Computation Seminar, IBM, New York (Sep 1950), pp.13-17.
  • Eckert, W.J., “The Significance of the New Computer NORC”, Computers and Automation, Vol.4 No.2 (Feb 1955), pp.10-13.
  • Eckert, Wallace J., and Rebecca Jones, Faster, Faster: a simple description of a giant electronic calculator and the problems it solves, McGraw-Hill, New York, 1955. The final chapter, “What is There to Calculate”, was written by L.H. Thomas [90].
  • Eckert, Wallace J., and Rebecca Jones, Schneller, Schneller, International Büro-Maschinen GmbH (1956) (German edition of Faster, Faster).
  • Eckert, W.J., “Computing in Astronomy”, in Hammer, Preston C. (Ed.), The Computing Laboratory in the University, Univ. of Wisconsin Press, Madison (1957).
  • Eckert, Wallace J., “Calculating Machines”, The Encyclopedia Americana (1958).
  • IBM Watson Laboratory at Columbia University, Collected Papers, 10 volumes, one for each year, 1960-69. Details uncertain.
  • Eckert, Wallace J., “Early Computers”, IBM Research News (May 1963), pp.7-8.
  • Eckert, W.J., “The Use of Electronic Computers for Analytical Developments in Celestial Mechanics: A colloquium held by Commission 7 of the IAU in Prague, 28-29 August 1967”, The Astronomical Journal, Vol.73, No.3 (April 1968), p.195. Eckert chaired this colloquium; the papers presented there are included in this issue of AJ.

Astronomy Publications:

  • Eckert, W.J., “The New Observatory at Columbia University”, Popular Astronomy, Vol. 36 (1928), p.333.
  • Eckert, Wallace John, The General Orbit of Hector, Yale University Ph.D. Thesis (1931).
  • Eckert, W.J., “The Asteroids”, Natural History Vol. 31, pp. 23-30.
  • Eckert, Wallace J., “Harold Jacoby, 1865-1932”, Popular Astronomy, Vol. 40 (1932), p.611.
  • Eckert, Wallace J., Home Study Course in General Astronomy, Columbia University Press, NY (1933).
  • Eckert, W.J., and Dirk Brouwer, “The Use of Rectangular Coordinates in the Differential Correction of Orbits”, The Astronomical Journal, Vol. XLVI, No.13 (16 Aug 1937). Also in The Bulletin of the Astronomical Institute of the Academy of Sciences of the USSR, No.53, 1945.
  • Eckert, W.J., “Ernest William Brown (1866-1938)”, Popular Astronomy, Vol. XLVII, No. 2 (Feb 1939).
  • Eckert, W.J., “The Occultation Data in the American Ephemeris”, Astronomical Journal, Vol.50 (Dec 1941), pp.95-96.
  • United States Navy Nautical Almanac Office, The American Air Almanac, US Government Printing Office, Washington DC (Jan-Apr 1942), 240pp. (And all other issues 1940-1946.)
  • Eckert, W.J., “The Construction of the Air Almanac”, 68th Meeting of the American Astronomical Society, New Haven CT, 12-14 June 1942 (I don’t know if this is published).
  • Eckert, W.J., “Air Almanacs”, Sky and Telescope, Vol.4, No.37 (Oct 1944).
  • United States Navy Nautical Almanac Office, “Tables of Sunrise, Sunset and Twilight”, Supplement to the American Ephemeris, 1946, US Government Printing Office, Washington DC (1945), 196pp.
  • Ephemerides of 783 Minor Planets for the year 1947, Eckert, W.J., Director, Watson Scientific Computing Laboratory (1946). CLICK HERE for more about this publication.
  • Eckert, Wallace John., Dirk Brouwer, and G.M. Clemence, “Coordinates of the Five Outer Planets, 1653-2060”, Astronomical Papers of the American Ephemeris, US Government Printing Office (1951), 327pp. The computations were done on the SSEC and checked on the Aberdeen Relay Calculators at Watson Lab.
  • Eckert, W.J, The History of the Astronomy Department at Columbia University, undated manuscript written somewhere between 1948 and 1953 (I don’t know if, or where, this was published).
  • Eckert, W.J., “Numerical Theory of the Five Outer Planets”, Astronomical Journal, Vol.56 (April 1951), p.38.
  • Eckert, Wallace J., and Rebecca Jones, “Problems in Astronomy: Automatic Measurement of Photographic Star Positions”, Astronomical Journal, Vol.59, No.2 (March 1954).
  • Improved Lunar Ephemeris 1952-1959 (the ILE), a Joint Supplement to the American Ephemeris and the (British) Nautical Almanac Issued by the Nautical Almanac Office, US Naval Observatory: US Government Printing Office, Washington (1954). This is the work that guided the Apollo missions to the Moon. The calculations were performed on the SSEC and various Watson Lab machines. Included in this volume: Eckert, W.J., R. Jones, and H.K. Clark, “Construction of the Lunar Ephemeris”, pp.283-363.
  • Eckert, W.J., “Improvement by Numerical Methods of Brown’s Expressions for the Coordinates of the Moon”, The Astronomical Journal, Vol. 63, No.10 (Nov 1958). Solution of the 3-body problem on the Watson Lab IBM 650 at Columbia University.
  • Eckert, W.J., “Numerical Determination of Precise Orbits”, Orbit Theory, Proceedings of the Ninth Symposium in Applied Mathematics of the American Mathematical Society (1959).
  • Eckert, W.J., and Harry F. Smith, “Results to Date in the Numerical Development of Harmonic Series for the Coordinates of the Moon”, Transactions of the International Astronomical Union (IAU) 11B (1961), pp.447-449.
  • Eckert, W.J., and Rebecca Jones, “Measuring Engines”, in Hiltner, W.A., Astronomical Techniques, Vol II: “Stars and Stellar Systems”, U of Chicago Press (1962).
  • Eckert, W.J., “The Solution of the Main Problem of the Lunar Theory”, Transactions of the International Astronomical Union, XIIB (1964), p.113.
  • Eckert, W.J., “On the Motions of the Perigee and Node and the Distribution of Mass in the Moon”, The Astronomical Journal, Vol.70 No.10 (Dec 1965), pp.787-792.
  • Eckert, W.J., M.J. Walker, and D. Eckert, “Transformations of the Lunar Coordinates and Orbital Parameters”, The Astronomical Journal, Vol.71 No. 5 (Jun 1966).
  • Eckert, W.J., and Harry F. Smith, Jr., “The solution of the main problem of the lunar theory by the method of Airy”, Astronomical Papers Prepared for the Use of the American Ephemeris and Nautical Almanac, Vol. XIX, Part II, Published by the Nautical Almanac Office, US Naval Observatory by Direction of the Secretary of the Navy and under the Authority of Congress; US Government Printing Office (1966), pp.187-407. The results of the final lunar orbit calculations, programmed by Smith for Columbia’s IBM 7094.
  • Eckert, W.J., and H.F. Smith, Jr., “The Equations of Variation in a Numerical Lunar Theory”, The Theory of Orbits in the Solar System and in Stellar Systems (IAU Symposium 25, 1964), Academic Press (1966), pp.242-260.
  • Eckert, W.J., “The Moment of Inertia of the Moon Determined from its Orbital Motion”, in Runcorn, S.K., Mantles of the Earth and Terrestrial Planets, Interscience Publishers (1967).
  • Eckert, W.J., “The Motions of the Moon”, IBM Research Publication RW 87 (22 Aug 1967). A relatively nontechnical explanation of Eckert’s life’s work.
  • Eckert, W.J., and Dorothy A. Eckert, “The Literal Solution of the Main Problem of the Lunar Theory”, The Astronomical Journal, Vol.72 No. 10 (Dec 1967), pp.1299-1308. Also in “Abstracts, Conference on Celestial Mechanics”, Moscow (1967). 18-digit accuracy on an IBM 1620.
  • Eckert, W.J., T.C. Van Flandern, and G.A. Wilkins, “A Note on the Evaluation of the Latitude of the Moon”, Monthly Notices of the Royal Astronomical Society, Vol.146 (1969), pp.473-478.

Other…

Williams, S.R., and W.J. Eckert, Convenient Forms of Magnetometers, J.O.S.A. & R.S.I. [Journal of the Optical Society of America], vol. 16, issue 3, March 1928, pp. 203-207.

Original article: http://www.columbia.edu/cu/computinghistory/eckert.html

Amerykańskie samoloty wojskowe

Witam na mojej stronie poświęconej amerykańskim samolotom wojskowym. Zamieszczone są tutaj artykuły na temat amerykańskich wojskowych konstrukcji lotniczych począwszy od najwcześniejszych, z lat 20-tych aż do najnowszych samolotów obecnej epoki. 

Samoloty myśliwskie lotnictwa USA

Samoloty bombowe lotnictwa USA

Samoloty szturmowe lotnictwa USA

Samoloty transportowe lotnictwa USA

Wiele z tych artykułów zostało pierwotnie opublikowanych na stronach grup dyskusyjnych sci.military.moderated i rec.aviation.military na platformie USENET kilka lat temu. Proszę o cierpliwość, gdyż ciągle konwertuję je do formatu HTML i zamieszczam tutaj. Zaglądajcie od czasu do czasu i sprawdzajcie, co nowego zamieściłem.

Zależy mi również na wypowiedziach I opiach każdego, kto chce zgłosić uzupełnienia lub korekty zamieszczonych tekstów. Dawajcie mi również znać o konstrukcjach lotniczych, których opisy powinny być tutaj zamieszczone (a jeszcze nie są). Tak, wiem – nie uwzględniłem wielu samolotów lotnictwa pokładowego Marynarki, które powinny się tu znaleźć. Obiecuję, że zabiorę się za to któregoś dnia, na pewno… na pewno :).

Fotografie

Tak wiem, nie zamieściłem tutaj żadnych fotografii. Są trzy powody takiego stanu rzeczy. Po pierwsze, mam ograniczoną dostępną przestrzeń dyskową a dobrej jakości fotografia zajmuje sporo KB pamięci. Po drugie, istnieje wiele stron, na których można znaleźć takie fotografie, a linki do kliku z nich możecie uzyskać na mojej stronie poświęconej lotnictwu (Aviation Site). Po trzecie, i prawdopodobnie najważniejsze, z zamieszczaniem fotografii związana jest kwestia pozyskania praw autorskich. Każda fotografia (z oczywistym wyjątkiem wykonanych przeze mnie osobiście) jest własnością KOGOŚ a ja po prostu nie zamierzam przechodzić przez żmudny proces ustalania praw własności i uzyskiwania pozwolenia na publikację. 

Prawa autorskie

Nie jest moją intencją naruszanie praw autorskich kogokolwiek poprzez zamieszczanie tutaj artykułów. To jedna z przyczyn braku fotografii. Uczyniłem każdy możliwy wysiłek, aby upewnić się, że wszystkie moje źródła opatrzone są referencjami, a gdzie było to konieczne, że uzyskałem odpowiednie pozwolenie autorów. 

Tym niemniej, istnieje możliwość, iż niechcący popełniłem błąd, i jakaś ważna informacja nie została zamieszczona. Jeśli znajdziecie tu coś, co Waszym zdaniem narusza Wasze prawa autorskie, albo że zostały one opisane w sposób niekompletny lub błędny, proszę dajcie znać a ja niezwłocznie usunę taki materiał lub pozyskam odpowiednie pozwolenia na jego zamieszczenie. 

Jeżeli chcecie zamieścić link do tej strony na Waszej stronie, lub zamieścić materiał z niej, proszę, nie krępujcie się.  

Wyślij e-mail z komentarzami i/lub sugestiami do jFbaugher@gmail.com

Original article: http://www.joebaugher.com/uscombataircraft.html

Semiotic and Rhetorical Approaches to Interpreting Ancient Texts

Ancient Texts
Pixabay

This article focuses on the Semiotic and Rhetorical analyses of the Decalogue from the perspective of solidarity with the oppressed. I will also discuss the context in which it was written and where it is located in space. I hope to raise some critical questions about ancient texts, which can assist historians and biblical scholars alike. Read on to learn more. And remember that the study of ancient texts does not necessarily require a specialized background.

Semiotic analysis

The semiotic analysis of ancient texts relies on a framework of binary and polar oppositions, called paradigms. These are seen as ‘deep structures’ of the texts, which can vary in their expressiveness and interpretive scope. In the structuralist model, signs are grouped into categories according to their connotation. A semiotic code can be loose or tight. The term “code” is also applied to media texts.

Cultural semiotics can be categorized into case-in-point and global studies. The former studies how signifying order is implanted in meaning structures and how it produces meanings. It involves the study of interconnections among languages and signifying systems and the relation between them. It is also referred to as intertextual or cultural semiotic analysis. The first two subsets are described below. The latter refers to the cultural context in which texts were created.

Rhetorical analysis

Traditional rhetorical analysis limits the focus of its resources to the time of reading. It does not programmatically investigate times prior to reading; instead, interpreters evaluate texts in terms of their persuasive power and reenact categories of tradition and authority. This approach is problematic in many ways. To overcome this problem, modern rhetorical scholars have begun to incorporate different approaches into their analysis of ancient texts. Here are some examples.

First, scholars need to acquire a basic understanding of the field. Rhetorical analysis is often the focus of a scholarly project, such as the study of ancient texts. But there is much more to rhetoric than just reading texts. Scholars who study the rhetorical process are better equipped to analyze texts that have been written thousands of years ago. For example, scholars can use rhetoric to understand the contexts of ancient texts.

Understanding the Decalogue

The first chapter of Exodus 20:1 begins the Decalogue. Although the Decalogue does not specifically identify its audience, it is often assumed to be a general message addressed to the whole assembly, rather than to a particular person or group. The commandments themselves are pronounced in the second person singular, and do not appear to be localized. Despite their apparent locality, the commandments have an impact on all humans.

The Israelites are soon reminded of the consequences of failing to honor their parents. Two of the capital offenses are striking and cursing. While there is no specific law requiring an individual to act in such a way, the Decalogue aims to instill a settled attitude. The commandment against adultery is the exception to the rule, but it should not be interpreted as a strict prohibition against sexual activity.

Understanding the Decalogue in a context of solidarity with the oppressed

Despite a variety of linguistic and exegetical approaches to understanding the Decalogue, the daka’ of psalms 9 and 10 often connects oppression with poverty. In psalm 9, the Pharisees refer to tax collectors as sinners, and in verse 9 they are called the stronghold of the poor and oppressed. The Pharisees amalgamated this term into one. The impoverished, meanwhile, are given special privileges in the kingdom of God.

In Deuteronomy 23, the word “oppression” is a term that refers to the re-enslavement of escaped slaves. This practice was common in the ancient Near East and was even condemned in the Code of Hammurabi. In the United States, the Dred Scott Decision did not protect the rights of escaped slaves and was one of the causes of the Civil War.

How SMEs Can Benefit From Scientific Translation

Scientific Translation
Pixabay

A SMEs is uniquely qualified to handle Scientific Translation projects. They have a thorough knowledge of science-specific terminology, analytical skills and patience. They are familiar with journals, repositories and other parallel sources of information. And they can translate complex texts quickly and accurately. Here are some tips for SMEs in tackling Scientific Translation jobs. Let’s dive in! Then you can start your translation project with confidence! And don’t forget to ask for references!

SMEs are uniquely qualified to translate scientific texts

There are numerous benefits to hiring a translation service. The translation of scientific documents can benefit individuals in other countries and reputed agencies. In addition, the scientific texts can be translated for personal convenience. Moreover, translations can enhance the visibility of a company, since they can reach a global audience. The services of SMEs are therefore invaluable in helping organizations expand their global reach. To find out whether you can benefit from such translation services, read on.

In addition to being able to translate scientific documents, SMEs are usually experienced in their field. They have relevant degrees in their field and have expertise in both the source language and the target country’s culture. This knowledge is essential for translating technical documents. For instance, a pharmaceutical company is hiring a translation service to translate its international patent application. This document contains a number of scientific terms and requires accurate translation.

They have a thorough understanding of science-specific terminology

Scientists use a specific language for their work, and that language includes scientific terms. As scientists discover new objects and develop new concepts, they are compelled to give these things new names. While many of these terms remain obscure, others have gradually become part of everyday language. In science, terminology is extremely important, even though the subject matter is relatively small. For instance, spinplasmonics is a tiny field of study, but the term is used extensively.

They have patience and analytical skills

Professional linguists have a wide range of expertise. Some specialize in medical translation while others have experience in various disciplines. It is important to choose a team that is experienced in medical translation. A professional team should have significant experience in the field. Each member of the team should have proven skills and expertise in the field. They should have a good understanding of the scientific content in order to deliver a quality translation.

The role of medical translation is to help share medical research findings with a broader audience. Translated texts may include medical journals, clinical trials documents, presentations, and registration documents. Translations should be accurate and grammatically correct. Medical translations are often highly technical, requiring a great deal of patience and analytical skills. The translator should be highly knowledgeable about the subject area that they’re working in.

They are familiar with repositories, magazines and other parallel sources of information

A scientific translator is well-versed in research methodology and terminology. They have an understanding of scientific terminology, syntactic structures and parallel sources of information. The main challenge of a scientific translator is adjusting the terminology and expressions to match the target language. While international universities focus on direct translation into a recipient’s mother tongue, reverse translation is more important in today’s job market.

ESS uses the Translation and Verification Follow-Up Form to document the history of the translation process. The ESS uses this form since Round 5 of their translation process. Authors should make sure that they use a good English-language editing service to remove any possible grammatical errors and conform their manuscript to correct scientific English. This step will make the entire process of scientific translation more efficient and productive.