<♥> to Help │ ANSI-BBS │ 9600 N81 │ │ Telecom 2.71 │ Online 00:00--- Feb 2, 2005 --- I happened upon KROW today. After reading the "Introduction to KROW" on --- their website, I created an account and logged in using the console/text --- interface. This is what I saw:
Trying 64.71.163.206... Connected to login.krow.net. Escape character is '^]'.
login: saul password:
Login successful.
Welcome to KROW, saul. 107/3218 members online. You have 0 krowmids in your account.
You are in #newcomer with 7 members (3 Masters).Type 'help' for a list of commands at any prompt. 22:48> help
Commands: chat [#<channel>] receive chat messages on the specified channel gimme [<search_phrase>] gimme some work to do help [<cmd>] help on a specific command krowbench go to the krowbench list [all|online|#<room>] show all, online, or room members by default market go to the market request <title> file a request for work to be done view [<user>] look at user's profile tournament [<subject>] enter a tournament and go to tournament mode
22:51> list
newcomer has 7 members (3 Masters)
Members (7): zerbert ayiuk spoohw Arguably IuIuIuI madrian saul Masters (3): twinkle Winston Gerbil
22:51> view gerbil Gerbil Status] Idle for 36 minutes.
37 Belts] krow-3 ... 2 Students] madrian alienheadInfo] http://www.gerbilsplace.net
22:52> chat Entering chat mode in #newcomer: Welcome newbies, one and all! [previously on #newcomer] 22:15 madrian: mom's calling dniner 22:15 Gerbil: see ya 22:16 * madrian signed off.
22:52 Gerbil: welcome saul 22:52 saul: hello Gerbil. i am a professional software developer with some free time on the weekends. how would you suggest i start out? 22:54 Gerbil: first you should get yourself ranked. use the 'tournament' command ('/tournament' in chat). 22:55 saul: thanks! 22:55 saul: tournament 22:55 saul: sorry
22:55> /tournament Leaving chat mode in #newcomer (still in room). Entering tournament. You own 0 belts, 0 vkrowmids.
Choosing tournament subject with highest market value: C/C++ How long have you been coding with C/C++?
22:55> 4 years How many rounds would you like (1, 3, or 5)? 22:55> 1
22:56 Entering saul in the tournament queue...
1 round vs. Maizuka
Round 1: Implement a C function called atoi(), that converts a string to an integer. You may assume that <ctype.h> and <limits.h> are #included.
This round will terminate at 23:26.
22:56> info maizuka Maizuka Status] occupied in a tournament until 23:26 1 Belt] krow-green
Info] i attend university of sydney, compsci major. been coding for almost a year.
22:56 #newcomer spoohw> haha n00bs=)
22:56> help (30 minutes remain) Commands: edit edit your solution (overrides previous entry) line <line#>: <l> replaces or inserts <l> into the latest submission test <input> provide an test input string status display status of the tournament dispute <test#> dispute the results of a test case show source displays your current source code show tests displays the current combined test suite
22:57> edit (29 minutes remain) Press ^D to submit, ^C to revert changes, ^Z to suspend.
1> int atoi(char str) 2> { 3> int r=0; 4> 5> while (isdigit(str)) 6> { 7> r = 10; 8> r += str - '0'; 9> ++str; 10> } 11> return r; 12> }^D(21 minutes remain)
Submission 1, saul: compiles with 0 warnings.
7 tests pass, 4 tests fail.23:05> test 5 T12: "5" = 5 (5) 23:05> status (21 minutes remain)
You created 1/12 test cases and 1/1 submissions. Submission 1, saul: compiles with 0 warnings.
8 tests pass, 4 tests fail. Bonuses: +1 for first submission23:05> show tests 8 tests pass, 4 tests fail. input reference output your output
T1: "1000" 1000 1000 T2: "pigs" 0 0 T3: "amy545" 0 0 T4: "234amy" 234 234 T5: "" 0 0 ! T6: NULL 0 Segmentation fault T7: "298347" 298347 298347 * T8: "-1983827" -1983827 0 T9: "298,347" 298 298 * T10: "99999999999999" 2147483647 276447231 * T11: "-99999999999999" -2147483648 0 T12: "5" 5 523:07> line 4: if (str == NULL) return 0; // T6 23:10> line 3.1: char sign = '+';
23:10> line 4.1: if (str == '-' || str == '+') { sign = *str; str++; } 23:11> line 10.1: if (sign == '-') r = -r; // T8 23:12> line 8.1: if (r > INT_MAX/10) { r = INT_MAX; break; } // T1023:14> test 000045 T13: "000045" = 45 (45)
23:14> test " 5318008" * T14: " 5318008" = 5318008 (0)
23:14> test "-01" T15: "-01" = -1 (-1)
23:15> test "-pigs" T16: "-pigs" = 0 (0)
23:15> test " -5" * T17: " -5" = -5 (0)
(10 minutes remain) 23:17> test " +5" * T18: " +5" = 5 (0)
23:18> line 4.01: while (isspace(str)) str++; // T14, T17, T18 23:18> show source 1 int atoi(char str) 2 { 3 int r=0; 3.1 char sign = '+'; 4 if (str == NULL) return 0; // T6 4.01 while (isspace(str)) str++; // T14, T17, T18 4.1 if (str == '-' || str == '+') { sign = str; str++; } 5 while (isdigit(str)) 6 { 7 r = 10; 8 r += *str - '0'; 8.1 if (r > INT_MAX/10) { r = INT_MAX; break; } // T10 9 ++str; 10 } 10.1 if (sign == '-') r = -r; // T8 11 return r; 12 }
23:18> status (8 minutes remain)
You created 7 of 18 test cases and 1 of 2 submissions. Submission 1, saul: compiles with 0 warnings.
17 tests pass, 1 tests fail. Bonuses: +1 for first submission23:18> chat [already on #newcomer] 22:55 saul: sorry 22:56 Gerbil: no worries 22:56 spoohw: haha n00bs=)
(7 minutes remain) 23:19 saul: does anyone know if negating INT_MAX results in INT_MIN? 23:19 spoohw: are you in a compo? 23:20 Gerbil: saul, no cheating 23:20 saul: dangit, okay, nevermind 23:20 Gerbil: who are you coding against? (5 minutes remain) 23:21 saul: your mom 23:21 saul: just kidding, it's some uni student, maizuka 23:21 Gerbil: oh yeah, i've met him, nice kid 23:22 saul: line 8.1: if (r > INT_MAX/10) 23:22 saul: argh
23:22> /tournament Leaving chat mode in #newcomer (still in room). Re-entering tournament vs. Maizuka.
23:22> line 8.1: if (r > INT_MAX/10) 23:22> line 8.2: { return (sign == '-' ? INT_MIN : INT_MAX); } // T10
23:23> status (3 minutes remain)
You created 7 of 18 test cases and 1 of 2 submissions. Submission 1, saul: compiles with 0 warnings.
18 tests pass, 0 tests fail. Bonuses: +1 for first submission23:24 #newcomer spoohw: you'll get the hang of it :) 23:25 (1 minute remains)
23:26 Tournament results: saul vs. Maizuka Submission 1, saul: compiles with 0 warnings.
17 member tests pass, 1 tests fail. 6 master tests pass, 1 test fails. Base: 6 points for passing master tests Bonuses: +1 for first submission +3 for creating tests opponent failedSubmission 2, Maizuka: compiles with 0 warnings. 15 member tests pass, 3 tests fail. 5 master tests pass, 2 tests fail.
Base: 5 points for passing master tests Bonuses: +1 for creating tests opponent failed
Round 1, final score: saul 10, Maizuka 6
You win the tournament! You receive a tentative green belt.
You can see Maizuka's entry and results at: http://www.krow.net/solutions?entry=Maizuka&competition=...
23:26 #newcomer Gerbil: saul, how'd you do? 23:27 private Maizuka: nice one, you got me on the spaces
23:27> chat [already on #newcomer] 23:22 saul: argh 23:24 spoohw: you'll get the hang of it :) 23:26 Gerbil: saul, how'd you do?
23:27 saul: i got a "tentative green belt", what can i do with it? 23:27 spoohw: write tentative code 23:27 Gerbil: saul, go to /krowbench and browse the database for tasks you can complete, bugs you can fix, or tests you can write 23:28 saul: cool, let me grab some food first 23:28 * saul has logged off