Who is Tay Zonday?

If the name Tay Zonday doesn't mean anything to you, it's probably because you have managed to escape the latest viral-video fad sweeping the Interweb: the musical stylings of a young singer who has become a YouTube sensation after uploading a homemade video clip of himself singing a bizarre tune called Chocolate Rain -- which I have embedded here for your enjoyment and/or puzzlement.

Like many recent viral explosions of Internet weirdness -- including the "lolcatz" phenomenon -- Zonday arose from a site known as 4chan.org (Warning: Some content is for adults only). However he arrived on the scene, Tay's version of his signature tune has gotten more than 5 million views on YouTube, and has spawned imitators and tribute videos galore -- including one by Green Day drummer Tre Cool and another by popular singer John Mayer.

Part of what has drawn so much attention is the somewhat inscrutable lyrics of the song, which appear to have something to do with racism (one of Zonday's parents is reportedly black), as well as the deep baritone the singer uses -- which he says is natural, but seems at odds with his youthful appearance -- and his somewhat unusual method of taking breaths between words.

So who is Tay Zonday? According to several interviews, including one in the Toronto Star, Zonday's real name is Adam Bahner, and he is a 25-year-old student in American Studies at the University of Minnesota who writes music in his spare time, but until recently had never performed in public. He has since shown up on both the Opie and Anthony radio show on XM Satellite Radio and on the Jimmy Kimmel TV show.

And now, he is the current heir to the throne established by previous alternative heroes, including William "She Bangs" Hung from American Idol and YouTube performer Gary Brolsma, also known as the "Numa Numa guy."

I always enjoy reading your column but this has to be a first. The fact you are writing about a meaningless youtube upload that has had 5 million views suggests to me that you had run out of real news worthy stories.

Its obvious American talk shows enjoy promoting people who can't sing. In Canada we call that Canadian Idol.

Voxana ACIDplanet
from Madison, United States writes:
Tay Zonday's "Chocolate Rain" has been covered by John Mayer, featured on Jimmy Kimmel and has now landed at ACIDplanet.com. This is your chance to join the internet sensation that Tay started with his YouTube video of his original song!

Edward Baker
from Sonora, United States writes:
I would like to point out that your warning next to the 4chan link is not strong enough at all. 4chan is a thing that can scar the unprepared mind, regardless of whether you're an adult or not. Proceed with all possible caution if you're foolish enough to go there.

Alert us about this comment

Please let us know if this reader’s comment breaks the editor's rules and is obscene, abusive,
threatening, unlawful, harassing, defamatory, profane or racially offensive by selecting the appropriate
option to describe the problem.

Do not use this to complain about comments that don’t break the rules, for example those comments
that you disagree with or contain spelling errors or multiple postings.

What does moderation mean?

The Globe and Mail is committed to encouraging intelligent discourse among our readers and to creating a forum
where diverse views and opinions on a wide range of topics can be aired. In our continuing efforts to
facilitate a dynamic online conversation we have created two distinct types of forums.

The first type of conversation is a semi-moderated or reactively moderated conversation. Comments submitted to a
semi-moderated conversation pass through a filter that automatically detects inappropriate language or other issues.
The comment then appears on the website.

The second type of conversation is fully moderated. In a fully moderated conversation, every comment is reviewed
by a Globe and Mail editor before it appears on the site. While we will attempt to publish as many comments as possible
there will be occasions where the volume of comments makes it impossible to publish every appropriate submission.
Only registered users of the site may contribute to an online conversation and in all cases the policy
described in our Editor’s note must be followed.

How do I report a comment?

On semi-moderated conversations we encourage our community of readers to assist with the moderation
by alerting us any time a published comment violates our stated policy. Please do not alert us if you
disagree with a comment, find a spelling error or are bothered by multiple postings. Once you submit
a complaint about a comment, a message will be sent immediately to the editors of the site who will
determine whether the remark belongs on the site.

Mathew Ingram is the Communities Editor at the Globe and Mail, and this is where he writes about things the Globe is doing to connect with readers online, and the interaction between the Web and media in general. Feel free to send him an email at mingram@globeandmail.com if you come across an interesting link, or post a comment and join in the discussion.

Twitter Updates

Blogroll

javax.servlet.ServletException: Processing template "tgamv3/v5/story/WBStory.html" with config "null"
at GIS.Servlets.HTMLTemplate.processRequest(HTMLTemplate.java:231)
at GIS.Servlets.HTMLTemplate.doGet(HTMLTemplate.java:137)
at GIS.Servlets.StoryHTMLTemplate.doGet(StoryHTMLTemplate.java:96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)
at GIS.Common.Servlet.service(Servlet.java:106)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:95)
at com.caucho.server.http.Invocation.service(Invocation.java:291)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:132)
at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:341)
at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:271)
at com.caucho.server.TcpConnection.run(TcpConnection.java:136)
at java.lang.Thread.run(Thread.java:662)
Nested exception: GIS.Common.GICheckedException: Other exception in file: '/opt/GIS/HTML_Templates/tgamv3/v5/story/WBStory.html' while processing select element with added parms:{}
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:1511)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:782)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:945)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:782)
at GIS.Common.HTMLTemplateParser.parse(HTMLTemplateParser.java:751)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:476)
at GIS.Servlets.HTMLTemplate.generate(HTMLTemplate.java:316)
at GIS.Servlets.HTMLTemplate.processRequest(HTMLTemplate.java:222)
at GIS.Servlets.HTMLTemplate.doGet(HTMLTemplate.java:137)
at GIS.Servlets.StoryHTMLTemplate.doGet(StoryHTMLTemplate.java:96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)
at GIS.Common.Servlet.service(Servlet.java:106)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:95)
at com.caucho.server.http.Invocation.service(Invocation.java:291)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:132)
at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:341)
at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:271)
at com.caucho.server.TcpConnection.run(TcpConnection.java:136)
at java.lang.Thread.run(Thread.java:662)
Nested exception: GIS.Common.GICheckedException: Other exception while processing transformation element with added parms:{cacheTime=5000, type=xsl, url=/usr/local/web_htdocs/tgamv3/v5/includes/content/blogs/blogroll-wbmingram.opml}
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:1625)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:782)
at GIS.Common.HTMLTemplateParser.parse(HTMLTemplateParser.java:751)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:476)
at GIS.Jel.JELSelectProducer.emitChoiceNode(JELSelectProducer.java:48)
at GIS.Jel.JELSelectOneProducer.generate(JELSelectOneProducer.java:92)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:1502)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:782)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:945)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:782)
at GIS.Common.HTMLTemplateParser.parse(HTMLTemplateParser.java:751)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:476)
at GIS.Servlets.HTMLTemplate.generate(HTMLTemplate.java:316)
at GIS.Servlets.HTMLTemplate.processRequest(HTMLTemplate.java:222)
at GIS.Servlets.HTMLTemplate.doGet(HTMLTemplate.java:137)
at GIS.Servlets.StoryHTMLTemplate.doGet(StoryHTMLTemplate.java:96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)
at GIS.Common.Servlet.service(Servlet.java:106)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:95)
at com.caucho.server.http.Invocation.service(Invocation.java:291)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:132)
at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:341)
at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:271)
at com.caucho.server.TcpConnection.run(TcpConnection.java:136)
at java.lang.Thread.run(Thread.java:662)
Nested exception: java.lang.ClassCastException: org.apache.xerces.dom.ElementNSImpl cannot be cast to com.caucho.xml.QElement
at com.caucho.xsl.Generator.getXslLocal(Generator.java:2141)
at com.caucho.xsl.Generator.generate(Generator.java:294)
at com.caucho.xsl.AbstractStylesheetFactory.generate(AbstractStylesheetFactory.java:819)
at com.caucho.xsl.AbstractStylesheetFactory.newTemplates(AbstractStylesheetFactory.java:437)
at com.caucho.xsl.AbstractStylesheetFactory.newTransformer(AbstractStylesheetFactory.java:312)
at GIS.Universal.XMLTransformer.transform(XMLTransformer.java:262)
at GIS.Universal.XMLTransformer.transform(XMLTransformer.java:166)
at GIS.HTMLComments.HTMLProducers.XSLProducer.generate(XSLProducer.java:85)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:1615)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:782)
at GIS.Common.HTMLTemplateParser.parse(HTMLTemplateParser.java:751)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:476)
at GIS.Jel.JELSelectProducer.emitChoiceNode(JELSelectProducer.java:48)
at GIS.Jel.JELSelectOneProducer.generate(JELSelectOneProducer.java:92)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:1502)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:782)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:945)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:782)
at GIS.Common.HTMLTemplateParser.parse(HTMLTemplateParser.java:751)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:476)
at GIS.Servlets.HTMLTemplate.generate(HTMLTemplate.java:316)
at GIS.Servlets.HTMLTemplate.processRequest(HTMLTemplate.java:222)
at GIS.Servlets.HTMLTemplate.doGet(HTMLTemplate.java:137)
at GIS.Servlets.StoryHTMLTemplate.doGet(StoryHTMLTemplate.java:96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)
at GIS.Common.Servlet.service(Servlet.java:106)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:95)
at com.caucho.server.http.Invocation.service(Invocation.java:291)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:132)
at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:341)
at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:271)
at com.caucho.server.TcpConnection.run(TcpConnection.java:136)
at java.lang.Thread.run(Thread.java:662)
Nested exception: java.lang.ClassCastException: org.apache.xerces.dom.ElementNSImpl cannot be cast to com.caucho.xml.QElement
at com.caucho.xsl.Generator.getXslLocal(Generator.java:2141)
at com.caucho.xsl.Generator.generate(Generator.java:294)
at com.caucho.xsl.AbstractStylesheetFactory.generate(AbstractStylesheetFactory.java:819)
at com.caucho.xsl.AbstractStylesheetFactory.newTemplates(AbstractStylesheetFactory.java:437)
at com.caucho.xsl.AbstractStylesheetFactory.newTransformer(AbstractStylesheetFactory.java:312)
at GIS.Universal.XMLTransformer.transform(XMLTransformer.java:262)
at GIS.Universal.XMLTransformer.transform(XMLTransformer.java:166)
at GIS.HTMLComments.HTMLProducers.XSLProducer.generate(XSLProducer.java:85)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:1615)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:782)
at GIS.Common.HTMLTemplateParser.parse(HTMLTemplateParser.java:751)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:476)
at GIS.Jel.JELSelectProducer.emitChoiceNode(JELSelectProducer.java:48)
at GIS.Jel.JELSelectOneProducer.generate(JELSelectOneProducer.java:92)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:1502)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:782)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:945)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:782)
at GIS.Common.HTMLTemplateParser.parse(HTMLTemplateParser.java:751)
at GIS.Common.HTMLTemplateParser.generate(HTMLTemplateParser.java:476)
at GIS.Servlets.HTMLTemplate.generate(HTMLTemplate.java:316)
at GIS.Servlets.HTMLTemplate.processRequest(HTMLTemplate.java:222)
at GIS.Servlets.HTMLTemplate.doGet(HTMLTemplate.java:137)
at GIS.Servlets.StoryHTMLTemplate.doGet(StoryHTMLTemplate.java:96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)
at GIS.Common.Servlet.service(Servlet.java:106)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:95)
at com.caucho.server.http.Invocation.service(Invocation.java:291)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:132)
at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:341)
at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:271)
at com.caucho.server.TcpConnection.run(TcpConnection.java:136)
at java.lang.Thread.run(Thread.java:662)