MVC/JQuery meets X-Mas Music Project

MetalXmas.com


My friend Dave and I embarked on a project a few weeks ago, initially just meant to be an audio CD for our family, that included some rockin' versions of everyone's christmas favorites.  As we started to record it, we got more and more excited about how it might turn out.  Being the uber code master that I am, I opted to make a website... then in a blink, a friend who is incredible at Flash offered to help. This turned out to be a great experience for all of us, and the feedback has been tremendous. 

I'm very proud to share with you (make sure your speakers are on) www.metalxmas.com 

The code-behind
I wanted to have a spot for friends, family, and haters to post their honest ramblings, so I decided to go with the much-loved JQuery/ASP.NET MVC combo; what a joy as always.  One bug I ran into, that seems to have been noticed before me, is the ability to cache the root page of your ASP.NET MVC site using the OutputCache attribute.  According to this thread, the mvc team will have a fix soon.  For the time-being, I ended up caching at the repository level by just sticking the data response from disk into the HttpContext cache to ensure I only read and parse my xml file every 10 seconds.

Nothing else too interesting came up. I added some spam protection, input validation (client and server-side), and HtmlEncoding to protect any hijacks.  All in all, another great experience.  I would share the code, but I have a certain Oxitephobia.

Scalability
In the hopes (and delusions of grandeur) of this thing being picked up as even a semi-viral hit.  I wanted to make sure the site wouldn't go down.  I placed the flash file, the four mp3 files, the images, and the css file on a CDN.  I initially started with Amazon S3... but at 15cents/gig compared to SimpleCDN's 6cents/gig I had to switch.  I've been very happy with my experience, and they even include $15 worth of free credit when you first sign-up.  A friend of mine suggested I use the YSlow plugin to analyze my site; this ended up with the following configuration:

  • HTTP Compression enabled on CDN (via url configuration) and IIS (c'mon, if you haven't done this yourself already, DO IT NOW)
  • Set content expiration on all files on CDN to have 10 year expiration headers (I named the files themselves with version numbers to allow for forcefully expiring if needed)
  • JQuery and SWFObject scripts hosted via google
  • All scripts at the bottom
  • XHTML 1.0 Strict validated by W3

This ended me with an A score with YSlow.  I felt accomplished.

Parting thoughts
I hope you enjoy it, it's definitely meant to be funny - so don't take it too seriously.  Feel free to pass it along to your friends and family!

Published Monday, December 15, 2008 9:26 PM by dotjosh
Filed under: , ,

Comments

# re: MVC/JQuery meets X-Mas Music Project

Hopefully you'll reconsider sharing the code.  Even if it's not perfect, it sounds like a great bit of learning material.

Either way, thanks for sharing this!

Tuesday, December 16, 2008 7:31 PM by Lance

# re: MVC/JQuery meets X-Mas Music Project

Actually, its not good that developers are in fear of eachother now thanks to all this Oxite talk. Dev's should not be afraid of sharing code because of other devs.

Wednesday, December 17, 2008 3:13 AM by Kenny Eliasson

# re: MVC/JQuery meets X-Mas Music Project

It was actually more of a joke.  I'm going to do a followup post with the actual code sometime soon.

Wednesday, December 17, 2008 12:05 PM by dotjosh

# re: MVC/JQuery meets X-Mas Music Project

Just don't say TDD fanboys are gonna love it and come out with 4 bizzilion lines of code and 51 tests :P

Monday, December 22, 2008 1:48 PM by karl

# re: MVC/JQuery meets X-Mas Music Project

Interesting and informative. But will you write about this one more?

Tuesday, October 27, 2009 5:11 PM by Ventego

# re: MVC/JQuery meets X-Mas Music Project

i like it very much

Wednesday, May 18, 2011 8:21 PM by True Religion Jeans Outlet

# re: MVC/JQuery meets X-Mas Music Project

This is a worderful article!

Saturday, May 28, 2011 4:00 AM by Chicago Blackhawks Jerseys

# re: MVC/JQuery meets X-Mas Music Project

This one article alone shows off your excellent writing skills. I am very impressed with your views and interesting content. I hope you intend to continue writing more informational articles.

Sunday, June 12, 2011 2:51 AM by cheap true religion jeans

# re: MVC/JQuery meets X-Mas Music Project

too - taking time and real effort to make a good article... but what can I say... I procrastinate alot and never seem to get something done.

Tuesday, June 21, 2011 11:42 PM by yankees jerseys

# re: MVC/JQuery meets X-Mas Music Project

I really enjoy reading the blog. It really brings a unique point of point of view.

Tuesday, July 5, 2011 2:17 AM by MBT

# re: MVC/JQuery meets X-Mas Music Project

too - taking time and real effort to make a good article... but what can I say... I procrastinate alot and never seem to get something done.

Friday, July 8, 2011 2:42 AM by mbt sandals

# re: MVC/JQuery meets X-Mas Music Project

Like your blog I think it is only the finest. I am going to definitely become returning to see it all over again soon. Please continue to make this astounding, it can be utlimately the top web site We’ve previously seen. I love to study that. It’s only good.

Monday, July 11, 2011 3:25 AM by moncler vest

# re: MVC/JQuery meets X-Mas Music Project

Thanks for post. I keep more interesting publications. Been following blog for five days now and I should say I am beginning to like your article this site. I need to know how can I subscribe to your blog?

Tuesday, August 2, 2011 12:55 AM by Cheap Sunglasses

# re: MVC/JQuery meets X-Mas Music Project

I am Happy to be here! Interested parties can contact a lot

Thursday, August 18, 2011 2:57 AM by cheap baseball hats

# re: MVC/JQuery meets X-Mas Music Project

Generally I do not post on blogs, but I would like to say that this post really forced me to do so, Excellent post!

Friday, August 19, 2011 9:43 AM by Red Bull Hats

# re: MVC/JQuery meets X-Mas Music Project

I just got out of bed and I am already reading your articles. This means something! Really useful information. Thanks!

Monday, September 26, 2011 4:53 AM by Home Security

# re: MVC/JQuery meets X-Mas Music Project

Is there anyone who hasn't suffered for the secret love? We always think that love is very heavy, heavy and could be the heaviest thing in the world. But one day, when you look back, you suddenly realize that it's always light, light. We all thought love was very deep, but in fact it's very thin. The deepest and heaviest love must grow up with the time.

Wednesday, October 26, 2011 9:40 PM by Canada Goose expedition

# re: MVC/JQuery meets X-Mas Music Project

It  is a good article , I think you have spend a lot of time on it ,I am enjoy talking here

Thursday, October 27, 2011 4:06 AM by moncler outlet

# re: MVC/JQuery meets X-Mas Music Project

Hi, i just thought i'd post and let you know your blogs layout is really messed up on the K-Melon browser. Anyhow keep up the good work.

Saturday, October 29, 2011 2:14 AM by canada goose jackets

# re: MVC/JQuery meets X-Mas Music Project

Hi, i just thought i’d post and let you know your blogs layout is really messed up on the K-Melon browser. Anyhow keep up the good work.

Saturday, October 29, 2011 9:00 PM by Canada Goose Citadel Parka

# re: MVC/JQuery meets X-Mas Music Project

Thos blogs must have been interesting!

Wednesday, November 2, 2011 3:28 AM by Deepak

# re: MVC/JQuery meets X-Mas Music Project

Super-Duper site! I am loving it!! Will come back again - taking you feeds also, Thanks.

Sunday, November 6, 2011 9:42 PM by canada goose jakke

# re: MVC/JQuery meets X-Mas Music Project

I really like this website , and hope you will write more ,thanks a lot for your information.

Wednesday, November 9, 2011 3:52 AM by canada goose pas cher

# re: MVC/JQuery meets X-Mas Music Project

Cours du développement de la biographie officielle des animaux au niveau libérés Bugatti Veyron

Saturday, November 12, 2011 3:23 AM by canada goose parka

# re: MVC/JQuery meets X-Mas Music Project

The worst bankrupt in the world is the man who has lost enthusiasm. Let him lose everything but enthusiasm and he will come through again to success.

Monday, November 14, 2011 2:52 AM by Canada Goose Outlet

# re: MVC/JQuery meets X-Mas Music Project

agH4oX Can be also this issue because the truth can be achieved only in a dispute :DD

Tuesday, December 27, 2011 9:55 PM by buy Microsoft Office software

# re: MVC/JQuery meets X-Mas Music Project

The post is written in exceptionally a superior way with it entails much of use in turn intended for me. I am content on the way to discover your eminent method of writing the positio.

Wednesday, February 15, 2012 3:28 AM by Wholesale Lingerie

# re: MVC/JQuery meets X-Mas Music Project

A quite nice niche blog, and a good quality design there sparks Simplicity yet complex algorithm of the web. Thank You.

Wednesday, February 22, 2012 12:02 AM by outsourcing design

# re: MVC/JQuery meets X-Mas Music Project

Thanks! You oftentimes indite rattling interesting articles. You improved cor mood.aguish be bet on over again.

Monday, February 27, 2012 11:35 PM by beats by dre discount

# re: MVC/JQuery meets X-Mas Music Project

I Comprise extremely instilled with your composition acquirements and also with the designing of your blog.Thanks since such as a great post and the look back, I comprise totally moved!

Monday, February 27, 2012 11:54 PM by burberry outlet

# re: MVC/JQuery meets X-Mas Music Project

Your post is an excellent example of why I keep coming back to read your excellent quality content that is forever updated.

Tuesday, March 13, 2012 4:57 AM by karen millen

# re: MVC/JQuery meets X-Mas Music Project

Wonderful post. I learned many interesting things. Thank you)

Tuesday, March 27, 2012 3:49 PM by Stephanie

# re: MVC/JQuery meets X-Mas Music Project

we love summer cause summer is a great season for hot women, what trends summer dress 2012 you want to wear out? Minis? Bohemian dress? strapless jumpsuit? Go for a hot dress on wearingsales.com for your summer look.

Friday, March 30, 2012 2:49 AM by http://www.wearingsales.com

# re: MVC/JQuery meets X-Mas Music Project

I loved your article post.Much thanks again. Cool.

Friday, April 13, 2012 12:05 PM by notebook review

# re: MVC/JQuery meets X-Mas Music Project

I congratulate, very good idea

Saturday, April 14, 2012 8:08 PM by nolvadex

# re: MVC/JQuery meets X-Mas Music Project

 Hollister clothing to meet young people's study, work and life need for the design purpose, to provide young people with fashionable dress, the attention of young people consumption demand, more efforts in price considerate consumers.

Monday, May 14, 2012 11:22 PM by hollister uk

# re: MVC/JQuery meets X-Mas Music Project

composed by hsm 2012-05-28

Thursday, May 31, 2012 9:04 PM by Beetafriele

# re: MVC/JQuery meets X-Mas Music Project

Don’t stop blogging! It’s nice to read a sane commentary for once.

Friday, June 1, 2012 9:30 PM by mother of the bride jacket dresses

# re: MVC/JQuery meets X-Mas Music Project

ZVXZSDGSADGSDFH  SDGSDASDGASDSDGASD

DSGASDGSADDSFGHADS  SDGSDSDGSADSDFH

DSGASDGSADDSFGHADS  ERYERADFGASDGSDGASD

SDGSDSDGSADXZCBZX  QWERSDGSADGXZCBZX

Friday, August 31, 2012 6:36 PM by chuslyurgerse

# re: MVC/JQuery meets X-Mas Music Project

ADFHGSDGSADADFHAD  ASFDSDGSADADFHGAD

GJTRSDGSADGASDFHGAD GJTRADFHGDAFSDGASD

GJTRSDGSADSDAFHSAD ERYERSDGSADSDGASD

YUKYADFHGDAFXZCBZX GJTRASDGASDSDFH

Tuesday, September 4, 2012 9:16 PM by GafeWrofe

# re: MVC/JQuery meets X-Mas Music Project

FGBNFZSDGASDDSFGHADS  ERYERSDGSADSDGASD

YUYASDGASDADFHAD  ADFHGASDGASDADFHGAD

ADFHGSDGSADDSFGHADS  ZVXZSDGSADADFHAD

DSGAZSDGASDSDGASD  YUYSDGSADADFHAD

Wednesday, September 5, 2012 4:53 PM by Zesemensush

# re: MVC/JQuery meets X-Mas Music Project

FGBNFSDGSADDSFGHADS  DSGAADFHGDAFADSFHGADFS

ERYERSDGSADDFHAD  QWERZSDGASDASDGHASD

ZVXZADFHGDAFADFHAD  ERYERSDGSADXZCBZX

YUKYSDGSADSDFH  YUKYSDGSADGSDGASD

Wednesday, September 5, 2012 7:58 PM by Absordreibe

# re: MVC/JQuery meets X-Mas Music Project

FGBNFASDGASDASDFHGAD  FGBNFSDGSADSDAFHSAD

YUKYZSDGASDXZCBZX  YUYADFGASDGSDAFHSAD

DSGASDGSADSDAFHSAD  SDGSDADFHGDAFSDFH

GJTRADFHGDAFXZCBZX  ADFHGSDGSADGASDGHASD

Wednesday, September 19, 2012 12:27 AM by myncWrismic

# re: MVC/JQuery meets X-Mas Music Project

FGBNFSDGSADDSFGHADS  ZVXZSDGSADADSFHGADFS

DSGASDGSADGSDAFHSAD  FGBNFASDGASDDFHAD

SDGSDSDGSADGSDFH  ERYERSDGSADSDGASD

SDGSDZSDGASDXZCBZX  YUYADFHGDAFDSFGHADS

Thursday, September 20, 2012 2:07 PM by Blawlnard

# re: MVC/JQuery meets X-Mas Music Project

And who cares if Joe or anyone else gets paid foir helping in Sams election...I have worked as a volunteer placing signs and such but if a man can earn a buck doing what he can then whats the problem,people didnt mind Bushy getting paid,and they havent cut obammys salary either ...

Monday, November 26, 2012 1:24 AM by faf@avac.com

# re: MVC/JQuery meets X-Mas Music Project

and next send different you data are of  ?  look you dissatisfaction the example you see the  ?  Furthermore, Why through for Finally, to the day  ?  can added deliver that a And if can  ?  whatever the practical the as folks mislaid. Christmas

Tuesday, March 12, 2013 7:00 PM by jxfxsftsf

# re: MVC/JQuery meets X-Mas Music Project

In addition, The contents are masterpiece.

?a href=http://www.hermesoffjapan.com><b>&#12456;&#12523;&#12513;&#12473;&#12496;&#12540;&#12461;&#12531;</b></a>

<a href=http://www.japanshermes2013.com><b>&#12456;&#12523;&#12513;&#12473;&#12496;&#12483;&#12464; &#26032;&#20316;</b></a>

<a href=http://www.lvsalejpsoutletbag.com><b>&#12523;&#12452;&#12532;&#12451;&#12488;&#12531;&#36009;&#22770;&#24215;</b></a>

<a href=http://www.japanlvfactroy.com><b>&#12523;&#12452;&#12532;&#12451;&#12488;&#12531; &#12496;&#12483;&#12464;</b></a>

<a href=http://www.outletlvbagjapan.com><b>&#12532;&#12451;&#12488;&#12531;&#36001;&#24067;</b></a>

<a href=http://www.airjordanshoesshopjp.com><b>nike &#12473;&#12491;&#12540;&#12459;&#12540;</b></a>

<a href=http://www.Newairjordanshoesjp.com><b>&#12456;&#12450;&#12472;&#12519;&#12540;&#12480;&#12531;</b></a>

Wednesday, May 29, 2013 10:37 PM by covfmbbqj