2000-11-06 15:23:58

by Jeff Dike

[permalink] [raw]
Subject: Play Kernel Hangman!

After a stranger than usual late-night #kernelnewbies session on Thursday, I
was inspired to come up with Kernel Hangman. This is the traditional game of
hangman, except that the words you have to guess are kernel symbols.

So, test your knowledge of kernel trivia and play it at
http://user-mode-linux.sourceforge.net/cgi-bin/hangman

Jeff



2000-11-06 16:27:12

by Eli Carter

[permalink] [raw]
Subject: Re: Play Kernel Hangman!

Jeff Dike wrote:
> After a stranger than usual late-night #kernelnewbies session on Thursday, I
> was inspired to come up with Kernel Hangman. This is the traditional game of
> hangman, except that the words you have to guess are kernel symbols.

Oh, no, no, no, no... my productivity!

I love it. :) My interest in #kernelnewbies has certainly been
tweaked.

So what method did you use to get your list of kernel symbols? (i.e. is
it arch specific as System.map or do you have a way of pulling all
archs?)

Now, can you make a version to guess the values of various #defines? Or
perhaps given the definition, guess the #define. ;) Twisted
individual... and I mean that in the best possible way... ;)

C-ya,

Eli
--------------------. "To the systems programmer, users and applications
Eli Carter | serve only to provide a test load."
[email protected] `---------------------------------- (random fortune)

2000-11-06 19:03:31

by Frank v Waveren

[permalink] [raw]
Subject: Re: Play Kernel Hangman!

On Mon, Nov 06, 2000 at 11:31:44AM -0500, Jeff Dike wrote:
> After a stranger than usual late-night #kernelnewbies session on Thursday, I
> was inspired to come up with Kernel Hangman. This is the traditional game of
> hangman, except that the words you have to guess are kernel symbols.

Pah! I'll be impressed when you code it as a kernel-module, activating
with left-alt scrolllock or something (that still appears to be free).

:-p

--

Frank v Waveren
fvw@[var.cx|stack.nl|chello.nl|dse.nl]
ICQ# 10074100

2000-11-06 19:05:21

by Leen Besselink

[permalink] [raw]
Subject: Re: Play Kernel Hangman!

On Mon, 6 Nov 2000, Jeff Dike wrote:

> After a stranger than usual late-night #kernelnewbies session on Thursday, I
> was inspired to come up with Kernel Hangman. This is the traditional game of
> hangman, except that the words you have to guess are kernel symbols.
>
> So, test your knowledge of kernel trivia and play it at
> http://user-mode-linux.sourceforge.net/cgi-bin/hangman
>
> Jeff

Actually, OpenBSD already has this (in the kernel !) After a kernel crash
ones, I got in the kerneldebugger. I didn't really know how to use it, but
I could play hangman. I just downloaded the source
(pub/OpenBSD/2.7/srcsys.tar.gz) to be sure, here is a short excerpt from
sys/ddb/db_hangman.c:
---
static __inline char *
db_randomsym(lenp)
size_t *lenp;
{
register char *p, *q;
/* choose random symtab */
register db_symtab_t stab = db_istab(db_random(db_nsymtabs));

/* choose random symbol from the table */
q = db_qualify(X_db_isym(stab,
db_random(X_db_nsyms(stab))),stab->name);

/* don't show symtab name if there are less than 3 of 'em
*/
if (db_nsymtabs < 3)
while(*q++ != ':');

/* strlen(q) && ignoring underscores and colons */
for ((*lenp) = 0, p = q; *p; p++)
if (ISALPHA(*p))
(*lenp)++;

return q;
}

static char hangpic[]=
"\n88888 \r\n"
"9 7 6 \r\n"
"97 5 \r\n"
"9 423\r\n"
"9 2 \r\n"
"9 1 0\r\n"
"9\r\n"
"9 ";
static char substchar[]="\\/|\\/O|/-|";

---
and an other part:
---

void
db_hangman(addr, haddr, count, modif)
db_expr_t addr;
int haddr;
db_expr_t count;
char *modif;
{
if (modif[0] == 's' && '0' <= modif[1] && modif[1] <= '9')
skill = modif[1] - '0';
else
skill = 5;

while (db_hangon());
}


2000-11-06 20:40:47

by Jeff Dike

[permalink] [raw]
Subject: Re: Play Kernel Hangman!

[email protected] said:
> Actually, OpenBSD already has this (in the kernel !) After a kernel
> crash ones, I got in the kerneldebugger.

I know. That's what prompted this. My little mind got to working after
someone on #kernelnewbies told me about the hangman program in the OpenBSD
kernel debugger, and the rest is history...

Jeff


2000-11-06 23:44:28

by jdow

[permalink] [raw]
Subject: Re: Play Kernel Hangman!

From: "Leen Besselink" <[email protected]>

> On Mon, 6 Nov 2000, Jeff Dike wrote:
>
> > After a stranger than usual late-night #kernelnewbies session on Thursday, I
> > was inspired to come up with Kernel Hangman. This is the traditional game
of
> > hangman, except that the words you have to guess are kernel symbols.
> >
> > So, test your knowledge of kernel trivia and play it at
> > http://user-mode-linux.sourceforge.net/cgi-bin/hangman
> >
> > Jeff
>
> Actually, OpenBSD already has this (in the kernel !) After a kernel crash
> ones, I got in the kerneldebugger. I didn't really know how to use it, but
> I could play hangman. I just downloaded the source

Now that might be the best argument for a kernel debugger we've seen yet.

{O,o} Joanne Dow, somewhat crazed.