

Zed Shaw's latest project - Fret War - tspnemeto
http://www.fretwar.com
Fret War is a guitar competition site where contestants try to defeat lesser guitarists in weekly rounds playing randomly generated music. Awards are given each week for interpretation, accuracy, speed, and uniqueness.
======
aston
From his most recent blog post:

    
    
      There’s a good chance the site will crash if this blog post 
      hits the nerd sites, so just ignore Fret War until it’s stable.

~~~
jrockway
There's a good chance that Zed is saying that to get his site posted to all
the "nerd sites".

------
rick888
Did zed ever get another job? (didn't he leave to California a couple of
months ago?)

~~~
zacharydanger
<https://www.dropbox.com/about> \-- He's an engineer at Dropbox now.

~~~
unalone
Hot damn! I'd never have expected him to find his way there, but it seems like
it would be a good fit. A smart ambitious guy who hates bullshit, and one of
the few companies that it's impossible to accuse of bullshitting. I wish them
both luck.

------
antidaily
The concept isn't clear enough. Either that or there's not enough content yet.
Or maybe I have to sign up? I'm confused.

------
Locke1689
I don't like the idea. I prefer playing with other musicians, not trying to
beat them. That doesn't even sound fun to me.

~~~
ahsanulhaque
Sure, you might prefer jamming with other musicians. But Fret War really is
for guitarists who're keen on developing technical proficiency,, composition
and improvisation skills. To be technically proficient, you always have to
strive to be better than others, not necessarily "beat them".

------
chasingsparks
The information collected is actually pretty interesting. I assume voting will
have something to do with sounding good in addition to speed and accuracy.
Besides making a cool site, he just crowd-sourced music production (everything
is released with a CC license).

------
tptacek
So, this is GuitarWar, right?

~~~
zedshaw
<http://runplaybook.com/> is just rsync, right?

:-)

~~~
tptacek
Not even. It's mostly straight SSH. With a little Ragel thrown in.

------
dzohrob
who wants to spend time learning to play this?

[http://fretwar.com/static/data/round/1/media/xzibitonics_C.m...](http://fretwar.com/static/data/round/1/media/xzibitonics_C.mp3)

~~~
spudlyo
Jamming to randomly generated music doesn't sound like everyone's cup of tea.

~~~
zedshaw
Well the challenge wasn't to "jam" to it, it was to be able to play it. I did
it, and I'll say it was _way_ too hard for most guitarists.

This was on purpose to act as a sort of implicit "invite only" mechanism. It
kind of worked a bit too well.

The next round will be more "jamming" oriented and open ended so more people
can play.

~~~
eric_t
I didn't find it hard at all, just not very interesting, so wasn't motivated
to learn it (no offense). I think having more open-ended jam tracks would work
better.

~~~
zedshaw
Alright, prove it. Send in your submission. If it was so easy you should be
able to send it in and compete, regardless of whether it's interesting or not.

------
vorador
I think that there's a display bug under firefox 3.0.5 (ubuntu) : the order of
the labels of the fields of the signup form is wrong.

By the way, why is it required to have a twitter account ?

~~~
ahsanulhaque
It's not required, but preferred.

------
cmelbye
Using Ruby on Rails and running on Mongrel, I assume?

~~~
zedshaw
Nope, not rails (troll). It's a web.py application combined with a Lamson
application. The frontend is run through nginx and I use some heavy caching
tricks to make it fast as possible.

The primary design for hosting costs (scalability) are:

1) <http://wiki.nginx.org/NginxHttpAdditionModule> to serve static headers and
footers so the framework doesn't.

2) Javascript determines the login state of a user and then displays user
state links.

3) Generation of the site is "out of order" for convenience of
generation/caching, and then javascript knits it back together. We'll explore
more of this later.

4) Caching for about 5 minutes on most pages, depending on usage.

5) Use of <http://wiki.nginx.org/NginxHttpProxyModule#proxy_store> to do page
caching for content that needs to be dynamically generated very infrequently.

6) Gzip compression (should do precompression really) and other tuneups.

7) Using Lamson to accept posts via email so that they're processed off-line
and statically generated. This is also really easy for people to use and easy
to setup, so triple win.

It's currently not close to a production setup, but I'm going for making it
easy to host on a small server to keep costs low. Part of that is just not
using the framework when possible.

For statistics, right now the Nginx server is getting a modest 4-10 req/sec
for html, but the backend is only serving about 1 request a minute thanks to
all the above. Also the site really doesn't accept uploaded content via HTTP
except say for photos.

Hope that helps, I may blog about it more later.

~~~
apu
Wow, someone else using web.py, and that too for a "real" project! I always
feel like a n00b for using such a stripped-down "framework" but after spending
some time trying Pylons and Django, I found them both to be too "heavy-weight"
for me.

What do you like and dislike about web.py?

~~~
zedshaw
I like web.py for this because it's tiny, fits HTTP real well (try doing REST
with Django), and it's "just a library" so it's easy to mesh with Lamson.
Also, I was bored.

What I don't like about web.py is this:

<https://bugs.launchpad.net/webpy/+bug/435370>

I have to hack that fix in to every web.py install because they're too
arrogant to actually fix it properly, even when given the fix.

~~~
jpeterson
Zed, I know you mean well, but your wording in that bug report is extremely
asshole-ish. Can't you point out flaws without being so snarky?

~~~
zedshaw
It's not asshole-ish at all, it was just direct and made the point much
clearer with the proper amount of urgency. This bug crashes sites consistently
and is easily exploited. That's serious enough to warrant an immediate fix and
release with an apology for the design. That's what I've done on my projects,
and that's what I expect.

Now, the question is why do you demand humility from me, but not from them?

~~~
jpeterson
Given the downvotes and the other comment here, it seems taht I'm in error,
and I'll retract my statement. I guess I misread it; sorry about that.

------
9oliYQjP
I might check this out if they had a category for bass guitars.

~~~
SwellJoe
Why would it require a bass guitar category? It appears to be entirely about
generic scales and such. Just play it a couple of octaves down.

~~~
vorador
Because it could get way harder ?

------
acarabott
Seems like 'web 2.0' guitarwar.com right?

