Page 1 of 1

Issues with "That's The Joke"

Posted: Mon Oct 07, 2013 2:00 pm
by fluffy
Known issues. I'll fix what I can find, some might need Spud intervention though.

Crumplestiltskin - missing
Glenny - mislinked as glennny_ttj.mp3
g rock - mislinked as just ttj.mp3
Paco del Stinko, Phoebe Lichty, Sep - mislinked as kingarthur_ttj.mp3

EDIT: Everything's fixed except I can't find Glenny's file. Also fixed the broken discussion thread link. Nobody reviewed Glenny's song so I'm thinking he didn't actually enter.

Re: Issues with "That's The Joke"

Posted: Mon Oct 07, 2013 2:37 pm
by Lunkhead
Wow, I didn't even notice that stuff, since I hadn't looked at "That's the Joke" since it was archived.

You are correct. Glennny did not enter solo as "Glennny". He entered as G.U.N.S., which I think is the name he uses when he collaborates with Niveous.

Re: Issues with "That's The Joke"

Posted: Mon Oct 07, 2013 2:38 pm
by Lunkhead
Also it looks like the date range was copy/pasted from the archive data for "That's the Joke" and reused in the current fight data for "Overcast". I mentioned the issue in another thread but hadn't yet done any research on a possible explanation.

Re: Issues with "That's The Joke"

Posted: Mon Oct 07, 2013 2:41 pm
by Lunkhead
Somehow the Jukebox wound up with two "g rock" entries. :( And a phantom Glennny entry with one vote.

I've been learning Python/Django for the last three months at my new job. I think those work fine on Dreamhost hosting, unlike Java, right? I'd happily help out in any way that such skills could be useful.

Re: Issues with "That's The Joke"

Posted: Mon Oct 07, 2013 8:04 pm
by fluffy
Python is supported, but Django might be a bit too heavyweight. The only reason php works as well as it does is because they've done a custom fastCGI wrapper around php-cgi which makes it scale not-horribly. Dreamhost very clearly wants everything to be in a lowest-common-denominator form, and that currently means php and MySQL.

Frankly, for a site like Song Fight, I think static generation is generally the way to go anyway (and is pretty much the model used right now, albeit ass-backwardsly thanks to the kludgy way I implemented page caching). That's a big part of why I use Movable Type to manage my site - the only PHP I have on it (aside from the forum) is to work around shortcomings in the MT templating system. Aside from the few pages that show forum content, none of them touch a database at all, and have essentially no code TO exploit or scale-fail (aside from a few easily-cached filesystem lookups that I could have done in other purely-static ways anyway).

I think the amount of code it would take to make Django provide a model suitable for Song Fight would be just as much as the amount of code it wold take to write a custom CMS, and a custom CMS that generates static pages will definitely scale far better than a full-on application framework.

Re: Issues with "That's The Joke"

Posted: Mon Oct 07, 2013 11:16 pm
by Lunkhead
Please don't get so distracted by the fact that I included Django. I wasn't proposing specific implementations, just saying I am now familiar with those things. Previously I was only really comfortable with Java, which wasn't useful on Dreamhost, but now I could be a resource for writing new code and/or porting existing code to Python, if anybody felt like that could be useful..

Here are the areas that seem to me like they could use some attention:

- it seems like it could be useful to have more resources available to maintain/develop the mechanisms that make songfight.org go
- It seems like whatever the current process is, it involves some not insignificant manual effort, and maybe some of that could be automated
- it seems like the current process involves some copy/paste, which I feel like is an inherently error-prone mechanism
- statically generated pages are fast but they don't allow for arbitrary searching and sorting, so, there is a limitation to not having any kind of database at all
- are scaling and performance really issues that matter to songfight.org, or are they really issues that could hypothetically matter, in which case some compromises from an "ideal" system could be allowed?
- it seems like it some things could be updated, like at least using JSON for the data files, incorporating an MP3 playing JavaScript library, etc.

Re: Issues with "That's The Joke"

Posted: Tue Oct 08, 2013 9:11 am
by fluffy
Well, when you talk about Django and Python in this context, it immediately makes me think you're proposing using those as a new SF engine. What else am I supposed to respond to? The thing is that ANY application platform that isn't based on php will always be a second-class citizen on Dreamhost, and in my experience, unless you tune those platforms to static page generation and taking essentially 0% CPU, Dreamhost will start killing your processes arbitrarily, degrading everything for everyone.

Points 1-3 I agree with.

Point 4: I'm not saying NOT to use a database, just to use the database to generate static pages. There's also only so many ways a page can be viewed. Obviously, search would still be driven by the db, but the vast majority of pageviews (including different sort options) can be generated statically. The static generation can also be done on an on-demand basis, although that's usually not worth the effort. Also, don't forget that exporting data in an easy-to-index way means that external search tools (Google, DuckDuckGo, SF Jukebox, etc.) can handle the heavy lifting without any server or admin load, too.

Point 5: Read scaling is pretty important to Song Fight, considering the amount of bot traffic we get, especially from illegitimate mp3-focused search engines. That's why we even have artist/archive page caching in the first place.

Point 6: Totally agree.

Re: Issues with "That's The Joke"

Posted: Wed Oct 09, 2013 3:38 pm
by Spud
Normally, the update is automated. However, due to a snafu, I had to do some manual editing of the archive this week. Looks like I didn't quite finish it before you guys caught it...