Thiết lập môi trường làm việc cơ bản trên Mac OS X

Mình chủ yếu làm việc trên môi trường Mac OS X. Hệ điều hành hiện tài trên máy Macbook Pro của mình là El Capitan 10.11.6. Các tác vụ cơ bản là lập trình với các ngôn ngữ mã nguồn mở như Python, Perl, Ruby, R, etc, soạn thảo trên emacs, chạy các chương trình trên Terminal, soạn thảo tài liệu với LaTeX. Bài viết này sẽ tóm tắt lại các thiết lập cơ bản để làm việc trên môi trường này các yêu cầu nêu trên.

1- Thiết lập tên máy tính

sudo scutil --set HostName logos

Tham khảo: http://bit.ly/2aoUSF5

Thay đổi tên local để tránh hiện tượng emacs khởi động chậm.

sudo scutil --set HostName logos.local

2- Thiết lập con trỏ trên Terminal

Thêm dòng sau đây vào file .bashrc

PS1='[\u@\h \w]\n$ '

Thêm dòng sau vào file .bash_profile

if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

3- Thiết lập các alias cho các lệnh hay dùng

# Xoá màn hình với lệnh cls
alias cls=clear

4- Cài đặt Git

Để cài đặt Git trên máy Mac, chỉ cần gõ lệnh git trên terminal và một hộp thoại hiện lên sẽ hướng dẫn bạn cách cài đặt (http://bit.ly/1WQ50nb)

5- Cài đặt Homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Tham khảo: http://brew.sh/

6- Cài đặt môi trường làm việc Python (với anaconda)

https://www.continuum.io/downloads

Xem thêm thiết lập môi trường Python với conda tại đây

7- Đổi lại phím tắt Ctrl-Space trên Mac OS X El Capitan

Mình hay dùng phím tắt Ctrl-Space để đánh dấu khi soạn thảo với emacs nhưng trong OS X 10.11 (El Capitan), phím tắt này được dùng để thay đổi input sources. Để đổi lại bạn vào System Preferences – Keyboard – Shortcuts; vào Spotlight, bỏ chọn Show Spotlight Search, sau đó vào lại Input sources để đổi phím tắt thành command-Space.

Tham khảo: http://stackoverflow.com/questions/32932036/change-input-source-shorcut-for-mac-os-el-capitan

Chú ý khi thay chọn mục cần thay đổi, ấn phím tab sau đó ấn tổ hợp phím muốn thay đổi.

8- Remap Ctrl-a trong GNU Screen thành Ctrl-o

Mình hay dùng emacs để soạn và Ctrl-a trong emacs được dùng để di chuyển con trỏ đến đầu mỗi dòng. Trong GNU Screen, Ctrl-a được dùng như tổ hợp phím điều khiển.

Để thay đổi, thêm dòng sau vào file ~/.screenrc

espace ^oo

Tham khảo: http://www.vineetmanohar.com/2012/02/2-ways-to-change-key-binding-in-screen/

9- Cài đặt Texmaker cho Mac OS X

Mình hay sử dụng Texmaker để soạn thảo LaTeX trên Mac OS X.

Download và cài đặt Texmaker tại đây.

10- Cài đặt môi trường soạn thảo LaTeX

Xem tại đây: http://www.howtotex.com/howto/installing-latex-on-mac-os-x/

11- Dùng phím Option (Alt) như Meta key khi dùng terminal

Mục đích: Để các key-binding trong các trình soạn thảo như Emacs/Vim hoạt động chính xác. Vào Preference/Keyboard của Terminal và chọn mục “Use Option as Meta Key”. Continue reading

Cơ bản về tranh luận

Về cơ bản, trong mọi lĩnh vực của cuộc sống, con người luôn có những cách nhìn khác nhau (view point) về cùng một vấn đề. Các cuộc tranh luận thường xảy ra khi khi các quan điểm, cách nhìn rất khác nhau, thậm chí đối lập. Bài Note này nhằm mục đích tóm tắt lại những gì mình học được trên Internet về các kiến thức cơ bản về “Tranh luận”. (Debate)

1- Thế nào là tranh luận (Debate)

Về cơ bản, tranh luận là việc 2 người hoặc 2 nhóm người (có thể nhiều, nhưng thường là hai) dùng các lập luận, dẫn chứng để bảo vệ một quan điểm, cách nhìn (trong 1 vấn đề cụ thể) mà mình tin là đúng. Quan điểm, cách nhìn của hai bên thường là đối lập. Ví dụ, một bên ủng hộ cho đốt pháo trở lại, bên kia thì phản đối.

Cần phân biệt “tranh luận” với “cãi vã”. Trong cãi vã, người ta hay dùng các thủ đoạn như “chỉ trích cá nhân”, “nói to”, thậm chí “văng tục chửi bậy” thay vì đưa ra lý lẽ.

Cũng nên phân biệt giữa “tranh luận” với “thảo luận”. Một cuộc thảo luận có thể có những cuộc tranh luận nhỏ, nhưng mục đích của thảo luận thường là để hướng tới một giải pháp, ý tưởng tốt hơn. Tranh luận thì ngược lại, mục đích chính là chiến thắng, để thuyết phục người nghe (đọc) rằng quan điểm của mình là đúng, hợp lý hoặc phủ định quan điểm của đối phương.

2- Chủ đề tranh luận

Một cuộc tranh luận thường xoay quanh một quan điểm nhất định. Các chủ đề thường gặp nhất là các vấn đề xã hội. Các chủ đề tranh luận thường hay có cụm từ “có nên” (should), “A tốt hơn B”, “A hợp lý hơn B”. Trong quá trình tranh luận, có thể các chủ đề nhỏ hơn liên quan, nhưng nội dung chính của tranh luận nhất thiết phải là topic được chọn ban đầu.

Chủ đề được chọn để tranh luận nên phù hợp với độ tuổi và giáo dục của những người tham gia. Ví dụ không nên tranh luận chủ đề “Có nên hợp pháp hoá mại dâm” với trẻ em (mặc dù có ngoại lệ với một số trẻ em hiểu biết trước tuổi).

Có hai nhóm khác (sides) khác nhau với một quan điểm, chính sách: nhóm ủng hộ (AFFIRMATIVE hoặc “Chính phủ” trong các cuộc họp quốc hội), nhóm phản đối (NEGATIVE, hoặc “Đối lập”).

3- Định nghĩa chủ đề tranh luận

Trước khi tranh luận về một quan điểm nào đó, hai nhóm tham gia cần phải thống nhất với nhau về định nghĩa của các khái niệm trong chủ đề tranh luận. Định nghĩa ở đây không chỉ mang nghĩa là định nghĩa của các từ riêng lẻ trong chủ đề mà còn là toàn bộ chủ đề. Ví dụ chủ đề “Có nên cho đốt pháo trở lại” là có ý nghĩa nhưng chủ đề “Cải bắp tốt hơn hoa hồng” lại không có chút ý nghĩa gì.

Nếu hai nhóm chưa thống nhất được định nghĩa của các khái niệm trong chủ đề tranh luận, nhóm phản đối cần đưa ra ý kiến để nhóm ủng hộ làm rõ hơn để đi tới thống nhất.

4- Lập luận (argument)

  • Các lập luận được đưa ra nhằm hỗ trợ cho quan điểm mà mình ủng hộ.
  • Các lập luận phải có dẫn chứng và các dẫn chứng cần chính xác và có thể kiểm chứng tính chính xác một cách trực tiếp hoặc gián tiếp.

5- Cần tránh trong tranh luận

  • Đả kích cá nhân/tập thể người tham gia tranh luận: Người tranh luận quá xấu xí, béo, gầy, đời tư không liên quan đến chủ đề tranh luận. Đưa ra đả kích cá nhân sẽ làm mất điểm của mình/nhóm mình trong tranh luận. Xem một số sự kiện, có thể thấy ví dụ của việc đả kích cá nhân như khai thác đời tư, quan hệ họ hàng, làng xóm, etc để hạ thấp đối tượng và làm cho người nghe/xem xao lãng chủ đề chính.
  • Thiếu dẫn chứng hoặc dẫn chứng thiếu thuyết phục: Một lý lẽ đưa ra là thiếu thuyết phục nếu thiếu đi các dẫn chứng phù hợp, chính xác.
  • Chỉ dựa lập luận của đối phương để đối đáp. Dẫn chứng từng lời nói của đối phương để phản đối, hoặc dựa chủ yếu vào các lập luận của đối phương là không đủ và không tốt đối với một cuộc tranh luận. Người tranh luận cần phải đưa ra được các lập luận của riêng mình để bảo vệ cho quan điểm của mình.
  • Đánh tráo khái niệm: Đối phương dùng một định nghĩa khác cho khái niệm được đưa ra trong chủ đề tranh luận nhằm giành lợi thế. Gặp tình huống như thế này, cần đặt câu hỏi để làm rõ định nghĩa của khái niệm mà đối phương đề cập.
  • Nhét chữ vào mồm: Đối phương gán cho mình những điều mình không nói/đề cập tới trong các lập luận của mình và dựa vào đó để phản bác.

6- Một số phương pháp tranh luận

(Mới tìm hiểu được 1 phương pháp)

Phương pháp Socrates (Socratic Method)

Sử dụng chuỗi các câu hỏi khác nhau nhằm khiến người tranh luận đồng ý với một quan điểm đối lập với quan điểm ban đầu của họ, qua đó chứng tỏ quan điểm của đối phương là sai hoặc ít nhất là thiếu chính xác. Nghệ thuật của phương pháp nằm ở trong cách đặt câu hỏi cho đối phương, tấn công vào các giả sử (assumption) mà đối phương sử dụng khi đưa ra câu trả lời, đưa ra phản ví dụ.

Tham khảo:

  1. http://www.wikihow.com/Argue-Using-the-Socratic-Method
  2. http://www.niu.edu/~jdye/method.html

Để công việc nghiên cứu tiến triển, điều gì là quan trọng nhất?

Dịch từ bài viết “研究を前にすすめるためには「何」が最も重要か?” đăng trên trang blog của Nakahara Lab.

Đây là câu chuyện mới xảy ra cách đây không lâu. Một sinh viên sau đại học đang bế tắc trong nghiên cứu và đã đến tham khảo ý kiến tôi. Đây là một điều khá bất ngờ với tôi, nên chủ đề câu chuyện đã phát triển như sau đây.

“Vậy thì, thưa giáo sư, để làm nghiên cứu tốt thì điều gì là quan trọng?”

“Uhm… Cái gì nhỉ (cười). Thầy cũng đang muốn được nghe đây…
Cho đến bây giờ, với người chưa từng thực sự cảm thấy cái gọi là “nghiên cứu tốt” như thầy thì cũng khó trả lời cho câu hỏi của em đấy (cười).”

Nhưng ở đây, nếu thay đổi câu hỏi đi một chút, tôi sẽ nói với các bạn còn đang băn khoăn như sau. “Nếu bạn hỏi, “để sinh viên sau đại học đạt được tiến triển trong việc nghiên cứu, điều gì là quan trọng?, thì tôi sẽ trả lời được.”

Trong các nghiên cứu ở các bậc thạc sĩ hay tiến sĩ, hơn thế nữa, trong những nghiên cứu liên quan đến lĩnh vực của tôi, nếu bạn hỏi “Để có tiến triển trong nghiên cứu, điều gì là quan trọng?” thì tôi với khoảng 10 năm kinh nghiệm hướng dẫn sinh viên ở bậc sau đại học có thể nhanh chóng đưa ra câu trả lời của riêng mình. Continue reading

Trong địa hạt học thuật, tất cả đều bình đẳng, quyền lực chính trị cũng không thể chi phối

Trong địa hạt học thuật, tất cả đều bình đẳng, quyền lực chính trị cũng không thể chi phối.

Đây là điều mình rút ra sau khi đọc một bài báo trên báo Sankei (tin cũ từ năm 2015). Có lẽ đây là một phương châm hơi bị lý tưởng hoá, nhưng mình nghĩ cần hướng tới.

—————————

Nội dung của tin xoay quanh sự kiện luận văn thạc sỹ của thị trưởng thành phố Shimonoseki (tỉnh Yamaguchi) bị hội đồng giáo sư của khoa kinh tế của trường đại học “Shimonoseki City University” đánh trượt. (trường ĐH này do thành phố lập ra).

Ông thị trưởng không đồng ý với kết luận của hội đồng giáo sư và đòi công khai thông tin về quá trình đánh giá luận văn, trong khi hiệu trưởng của trường ĐH nói rằng họ chỉ làm theo quy định của trường.

Đề tài luận văn thạc sỹ của ông thị trưởng là về sự phân quyền ở địa phương. Luận văn của ông dài 550 trang A4 (quá khủng khiếp đối với một luận văn thạc sỹ), trong đó ông viết cả về kinh nghiệm làm việc thực tiễn và nhân sinh quan của ông.

Thị trưởng rất tự tin về luận văn của mình nhưng khi luận văn được đưa ra hội đồng giáo sư (gồm 33 người), luận văn đã bị đánh trượt vì không được tối thiểu 2/3 số thành viên trong hội đồng thông qua.

Thị trưởng rất bực bội vì ông cho rằng luận văn của ông bị đánh trượt chủ yếu vì lối viết của nó quá khác biệt so với các luận văn thông thường chứ không phải vì nội dung của nó.

Hiệu trưởng ĐH Shimonoseki mặc dù rất bối rối vì bị người đứng đầu của thành phố chỉ trích nhưng vẫn kiên quyết giữ lập trường của mình.

http://www.sankei.com/politics/news/150310/plt1503100036-n1.html

Cách trình bày báo cáo khoa học

Dịch từ bài viết “Giving a technical presentation (giving a scientific talk)” của giáo sư Michael Ernst, khoa khoa học máy tính, đại học Washington.

Mở đầu

(Bạn có thể đọc thêm các lời khuyên của tôi về thuyết trình khi ứng tuyển công việccách làm poster).

Có rất nhiều tài liệu tham khảo tốt liên quan đến cách thuyết trình hiệu quả. Ở đây, thuyết trình mang ý nghĩa là một bài thuyết trình về kết quả nghiên cứu khoa học, có thể là ở một hội nghị, cho nhóm nghiên cứu của bạn, hoặc thuyết trình với tư cách diễn giả khách mời ở trường đại học hay lab nghiên cứu khác. Bài viết này không thể thay thế những tài liệu tham khảo đó, nhưng nó sẽ ghi lại vắn tắt một vài vấn đề tôi rất thường xuyên nhìn thấy ở các buổi thuyết trình. Continue reading

Cách viết báo cáo tiến độ nghiên cứu

Dịch từ tài liệu “Writing a progress/status report” của giáo sư  Michael Ernst, ngành khoa học máy tính, đại học Washington, Mỹ.

Viết báo cáo hàng tuần về tiến độ nghiên cứu có thể giúp nghiên cứu của bạn thành công hơn, bạn ít chán nản hơn, và giúp người khác biết về nghiên cứu của bạn đang làm và nhiều những lợi ích khác nữa.

Một bố cục tốt là viết báo cáo tiến độ thành ba phần:

  1. Trích dẫn lại kế hoạch tuần trước. Điều này giúp bạn xác định rõ liệu mình đã hoàn thành các mục tiêu không.
  2. Trình bày rõ tiến độ của tuần vừa rồi. Trong đó, nội dung có thể bao gồm các thông tin như: những gì bạn đã hoàn thành, những gì bạn đã học được, những khó khăn bạn đã vượt qua, những gì còn vướng mắc chưa giải quyết được, những ý tưởng mới cho các hướng nghiên cứu hay dự án nghiên cứu, vv.
  3. Đưa ra kế hoạch tuần kế tiếp. Một định dạng tốt là một danh sách gồm các gạch đầu dòng, vì  như vậy bạn có thể thấy được những gì mình đã hoàn thành và chưa hoàn thành. Cố gắng thiết lập mục tiêu có thể đo đếm được: không nên có những nhập nhằng về việc đánh giá liệu bạn đã hoàn thành nó hay chưa. Kế hoạch cũng có thể gồm cả những mục tiêu dài hạn.

Báo cáo không cần phải nặng nề, quá tốn công để viết. Nó có thể là một vài đoạn văn hoặc một trang, vì thế bạn không nên bỏ ra thời gian dài để viết. Giảm thiểu những chi tiết không thích đáng với người đọc, ví dụ như công việc trên trường hay những thứ đại loại như thế để sao cho báo cáo của bạn tập trung vào điểm quan trọng; làm như thế, bạn sẽ tốn ít thời gian hơn để viết, mà tăng cơ hội người khác đọc nó.

Việc viết báo cáo tiến độ có nhiều lợi ích.

Viết báo cáo sẽ giúp bạn làm việc hiệu quả hơn vì nó khiến bạn suy nghĩ về công việc đủ cụ thể, tỉ mỉ để có thể viết thành báo cáo. Bất kỳ thời gian nào bạn dành để sắp xếp những suy nghĩ của mình cũng giúp bạn hiểu sâu sắc hơn và tăng hiệu quả công việc. Khi hoàn thành một dự án, bạn rất dễ quên một vài đóng góp của mình. Bạn có thể nhìn lại toàn bộ những báo cáo tiến độ để nhớ lại đâu là vấn đề khó, và để nghĩ về cách làm thế nào làm việc hiệu quả hơn trong tương lai. Bạn cũng có thể dùng lại một số nội dung trong các báo cáo khi bạn cần viết tổng kết về các kết quả nghiên cứu.

Viết báo cáo sẽ giúp cho các buổi họp trở nên hiệu quả hơn. Khi bạn có một buổi họp thảo luận hàng tuần, bạn nên gửi báo cáo trước 24 giờ để giúp cho mọi người chuẩn bị. (Gửi trước 2 giờ là không thể chấp nhận được: nó không đủ để mọi người (bao gồm bạn và người khác) suy nghĩ cẩn thận về các ý tưởng.) Đừng trì hoãn báo cáo của bạn chỉ bởi vì bạn muốn đợi cho đến khi bạn có các kết quả tốt hơn để báo cáo. Thay vào đó, gửi báo cáo đúng như lịch dự kiến, và nếu bạn có thêm kết quả trong 24 giờ tới, bạn có thể thảo luận về chúng tại buổi họp.

Viết báo cáo sẽ đưa đến cho bạn những phản hồi từ một góc nhìn mới mẻ. Báo cáo cho phép những người bên ngoài dự án nghiên cứu của bạn biết về những việc bạn đang làm. Những người đó có thể góp ý những ý tưởng và gợi ý mới — qua đó có thể giúp bạn gỡ rối và mang lại cho bạn những hướng mới để khám phá. Nó cũng giúp bạn được người khác để ý và nhắc họ về công việc nghiên cứu của bạn. Điều đó hữu ích nếu bạn không gặp họ thường xuyên. (Đối với các sinh viên PhD, báo cáo định kỳ cho những người trong hội đồng luận án có thể đem lại những lợi ích lớn.)

Viết báo cáo giúp lý giải (chủ yếu cho bạn, nhưng cũng cho người khác nữa) về cách bạn đã sử dụng thời gian — thậm chí nếu không có nhiều tiến triển như bạn mong muốn, bạn có thể thấy rằng bạn đã làm việc chăm chỉ, và thấy được cách làm thế nào để tăng năng suất và hiệu quả công việc trong tương lai.

Cách viết một bài báo khoa học

Dịch từ tài liệu “Writing a Technical Paper” của Michael Ernst, giáo sư ngành khoa học máy tính, đại học Washington, Mỹ.

Tài liệu này vạch ra một vài phương pháp đơn giản, cụ thể để nâng cao chất lượng viết lách của bạn, bằng cách tránh một số lỗi phổ biến. Phần cuối của tài liệu có thêm những tài nguyên để cải thiện công việc viết lách.

Một số người tin rằng công việc viết bài báo khoa học, thuyết trình, và những hoạt động mang tính “marketing” tương tự không phải là những phần việc trong nghiên cứu mà chỉ là công việc phụ hoặc thậm chí gây ra những xao nhãng không mong muốn. Quan điểm đó không chính xác. Mục đích của công việc nghiên cứu là mở rộng kho tri thức của nhân loại, và vì thế ngay cả những công trình nghiên cứu tốt nhất cũng thành vô dụng nếu bạn không thể truyền đạt nó một cách hiệu quả ra bên ngoài giới nghiên cứu. Thêm nữa, công việc viết bài báo và thuyết trình sẽ làm sáng tỏ những suy nghĩ của chính bạn và do đó cải thiện chất lượng nghiên cứu của bạn. Bạn có thể ngạc nhiên khi biết việc truyền đạt một cách mạch lạc những ý tưởng và đóng góp của mình khó như thế nào. Thực hiện nó sẽ “ép” bạn hiểu sâu sắc hơn về những ý tưởng và đóng góp của mình trong công trình nghiên cứu và cho phép bạn cải tiến chúng. Continue reading