
A command-line murder mystery - hodgesmr
https://github.com/veltman/clmystery
======
NAFV_P
A lot of the code that I write looks like a crime-scene.

------
GuiA
Hah, I had a similar idea a few months back [0]. Of course, being the lazy
person that I am, I tweeted about it, wrote about it in my ideas notebook, and
never implemented anything.

Checking this out right now!

[0]
[https://twitter.com/gardaud/status/402608968029057027](https://twitter.com/gardaud/status/402608968029057027)

~~~
barrkel
It's not a new idea.

I recall a database query tutorial on the Apple Mac in the early 90s that took
the form of a detective game. With clues, you gradually refined your query. I
can't find any references to it now though.

~~~
GuiA
Hah, that's awesome- if anyone knows of it, would love to know the name!

I'm definitely familiar with tutorials for programming
languages/tools/environments using the medium itself, as you just described -
but have never seen anything in game form. Further examples appreciated!

~~~
paragraft
I'm not sure about on the Mac, but that sounds like the MS Works 1.0 tutorial
for the database component. The scenario was for a ski field where there had
been a murder, and you had to whittle down the suspects based on the clues
found.

------
schoen
I found it frustrating that gur vagraqrq fbyhgvba cngu qbrfa'g gryy lbh
qverpgyl jura lbh'er qbar naq lbh unir gb vasre gung sbe lbhefrys.

It's a really neat idea and a cool way to give people some command-line
practice.

~~~
jamesk_au
Yes, I agree - I think the name of the suspect should form part of the key
required to decipher the solution file, so that you cannot see the solution
unless your suspect is the perpetrator.

The frustration for me was gur haerfbyirq vapbafvfgrapl orgjrra gur pbssrr
pyhr ng gur pevzr fprar naq Naanory'f jvgarff fgngrzrag.

Gur onevfgn ng gur pevzr fprar ercbegrqyl fnvq gung "n jbzna yrsg evtug
_orsber_ gurl urneq gur fubgf".

Ohg Naanory Puhepu'f vagreivrj erpbeqf ure fnlvat gung fur "ena njnl nf fbba
nf gur fubgf jrer sverq", gung vf, _nsgre_ gur fubgf jrer sverq.

Vg znl or cbffvoyr gb erpbapvyr be rkcynva gubfr fgngrzragf, ohg gurl frrzrq
gb zr gb jneenag ng yrnfg fbzr vairfgvtngvba.

~~~
darklajid
Zl haqrefgnaqvat: Pevzr fprar jnf gur fgerrg va sebag bs gur pbssrr cynpr. Gur
jvgarff vf gur ynfg crefba gung yrsg orsber gur fubgf (bhgfvqr) jrer sverq.

Gung fur ena nf fbba nf fur urneq gur fubgf svgf dhvgr va?

------
veltman
Hey, I'm the one who made this. Glad you guys liked it! This one was a bit
quick and dirty, done for a workshop at the Mozilla Festival last year, I'm
going to try to do another installment though!

~~~
jwhitlark
I had a lot of fun with this. I did it in Clojure, though. Thanks!

------
lost-theory
Very fun and unique. I enjoyed it a lot! My solution (spoiler alert):
[https://gist.github.com/lost-theory/8412918](https://gist.github.com/lost-
theory/8412918)

~~~
veltman
I love this. I've been curious what a one-line solution would look like. :)

------
exDM69
Including the .zip in the repository is a bit redundant when GitHub offers you
the ability to download a zip file of a repository. Like this:

[https://github.com/veltman/clmystery/archive/master.zip](https://github.com/veltman/clmystery/archive/master.zip)

[https://github.com/veltman/clmystery/issues/4](https://github.com/veltman/clmystery/issues/4)
\- I opened an issue about it, just in case the author did not realize this.

------
isxek
Are the executables listed in
[https://github.com/bmatzelle/gow/wiki/executables_list](https://github.com/bmatzelle/gow/wiki/executables_list)
sufficient for use with this?

~~~
liuhenry
Yep, I was just able to do it only with cat, grep, sed, and head.

~~~
azernik
I think I would have found it painful without join and sort, though (which,
also in that list).

~~~
opk
I rarely use join and it never occurred to me. For combining the one file that
had records spanning several lines, I used awk instead of grep -A as the hints
suggest. Where the hints suggest a head/tail combination, I used sed. I also
used sort piped to uniq in one case; combinations of those two are very often
useful.

------
jameshsi
thanks for sharing. this was entertaining and reminded me of [http://vim-
adventures.com](http://vim-adventures.com)

~~~
veltman
Glad you enjoyed it!

------
quantumpotato_
Alicia Fuentes F 48 Walton Street, line 433

There's no Walton Street under streets. Same for a few others I checked. What
gives?

~~~
garethadams
I guess she's not important. What let you to suspect her?

~~~
quantumpotato_
First person in the people file. Is there a bunch of gibberish?

------
chrismorgan
I take it using pagers would be considered cheating, under the categorisation
of "text editors"?

~~~
zhemao
It's not cheating, it just doesn't really help you. There's a lot of noise.
You have to use grep, sed, etc. to find the text that's actually important.

~~~
hobs
Not just a little, holy crap there is a lot! The crime scene file is ~13500
lines of reports.

------
gatesphere
This was fun!

