Hỗ trợ lập trình tốt nhất cho một lập trình viên tứ phương


125

Trước khi bạn đi đến kết luận, vâng, đây là chương trình liên quan. Nó bao gồm một tình huống xuất hiện dưới tiêu đề, "Ở đó, nhưng vì ân sủng của Thiên Chúa, hãy đi bạn hoặc tôi." Đây là lãnh thổ hoàn toàn mới đối với tôi vì vậy tôi đang yêu cầu một số trợ giúp nghiêm túc ở đây.

Một chàng trai trẻ, Honza Ripa , ở một thị trấn gần đó đã thực hiện tác phẩm kinh điển Dumb Thing hai tuần sau khi tốt nghiệp trường trung học - anh ta bơi xuống vùng nước nông trên sông Nga và nghỉ giải lao C-4 / C-5 , đôi khi được gọi là Bơi Nghỉ bể bơi. Trong vài giây, anh ta đã đi từ một tay golf và đô vật đặc biệt đến một người tứ phương. (Đọc câu chuyện ... tất cả chúng ta nên may mắn có được một người bạn gái như Brianna.) Đó là 10 tháng trước và anh ta đã lấy lại được một lượng nhỏ quyền kiểm soát ngón trỏ tay phải và một đôi bàn tay khác / chuyển động chân, không ai trong số họ hạt mịn.

Toàn bộ quyền kiểm soát máy tính của anh ấy (hiện đang chạy Win7, nhưng chúng tôi có thể thay đổi điều đó khi cần) là thông qua lệnh thoại. Honza không ngu ngốc. Ông có điểm trung bình 3,7 với môn toán và vật lý AP.

Vấn đề:

  1. Vì tất cả các đầu vào của anh ta đều thông qua lệnh bằng giọng nói, anh ta lo ngại rằng sự chiếm ưu thế của các ký tự đặc biệt trong lập trình sẽ đòi hỏi số lượng lớn các lệnh dài dòng. Có ai biết bất kỳ hệ thống nhập giọng nói được thực hiện tốt được thiết kế đặc biệt cho các lập trình viên? Tôi đang suy nghĩ về một cái gì đó có thể là phương thức - ví dụ như bạn nói "đầu vào Python" và nó chuyển sang chế độ macro để thực hiện các định nghĩa lớp, v.v. Với tất cả các chỉ số RSI trong vùng đất lập trình viên phải có một cái gì đó ở ngoài đó. Nó chạy trên hệ điều hành nào?

  2. Tôi đang lên kế hoạch dạy anh ấy Python, đó là ngôn ngữ ưa thích của tôi để lập trình và giảng dạy. Có bất kỳ ứng dụng / người từ bỏ nào được viết bằng Python và sẽ là một kết hợp đặc biệt tốt để thu hút anh ta về mặt tinh thần trong khi hỗ trợ khuyết tật của anh ta không? Một trong những lợi ích được bày tỏ của ông là đầu tư chứng khoán, nhưng đó có thể không phải là điểm khởi đầu tốt cho một lập trình viên hoàn toàn mới.

  3. rất nhiều môi trường (Flash, JavaScript, v.v.) không đặc biệt thân thiện với những người có thách thức về khả năng truy cập. Tôi mơ hồ nhớ (nhưng không thể tìm thấy) một dự án nghiên cứu về cơ bản đã tạo ra một hệ thống lớp phủ trên môi trường màn hình và sau đó cho phép xây dựng lệnh macro trên đầu ảnh màn hình. Nếu chúng tôi có thể nhận / huấn luyện hệ thống này, chúng tôi có thể loại bỏ nhiều rào cản đối với việc sử dụng mạng.

  4. Tôi đặc biệt quan tâm đến việc tìm kiếm các dự án robot và chân giả robot dựa trên mã nguồn mở để anh ta có thể đồng thời học các khái niệm lập trình nâng cao trong khi học cách giải quyết một số vấn đề tức thời của chính mình.

Tôi đã thực hiện rất nhiều điều về việc này, nhưng tôi biết có những điều tôi đang thiếu. Tôi đang yêu cầu cộng đồng SO bước lên đĩa ở đây. Tôi biết nhóm này có câu trả lời, vì vậy hãy để tôi nghe họ! Choáng ngợp với tôi những cơ hội mà bất kỳ ai trong chúng ta có thể có / cần phải lập trình sau một sự kiện thay đổi cuộc sống như vậy.

Cập nhật: Tôi vừa đăng ký tính toánforquads.org và tôi sẽ tạo các trang cho tất cả các loại giải pháp cho tất cả các loại vấn đề. Cảm ơn bạn đã giúp đỡ cho đến nay và tiếp tục những câu trả lời!


4
Có lẽ những người tốt tại superuser.com có ​​cái nhìn sâu sắc về phần mềm trợ năng. Không thể nói cho các công cụ liên quan đến lập trình nhiều hơn, mặc dù. Xin lỗi mà tôi không thể giúp.
zneak

3
Hmm, tôi khuyên bạn nên sử dụng một số ngôn ngữ xây dựng tùy chỉnh hơn là cố gắng xây dựng một cái gì đó sẽ hoạt động hoàn hảo cho Honza. Có những ngôn ngữ như COBOL thực sự dựa trên từ khóa và "có thể đọc được" (và có thể nói ra). Như với robot, tại sao không bắt đầu với LEGO? IMHO một số ngôn ngữ với rùa (robot - thứ gì đó di chuyển qua màn hình và có thể vẽ đường) và cú pháp đơn giản có thể khá tốt. Tôi có một số khó khăn khi tự lập trình và tôi hiểu rằng "khác biệt" là không có gì nhiều, nhưng trong trường hợp này nó có vẻ hợp lý với tôi.
Gabriel čerbák

7
Chúng ta đã thảo luận về lập trình bằng giọng nói trước đây (về cơ bản, nó vẫn còn thô sơ, thử nghiệm và phần lớn không được hỗ trợ). Xem stackoverflow.com/questions/1408874/ và và stackoverflow.com/questions/87999/iêu .
dmckee --- ex-moderator mèo con

4
Đáng buồn là tôi không có câu trả lời tốt cho hầu hết điều này. Tuy nhiên, tôi nhận thấy trong bài viết rằng chuyển động ngón trỏ là đủ để anh ta có thể điều khiển cần điều khiển nhỏ trên xe lăn của mình. Bạn có thể muốn tìm một con chuột USB kiểu cần điều khiển nhỏ. Tôi đã thấy một vài cái ở ngoài đó trước đây. Mặc dù không đặc biệt rẻ (một mặt hàng có khối lượng quá thấp), nó có thể tỏ ra hữu ích như một thiết bị đầu vào bổ sung.
Nicholas Knight

2
@RCIX: Tôi hiểu và tôi đánh giá cao sự nhiệt tình của bạn. Những hiểu lầm trực tuyến như thế này quay trở lại ít nhất là với PLATO IV Notes vào năm 1973, nơi chúng tôi đã học được rằng gõ không truyền đạt ngôn ngữ cơ thể và giọng điệu quan trọng của giọng nói. Có một FlameWar vào năm 1974 (phát sinh từ một sự hiểu lầm), đó là nền tảng cho những gì có lẽ là luận án đầu tiên của Master về tương tác giữa các cá nhân trong môi trường xã hội dựa trên máy tính. Ngày 2 & 3 tháng 6 sẽ có một hội nghị PLATO @ 50 tại Bảo tàng Lịch sử Máy tính ở Mt. Xem, CA. Sẽ có rất nhiều người xám xịt xung quanh. :-)
Peter Rowell

Câu trả lời:


92

Tôi bị chấn thương thể thao, và tôi không thể gõ nhiều hơn một vài nhân vật mà không bị đau nghiêm trọng.

Thay vào đó, tôi sử dụng emacs cùng với Dragon NataturalSpeaking. Tôi đã viết macro và script để giúp nó có được. Hệ thống không hoàn hảo, nhưng nó hoạt động. Tôi lập trình chủ yếu trong C ++, nhưng tôi cũng sử dụng python.

Nếu bạn muốn, tôi sẽ giúp bạn điều đó. Tôi phải cảnh báo bạn, phải mất vài tháng để làm quen với lời nói với phần mềm văn bản và đào tạo nó. hơn nữa, tôi không phải là người nói tiếng Anh bản xứ, chắc chắn điều đó sẽ cản trở

Đừng tuyệt vọng, có giải pháp.

ở đây một liên kết đến các tệp emacs và Dragon (tiếc là chưa có tài liệu nào)

http://code.google.com.vn/p/asadchev/source/browse/#svn/trunk/home/Dragon

http://code.google.com.vn/p/asadchev/source/browse/#svn/trunk/emacs/elisp

Ngoài ra, nếu bạn cần thêm thông tin, số của tôi là 515 230 9363 (Hoa Kỳ, Iowa). Tôi sẽ rất vui lòng giúp bạn nếu tôi có thể


1
Xin đừng để điều này được kiểm tra vì "câu trả lời" ngăn bạn đăng nhiều khả năng hơn. Tôi cũng sẽ thêm rằng (thở hổn hển) Tôi đã là một anh chàng vi (và bây giờ là vim) từ năm 1980, vì vậy tôi sẽ phải tạo ra một "bộ vĩ mô vi" để bổ sung cho công việc mà Andre đã làm, và có lẽ cũng là một bộ Notepad ++ hoặc một bộ Aptana (Eclipse + PyDev).
Peter Rowell

Wow, aaa, tôi không biết điều đó cho đến khi tôi đọc bài viết của bạn. Tất cả các bài đăng của bạn mà tôi đã xem cho đến nay không hiển thị nó ... ít nhất tôi biết Dragon NataturalSpeaking hoạt động tốt cho bạn.
Xavier Ho

19

Thật đáng để xem Dự án Dasher , cho phép nhập văn bản một cách hợp lý nhanh chóng ngay cả đối với người khuyết tật nghiêm trọng. Dasher được xây dựng trên một mô hình xác suất của các ngôn ngữ, do đó nhiều khả năng các cách nói dễ dàng đi vào hệ thống hơn. Hệ thống trình diễn đi kèm với một bộ sưu tập các ngôn ngữ tự nhiên khá ấn tượng. Thật dễ dàng để có được một khối lượng lớn các chương trình được viết bằng Python, tải Dasher với kho văn bản và tạo một phiên bản có mục đích đặc biệt để vào các chương trình Python.


Đề nghị tuyệt vời! Tôi là một mạng lưới thần kinh cũ từ những năm 80 và âm thanh này rất hứa hẹn.
Peter Rowell

8

Đây không phải là một phần của bất kỳ phần mềm chuyên nghiệp nào, nhưng khi tôi thấy điều này, tôi đã nghĩ rằng nó sẽ tốt cho việc nhập văn bản bằng cách sử dụng theo dõi chuyển động mắt hoặc di chuyển chuột tối thiểu. Xem trang Xử lý của Ken Perlin và xem các applet cho "đầu vào bút".


Cảm ơn! Liên kết tuyệt vời! Điều này có thể đặc biệt hữu ích với điều khiển con trỏ, mà tôi tin rằng vẫn còn một chút thách thức đối với anh ta. Mãi cho đến khi bạn thực sự phải giải quyết những loại vấn đề này mà bạn bắt đầu hiểu rằng một số người này đang leo Mt. Everest mỗi ngày chỉ để làm những gì chúng ta nghĩ không có gì về.
Peter Rowell

5

Tôi biết một người trong một ngôi làng ở Ấn Độ là một người mắc bệnh hoạn, người sử dụng phần mềm Dragon Speech to Text để viết trên máy tính của cô ấy. Tôi không biết nó phù hợp như thế nào đối với một lập trình viên (cô ấy không phải là lập trình viên), nhưng đó là một khởi đầu.

Bạn cũng có thể muốn nhìn vào Điểm tự nhiên . Đó là một con chuột điều khiển bằng mắt, có thể giúp Honza

Hi vọng điêu nay co ich


Honza hiện đang sử dụng Dragon khá tốt. Chúng tôi đặc biệt tập trung xử lý cách thức dài dòng mà bạn nhập vào các ký tự đặc biệt ở khắp mọi nơi trong lập trình.
Peter Rowell

3

iPython hoàn thành

Về phía python, iPython hiển thị các tham số, chức năng, v.v. và đã hoàn thành lệnh. Có lẽ nó cũng có thể được tùy chỉnh để đáp ứng với các thiết bị đầu vào khác nhau?

http://ipython.scipy.org/moin/


1

Một điều có thể giúp (tôi đã nhận được từ câu hỏi này ) là http://shorttalk-emacs.sourceforge.net/ . Nó dường như là một giao diện giữa emacs và nhận dạng giọng nói. Và về ngôn ngữ, tôi khuyên bạn nên sử dụng Lua trên Python. Nó có một dòng chảy tiếng Anh tự nhiên hơn với nó.


1

Tôi biết câu hỏi này khá cũ bây giờ. Tôi tự hỏi làm thế nào mọi thứ đang diễn ra đối với Honza đối với lập trình. Nó sẽ là tốt đẹp để nghe lại.

Đối với những gì nó có giá trị, tôi chịu đựng từ RSI và bây giờ cố gắng giảm thiểu việc sử dụng bàn phím và đặc biệt là chuột.

Kinh nghiệm của riêng tôi về nhận dạng giọng nói là công cụ này KHÔNG hoạt động. Tôi sử dụng phần mềm nhận dạng giọng nói sẵn có của Windows cho Windows 7 (WSR). Tôi cũng đã sử dụng ngón tay (http://voicefinger.cozendey.com/) để giúp di chuyển con trỏ chuột. Một số điểm chính tôi sẽ đề cập là:

Tìm hiểu các phím tắt. Bạn có thể thực hiện hầu hết mọi thứ bằng cách sử dụng phím tắt và nói chúng hoạt động tốt khi sử dụng Nhận dạng giọng nói khi ở "chế độ gõ" (xem bên dưới).

Sử dụng chế độ Gõ. Trừ khi bạn đang đọc chính tả văn bản, điều này rất tốt cho việc nói ngắn gọn với máy tính hoặc để đánh vần những từ lạ. Điều thú vị là nó không phải là một chức năng "được quảng cáo" rõ ràng của WSR.

Bảng chữ cái ngữ âm. Để sử dụng tốt chế độ gõ, hãy tìm hiểu bảng chữ cái ngữ âm: http://en.wikipedia.org/wiki/NATO_phonetic_alph.us Bạn không thể thực sự có được điều này khi không sử dụng bất kỳ hình thức nhận dạng giọng nói nào.

VIM. (hoặc emacs tôi đoán - không chắc chắn). Vim là một công cụ tuyệt vời để chỉnh sửa văn bản mà không cần chạm vào chuột - bao giờ hết. Điều này làm cho nó tuyệt vời để chỉnh sửa văn bản bằng WSR. Bản thân tôi chỉ là người mới bắt đầu VIM nhưng thấy nó vô cùng hữu ích.

Trình duyệt web. Theo kinh nghiệm của tôi, duyệt web vẫn là một điều cực kỳ khó thực hiện nếu không có chuột. Đơn giản là có quá nhiều tình huống đòi hỏi bạn phải di chuột bằng chuột để đến các lệnh bên dưới. Đây là một sự xấu hổ lớn. Tuy nhiên, có một số plugin Firefox thực sự tốt để giúp duyệt mà không cần chuột.

  1. Duyệt web không người lái: https://addons.mozilla.org/en-us/firefox/addon/mousless-browsing/ Đây là một công cụ nhỏ gọn với nhiều tùy chọn cấu hình để đặt số bên cạnh tất cả các liên kết. Sau đó, bạn có thể nhập những số này để kích hoạt liên kết
  2. Vimperator: http://vimperator.org/ Điều này đi xa hơn nhiều so với trình duyệt vô vị. Về cơ bản nó cung cấp cho bạn vim hoàn chỉnh như kiểm soát firefox. Tôi thấy điều này hoạt động tốt hơn so với trình duyệt không có bản quyền, nhưng có thể gây khó chịu trong trường hợp nó thay đổi hành vi mặc định của Firefox.

Đây chỉ là kinh nghiệm cá nhân của riêng tôi. Sẽ thật tuyệt khi nghe lại về cách Honza đang bước vào.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.