3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-26 04:32:35 +01:00
Commit Graph

504 Commits

Author SHA1 Message Date
Pragmatic Software
2258512698 Replace incomplete question with one that makes more sense 2015-05-24 12:12:07 -07:00
Pragmatic Software
0bef21770f Reduce weight of correct answers in quickest streak by half 2015-05-24 06:19:03 -07:00
Pragmatic Software
b79b835579 Add nick field to WrongAnswers; don't update average if > 10 mins elapsed since question asked 2015-05-24 06:17:56 -07:00
Pragmatic Software
cd0486e525 Remove UNIQUE constraint from WrongAnswers 2015-05-23 09:25:20 -07:00
Pragmatic Software
2dc245abed Add qstats command; todo: ranking 2015-05-23 06:24:49 -07:00
Pragmatic Software
ae128442a8 Add date for quickest/longest answer qstat 2015-05-23 06:24:22 -07:00
Pragmatic Software
afad192b83 Show fractional seconds; use concise duration 2015-05-23 06:23:37 -07:00
Pragmatic Software
41cc190f2a Add "expansion" as an alternative answer to "replacement" 2015-05-23 06:22:45 -07:00
Pragmatic Software
7d3bf58d86 Oops, add missing equation to moving average formula 2015-05-23 02:58:58 -07:00
Pragmatic Software
5b4fccb3f4 Add per-question statistics gathering 2015-05-23 02:27:53 -07:00
Pragmatic Software
7a5a3a38f2 Improve quickest streak ranking; misc bug-fixes 2015-05-23 02:27:08 -07:00
Pragmatic Software
04a308a59e Improve quickest-streak algorithm for setting new records
Use the following formula to set personal records for quickest-streak
relative to an existing personal current record.

(ranked_streak + ranked_streak) / ranked_answers > (current_streak + ranked_streak) / current_answers

E.g., given a current record of 8 correct answers in a row in 1 minute and
20 seconds, to beat that record you'd need: 6 answers in 40 seconds, 7 in
1 minute, 9 in 1 minute 40 seconds, 10 in 2 minutes, etc.
2015-05-22 04:03:39 -07:00
Pragmatic Software
b0b74cd6ea Add "greater" as alternate answer to a certain question 2015-05-22 03:59:00 -07:00
Pragmatic Software
66635da9cc Don't bold "this" or "these" embedded in other words 2015-05-22 03:58:28 -07:00
Pragmatic Software
ada7f57141 Reduce hint timeout to 20 seconds; don't update hint statistics if in hints-only mode 2015-05-22 03:57:30 -07:00
Pragmatic Software
8508be2d72 Add quickest-correct-streak logic CJeopardy scores module
Remove colors from `score` command
2015-05-21 07:35:04 -07:00
Pragmatic Software
766859eca0 Remove underscore typo 2015-05-21 03:26:38 -07:00
Pragmatic Software
51d8a136ce Add quickest-correct-streak logic to CJeopardy answer module
Todo: Add to `rank`, `scores`, and `reset`.
2015-05-21 02:25:08 -07:00
Pragmatic Software
882dea12e4 Add clang++ language option
Update all clang languages to use clang-3.7.
2015-05-18 20:50:11 -07:00
Pragmatic Software
d001720f11 Add qbasic language (using freebasic -lang qb) 2015-05-18 20:49:12 -07:00
Pragmatic Software
06ee49d7ff Update compiler_server.pl 2015-05-18 20:48:39 -07:00
Pragmatic Software
03baaeb81c Refactor handling of --version flags; add --analyze
Move handling of certain language-specific flags out of
compiler_vm_server.pl and into their own language modules.

Add support for clang --analyze.

Java now understands -version.
2015-05-18 20:48:15 -07:00
Pragmatic Software
c69d6c1953 Ignore more useless URL titles 2015-05-08 05:11:07 -07:00
Pragmatic Software
3baa1cf809 Added qalc calculator module 2015-05-08 05:02:57 -07:00
Pragmatic Software
7139490067 Updated math.pl to perform unit conversions 2015-05-08 05:02:35 -07:00
Pragmatic Software
bc99ac001f Compiler CPU watchdog: print message only when there's load 2015-04-21 01:10:45 -07:00
Pragmatic Software
10c17bd3ad Add watchdog to monitor VM cpu load and reset for excessive load
Detect if VM is running under excessive load (e.g., due to fork bombing)
for longer than a certain period and reset the VM state if so.
2015-04-20 21:33:01 -07:00
Pragmatic Software
ef22f9578d Move backspace handling to base class for all languages 2015-04-16 03:12:07 -07:00
Pragmatic Software
0d69796e6f Increase BC_LINE_LENGTH in bc language 2015-04-16 03:11:10 -07:00
Pragmatic Software
c4659cd4cb Minor cosmetic refactoring of C11 language 2015-04-16 03:10:45 -07:00
Pragmatic Software
766e433d33 Add all standard C++ headers to C++ compiler_vm language 2015-04-16 03:09:32 -07:00
Pragmatic Software
3a7051b32b Perform rudimentary Java language preprocessing 2015-04-10 05:08:07 -07:00
Pragmatic Software
d3eca7544f Add Java language to compiler_vm 2015-04-10 03:43:45 -07:00
Pragmatic Software
518f6d041f Add Go language to compiler_vm 2015-04-09 11:04:34 -07:00
Pragmatic Software
c8f35ddb09 Add Haskell language to compiler_vm 2015-04-09 11:04:18 -07:00
Pragmatic Software
88f6998b12 Improve support for C++ functions within structs/classes 2015-04-09 11:03:42 -07:00
Pragmatic Software
1122f7ede6 Use name field for -info flag 2015-04-09 11:03:04 -07:00
Pragmatic Software
38d109059a Improvements to watchdog
Expand escape sequences
Ignore various text related to no symbol table and to threads
Automatically continue on breakpoints for functions prefixed with underscores (mostly because of C++)
2015-04-09 11:02:20 -07:00
Pragmatic Software
355853c24e Remove indent(1) since it barfs on some C99/C11 constructs 2015-04-06 06:43:08 -07:00
Pragmatic Software
8bbfe2d387 Add scheme language to compiler_vm 2015-04-06 00:49:38 -07:00
Pragmatic Software
332545452f Add clisp language to compiler_vm 2015-04-06 00:49:29 -07:00
Pragmatic Software
a8c813e631 Update C++ compiler_vm to gcc 5.0 and use -std=c++14 2015-04-06 00:48:57 -07:00
Pragmatic Software
2db52fd656 Add Lua language to compiler_vm 2015-04-05 02:32:08 -07:00
Pragmatic Software
d01cbde65b Add JavaScript language to compiler_vm (using Google V8) 2015-04-05 02:31:45 -07:00
Pragmatic Software
4986c786f1 Add FreeBASIC language to compiler_vm 2015-04-05 02:31:09 -07:00
Pragmatic Software
8686a40104 Add C++ language to compiler_vm 2015-04-05 02:30:42 -07:00
Pragmatic Software
14ebbe2533 Add support for using an optional name field to override language
Since Perl modules cannot use certain characters in the module name,
such as the '+' character, modules cannot have names like "c++".

Using a `name` field allows us to use, e.g., "cpp" as the module name
and "c++" as the language name to invoke that module.
2015-04-05 02:29:12 -07:00
Pragmatic Software
137a29cd3c Improve indentation for pretty-pasting; remove newline replacement code 2015-04-05 02:24:56 -07:00
Pragmatic Software
1b342af3a4 Replace newlines outside of literals for all languages; improve interactive-edit replacement logic 2015-04-05 02:24:01 -07:00
Pragmatic Software
2261a5bc75 Don't split numbers across lines; use -l as default optional arg 2015-04-05 02:21:35 -07:00