Lab Notebooks for Computational Science

Sep 02 2020

Nhiều khoản tài trợ yêu cầu một hồ sơ chính thức được lưu giữ về các hoạt động nghiên cứu hàng ngày. Đối với các nhóm nghiên cứu thực nghiệm, việc này thường được thực hiện với một cuốn sổ giấy đóng gáy, trong đó có thể viết chi tiết thí nghiệm, những rắc rối và có thể là một vài kết quả chính (hoặc đôi khi thậm chí được in ra và dán vào).

Có một số tùy chọn sổ ghi chép phòng thí nghiệm điện tử, có thể phù hợp hơn với công việc được thực hiện hoàn toàn trên máy tính (hoặc có thể không!), Nhưng những tùy chọn này vẫn ít phổ biến hơn. Các tệp văn bản thuần túy có thể không đáp ứng yêu cầu của các mục nhập bất biến. Hơn nữa, một số tổ chức và nhóm có truyền thống làm việc thử nghiệm có thể hoàn toàn không sử dụng định dạng điện tử.

Bạn đã thử sử dụng những phương pháp nào để ghi nhật ký chính thức về các hoạt động nghiên cứu tính toán của mình?

Trả lời

4 DanielShapero Sep 03 2020 at 22:38

Như Paul đã đề cập trong nhận xét của mình, git và các trang web lưu trữ công cộng như Github và Gitlab là vô giá để theo dõi lịch sử phát triển của các dự án tính toán. Một vài ví dụ cụ thể về nơi tôi thấy rằng lịch sử hữu ích:

  • Các khoản trợ cấp của liên bang Hoa Kỳ yêu cầu bạn điền vào các báo cáo tiến độ hàng năm và tôi không bao giờ có thể nhớ chính xác những gì tôi đã làm, nhưng tôi luôn có thể xem qua lịch sử cam kết.
  • Tìm chính xác nơi lỗi đã len lỏi vào mã tôi viết, đôi khi thủ công và đôi khi tự động git bisect.
  • Tôi muốn nhắc nhở các sinh viên mà tôi làm việc cùng rằng phạm sai lầm là được, phần quan trọng là phải thận trọng trong quá trình kiểm tra, vì vậy tôi xem lại lịch sử cam kết của các dự án mà tôi đã làm việc để cho họ thấy một số sai lầm ngớ ngẩn hơn của tôi.

Bạn cũng đã đề cập đến sổ ghi chép điện tử; Tôi đoán bạn đã quen thuộc với sổ ghi chép Jupyter rồi. Tôi sử dụng chúng rất nhiều cho các thí nghiệm tính toán, đặc biệt là khi tôi đang loay hoay với các phương pháp mới mà tôi chưa hiểu rõ lắm. Thông thường các máy tính xách tay thử nghiệm sẽ bị mất trên ổ cứng của tôi ở đâu đó. Những gì tôi bắt đầu làm gần đây là giữ các sổ ghi chép này trong kho lưu trữ git và xuất bản chúng trực tuyến bằng cách sử dụng trình tạo trang web tĩnh nikola, có thể tạo các bài đăng từ sổ ghi chép Jupyter. Cùng với mã, tôi cũng bổ sung thêm các giải thích về toán học với sự tham khảo từ các nguồn hữu ích khác. Điều này rất hữu ích cho tương lai tôi nhớ chính xác những gì tôi đã làm và có thể thể hiện mọi thứ với đồng nghiệp và học sinh. Cả github và gitlab đều cung cấp dịch vụ lưu trữ trang web tĩnh miễn phí. Bạn có thể sử dụng các công cụ tích hợp liên tục để tự động thực thi sổ ghi chép (vì vậy bạn có thể giữ chúng ở dạng văn bản trước khi thực thi nhỏ hơn nhiều trong kiểm soát phiên bản) và xây dựng một trang web với chúng. Các công cụ tương tự cũng hữu ích trong việc lưu trữ tài liệu cho các dự án phần mềm.

Mức sử dụng / số dặm của bạn khác nhau, tôi chỉ nói từ kinh nghiệm cá nhân ở đây.