Thursday, August 4, 2011

Some spammers are freaking persistent

I wonder why some spammers are so freaking persistent that they would request the same video from multiple computers gizillion times per second.

select IP, count(SessionID), max(dtCreated) from RepeaterSessions
where SessionID in (select distinct SessionID from RepeaterVideoRequests
where VideoID=1106567 and dtCreated > '2011-08-04')
group by IP
order by count(SessionID) DESC 47790 2011-08-04 17:44:16.613 47070 2011-08-04 17:42:19.560 46670 2011-08-04 17:56:21.113 40141 2011-08-04 15:58:09.180 32667 2011-08-04 12:46:33.817 20474 2011-08-04 08:54:05.427 10978 2011-08-04 04:55:51.077

Monday, May 30, 2011

Outage on 2011-05-29

I am sorry for the outage May 29, 2011. Trying to optimize some code as well as prepare the server to move somewhere else to ultimately be better & faster!


Sunday, February 6, 2011

Just redesigned the database to allow for faster results of statistics in the lists of Top Repeaters.


Thursday, December 23, 2010

We just had the longest outage. Almost a whole day. Mainly due to IP change. But while being down I took some time to fix some database issues accumulating over the last year. Sorry for the inconvinience.

Thursday, December 17, 2009

Link & Share YouTube Video Portion

Someone just asked for a new feature. A direct link for playback of a selected video portion. Since it's not a big deal, I just implemented it. Now, when you select start or end time for a video playback, a direct link for this video portion will appear at te bottom of the playback page.

You can share this link with your friends, on forums or on facebook. Clicking on the link will play exactly the portion specified.

50,000 repeats

Time flies.

YoutubeRepeater served over 50,000 repeats for a total of over 2,000 hours of playback during the past 40 days of existence.

Some stats:

Over 5,000 videos played/requested, only 1,000 were repeated. My guess is, some people may jump from repeating one "perfect repeat" to another through a few related videos which are not as perfect.

About 300 videos (30%) were repeated only 1-2 times. Top 100 videos (10%) account for 90% of all repeats (funny how a business rule of 10/90 holds here as well).

Sunday, November 22, 2009

Over 10,000 repeats

Ok, ladies & Gentelmen, we reached another milestone - over 10,000 repeats. And that's real repeats meaning someone played a video to the end and then it went all over to the beginning. Not just a playback request.

#1 - the top video became Taylor Swift - You Belong With Me. It was repeated 821 times.

The interesting thing, I haven't even heared about this singer until someone was repeating it for two days in a row. Then, I looked at it and found that this particular copy is not a superb quality and that there's actually an official copy available directly from Taylor Swift: Official Taylor Swift 'You Belong With Me'. And man, it is excellent quality.

The official copy has an 11-sec intro and 15-sec credits, which lead to development of "Time Bar" where you can mark repeat starting & ending positions. Check it out - set Starting at "0:12" and ending at "3:58" and the official video becomes an excellent repeater.

#2 - Guns & Roses - Welcome To The Jungle - 365 repeats. Someone had it on repeat for about a day since last time, and that's it.

#3 - Cascada - Dangerous - 459 repeats. This one I probably listened more than others.

I gotta also give a huge credit to someone's innovation. A video that many visitors come for. The Fireplace Video. It looks like people just leave it playing instead of the actual fireplace... Kinda an unusual idea, but I guess it makes some people feel warmer...

Thursday, November 19, 2009

Repeating Portion of a Video (crop)

Just added a feature to repeat selected portion of a video. It allows
you to specify starting and ending time for the video playback/repeat.

Check out how the 'cropping' time bar looks like:

Wednesday, November 18, 2009

Videos Removed from YouTube

YouTube often removes videos. Especially if these are super popular videos. I.e. Madonna - Celebration

So I just added similar videos search based on keywords from the title (if such is present). It works the same way as similar video search when the video is unembeddable, i.e. Roxette - Spending My Time, which, unfortunately does not bring any more versions of "Spending My Time", but in theory, it could, if such were available.

Monday, November 16, 2009

Over 5000 repeats

We just had over 5000 repeats.

We seaparate what we call "playback" and "repeat". If a video doesn't play to the end, it is not counted as a repeat.

Top Videos shows the top repeated videos that played the most (taking the video duration into the account) and the recently played videos. Not all videos that were recently played were actually repeated...

Just as I assumed, some people just come and when they see a very popular track such as Rihanna - Umbrella or O-Zone - Dragostea Din Tei they give them a shot. Although, I have not seen many continuious repeats in such cases as with people who come to repeat what they really wanted.

Just did a database stats. The total time videos were repeated so far is 365 hours.

#1 repeat: Guns N Roses - Welcome to the Jungle - repeated 365 times.

I only listened to it 1-2 times. Personally, I love November Rain and Estranged, and I can repeat them a few times. However, I cannot listen to Welcome to the Jungle on repeat. There's just something about the lack of rythm in it.

I wish I knew who watched it, to actually ask why they like it. Maybe, once we have a lot of "repeaters", we'll add a "why you love this video" poll.

#2 repeat: Shakita - Objection - repeated 293 times.

I have to admit that I repeated most of these myself. The video is just awesome, Shakira is sexy and the song is an easy listen while working.

#3 repeat: O-Zone - Dragostea Din Tei - repeated 222 times.

I also have to admit that I first watched it. Then a few people repeated it a few times. However, I am sure more than half of repeats were mine. The reason I like this song - it was very catchy when it came out. Listening to it brings back those memories. And it's also an easy listen while working.

I'll post the next update when we'd have 10,000 repeats...

International Support

In the internet world, everything has to evolve...

Even Google was in BETA for over 10 years...

Yesterday, I checked what was recently played on YoutubeRepeater and found a bunch of question marks... A lightning stroke through my mind - UNICODE - and how I usually don't like it.

Interestingly enough, Google Data XML feeds just send strings in unicode without any CDATA encoding. That was definitely different than the last time I had to deal with parsing XML.

A quick change of database datatypes to unicode (nvarchar and ntext) did the job.

The Logo

I wish I knew Adobe Photoshop and Illustrator.

Yet there's a cheaper and simplier, but not as powerful tool that I use for over 5 years: Paint Shop Pro. Version 9 cost me only $20 on Ebay and I still use it a lot. At some point I spent almost $100 for version XI bundled with some other soft at Fry's and didn't like it.

So here it is - a very simple Youtube Repeater logo :)

If you have a different logo in mind - please let me know.

Sunday, November 15, 2009

How it Took a Week to Release

So you'd think why do much work if all you need to do is repeat a video?

The problem is, "repeaters" are somewhat alike, there are just several categories of them. And it is very likely that the same person would come back and repeat the same tune again.

I.e. Lady GaGa - Poker Face or Shakira - Objection may sound sexy, Madonna - Sorry may sound rythmic, Depeche Mode - Master and Servant would bring nostalgic memories, or The Rock Movie Soundtrack may be the perfect stuff while working.

Of course, I wanted to build a database of what is being repeated the most.

Youtube Data API was needed. That's the best way to get video names, ratings and so on. After all, who wants to see just the VideoID as YoutubeRepeat does? Wouldn't it be better to see the video name and other related videos that you normally see on YouTube?

Youtube Data API is very simple. Basically, every time you need some data, you form an HTTP request and receive XML back. i.e. to get video information you request, to get related videos, you request and so on.

The problems started a bit later though...

1. Youtube Data is returned as XML with namespaces... you'd think parsing those is as easy as doc.Load()? You need to use NameSpaceManagers.

2. Youtube related videos load for a while... hence caching and AJAX was needed...

3. The biggest pain was actually adding ASP.NET support to my severely locked web server with only ASP and a bunch of "locks" set to prevent a possibility of the next Nimda or SQL injection hacks. At least, such config ensured the server stability for over 5 years in a row (might as well upgrade that old laptop at some point).

4. Plus it's never late to learn URL Rewriting... Gotta admit ASP.NET is really amazing with that.

And so, the first mostly working version of YoutubeRepeater was launched November 5, 2009.

How YoutubeRepeater Started

About a year ago, I was listening to something on a repeat for a whole day while programming. Then talked to a friend of mine how weird it is that Youtube doesn't have a repeat option.

Some time this October, I was Googling something and came across YouTube API, and of course the idea poped right back.

My first thought was that someone must have used the API to do exactly what I wanted. Googling for "Youtube Repeat" brought And the site existed for more than half a year, but it simply uses "loop=1" parameter trick. It did, however, have a great idea of just modifying the URL and figuring out Youtube Video ID from the URL. But that's pretty much where it ends...

After a few hours of testing YouTube Embedded Player API I realised that I need to make a much better site than that. As soon as I tested that my code works with both regular embedded player and the chromless player, was registered...