Trừ khi Mr.Wizard đang đi nghỉ, rất khó để đánh bại hiện tượng này mà dường như có năng khiếu với sự toàn năng và toàn trí. Làm thế nào chúng ta có thể vượt qua anh ta bằng cách sử dụng Mathematica và API StackOverflow?Xem các câu hỏi mới về Toán học bằng cách sử dụng Mathematica và StackOverflow API
Trả lời
Đây là biến thể về giải pháp của Sjoerd.
Sự khác biệt chính là sử dụng ô được gắn đế thay vì hộp thoại bật lên. Ô này có liên kết đến bài đăng mới, cũng như nút sẽ xóa ô được gắn đế với trạng thái trước đó.
Sự khác biệt khác là sử dụng ID câu hỏi thay vì tiêu đề để xác định bài đăng mới. Tôi biết rằng tiêu đề được chỉnh sửa đôi khi, do đó, kích hoạt này như là một bài mới trong trường hợp đó.
storedTitle = "";
storedID = 0;
mySOWatchTask =
CreateScheduledTask[{lastTitle,
lastID} = {"title",
"question_id"} /. ("questions" /.
Import["http://api.stackoverflow.com/1.1/questions?key= \
QEpjCjsXYE6s_kZEkFr4Lw&page=1&pagesize=1&sort=creation&\
tagged= mathematica", "JSON"])[[1]];
If[lastID != storedID,
storedTitle = lastTitle;
storedID = lastID;
SetOptions[$FrontEndSession,
DockedCells ->
Cell[BoxData[
ToBoxes[Style[
With[{dock = Options[$FrontEndSession, DockedCells]},
Grid[{{Button[Style["\[CircleTimes]", 16],
SetOptions[$FrontEndSession, dock],
Appearance -> None], "New StackOverflow question: ",
Hyperlink[lastTitle,
"http://stackoverflow.com/questions/" <>
ToString[lastID]]}},
Alignment -> {{Left, Left, Left}},
ItemSize -> {{2, 14, Scaled[0.7]}}]],
FontFamily -> "Times"]]], "DockedCell",
Background -> Orange]]; EmitSound[Sound[SoundNote[]]]];, 60];
+1 Thay đổi tuyệt vời. Tôi thích bit với cài đặt 'DockedCell' và cách bạn khôi phục cài đặt đó về giá trị ban đầu. Đối với câu hỏi và ứng dụng này, tôi lấy cảm hứng từ blog 'Photo booth' của [Yu-Sung Chang] [1]. Trước đây, tôi nghĩ về việc đánh giá theo thời gian là không có gì hơn cron nhiệm vụ cho công việc hàng loạt, nhưng tôi đã học được rằng nó làm một công việc tuyệt vời trong GUI và các ứng dụng như thế này. [1]: http://blog.wolfram.com/2011/06/23/mission-mathematica-making-a-photo-booth-app-in-three-steps/#more-6374 –
Tôi nghĩ rằng các ô được gắn đế là không được sử dụng, có lẽ vì có một chút nỗ lực liên quan đến việc tạo ra một. Tôi có một số bản sao của Mathematica được cài đặt, và thường là ít nhất hai mở, và sử dụng một tế bào docked tùy chỉnh cho tôi biết máy tính xách tay nào được kết nối với phiên bản nào. Vì lý do này, điều quan trọng là tôi phải có một cách để trở lại tế bào neo đậu bình thường của mình. –
Tôi vừa xem bản chỉnh sửa này. Nó trông đẹp. Nó nhắc nhở tôi về các thông báo mà bản thân SO đưa ra cho các câu trả lời mới vv ... (Ngoài ra: Đối với một khóa học tôi đã dạy, tôi đã sử dụng một ô được gắn trong mẫu chỉ định. Nó chứa thông tin về bài tập, nút câu hỏi tiếp theo và gửi qua nút FTP) – Simon
Khá dễ thực sự. Tất cả những gì bạn cần là như sau.
Xác định một nhiệm vụ theo dõi:
storedTitle = "";
mySOWatchTask =
CreateScheduledTask[
{
lastTitle =
"title" /. ("questions" /.
Import["http://api.stackoverflow.com/1.1/questions?key=\
QEpjCjsXYE6s_kZEkFr4Lw&page=1&pagesize=1&sort=creation&tagged=\
mathematica", "JSON"])[[1]];
If[lastTitle != storedTitle,
storedTitle = lastTitle;
EmitSound[Sound[SoundNote[]]];
MessageDialog["New question: " <> lastTitle]
];
},
60
];
Và để bắt đầu này:
StartScheduledTask[mySOWatchTask];
Dừng lại với:
StopScheduledTask[mySOWatchTask];
Hãy nhìn những gì đang chạy:
ScheduledTasks[] // Shallow
Hủy bỏ nhiệm vụ:
RemoveScheduledTask[mySOWatchTask];
hoặc tất cả các nhiệm vụ:
RemoveScheduledTask[ScheduledTasks[]];
các cuộc thăm dò này SO mỗi phút (the minimum that is not seen as abusive), và hiển thị một hộp thoại và đóng một âm thanh bất cứ khi nào một câu hỏi Mathematica mới đến .
Vẻ đẹp của việc này là: nó sử dụng Mathematica 8, và tất cả chúng ta đều biết Mr.Wizard không có đó (chưa) ;-)
Lưu ý rằng API SO đang được lưu trữ rất nhiều, do đó, phản ứng có thể không đến trực tiếp. Tôi cũng chưa thử nghiệm rộng rãi.
EDIT
Xin lưu ý rằng chìa khóa (app-id) được sử dụng trên được dự định sẽ được sử dụng bởi chỉ ứng dụng Mathematica nhỏ này. Nếu bạn cần một ứng dụng khác nhau, bạn có thể tự mình làm một thủ tục nhanh chóng và không đau đớn here. Tôi mất chưa đầy một phút.
Chìa khóa là ai?:) – bzlm
@bzlm Nó thuộc về chương trình trên. Tên 'khóa' là từ sai. Nó thực sự là một id ứng dụng cho số liệu thống kê sử dụng –
@Sjoerd Congrats trên 5K của bạn! ... –
- 1. Câu hỏi mới về Lisp và các gói
- 2. Hai câu hỏi về Toán học nhanh chóng
- 3. Câu hỏi mới về COM
- 4. Câu hỏi về toán tử Perl6
- 5. StackOverflow biết khi nào có câu trả lời mới cho câu hỏi?
- 6. Hình dạng toán học và hình khối cứng bằng cách sử dụng canvas và javascript
- 7. Câu hỏi về PHP Ngày
- 8. Một số câu hỏi về các toán tử bitwise
- 9. câu hỏi về mysql_real_escape_string
- 10. Câu hỏi về ASP.NET Web API - Ủy quyền/Xác thực
- 11. Câu hỏi về các nhà máy trừu tượng và tiêm
- 12. Ngăn chặn cận huyết và độc canh trong thuật toán di truyền (câu hỏi mới)
- 13. câu hỏi về? và: trong C++
- 14. Câu hỏi thuật toán phổ biến
- 15. toán tử "mới" trong C++, câu hỏi con trỏ
- 16. StackOverflow tối ưu hóa hiệu suất để hiển thị các câu hỏi như thế nào?
- 17. Vài câu hỏi về các phiên PHP
- 18. câu hỏi về toán tử + ghi đè trong ruby
- 19. Câu hỏi về Hiệu suất của Câu lệnh JavaScript
- 20. Câu hỏi về foreach và các đại biểu
- 21. Câu hỏi về C bitfields
- 22. Cách sử dụng sub và superscript trong văn bản Mathematica, ví dụ: công thức hóa học?
- 23. Câu hỏi về giấy phép di chuyển ReSharper Câu hỏi
- 24. Câu hỏi về C# và lớp và chức năng tĩnh
- 25. Khoảng cách biểu tượng của Mathematica khi sắp xếp các công thức toán học
- 26. Các câu hỏi về thông điệp QuickFix nứt
- 27. CollectionViewSource Câu hỏi sử dụng
- 28. Câu hỏi dữ liệu cốt lõi về cách sử dụng thông thường
- 29. Câu hỏi chung về Ruby
- 30. Cách tiếp cận câu hỏi thuật toán này?
Tìm một con cá lớn hơn. Outdoing Leonid có thể yêu cầu AI vượt qua bài kiểm tra Turing. :-) –
@ Mr.Wizard Tôi hầu như luôn luôn có thể xác định bài viết của Leonid như lâu trước khi tôi nhìn thấy thẻ của anh ấy. Tôi nghĩ rằng heuristic vô thức của tôi là Nếu [PostLength> 1 trang, Poster == Leonid], điều đó và có lẽ rất nhiều công cụ CS-ish (đáng kinh ngạc anh ta chỉ nói với bạn anh ta không có một nền CS). –