Monday, June 23, 2008

This is a complement of my article posted on wikipedia. Most of this information was first posted there, but it was original research and do to the encyclopedic nature of wikipedia, it needed citation, so was removed by other editors. So I decided to put the deleted content in this blog, wich is the result of months of research.

The Song

Supergott Album, released November 2001

Caramelldansen (Swedish for Caramel Dance) is the first track of the album Supergott released in November 2001 by the Swedish music group Caramell.

The Internet Meme

Animation loop from visual novel Popotan, now know as "Caramelldansen"

Caramelldansen is also a popular Internet meme that started on the second half of 2006.

It was first a small fifteen frame Flash animation loop showing Mai and Mii, characters of the Japanese visual novelPopotan (doing a hip swing dance with their hands over their heads imitating rabbit ears), and the chorus of the sped up version of the song "Caramelldansen" sung by Malin and Katia from Swedish music group Caramell. A sped up version of this song was released in early 2006 by DJ Speedycake and was called "Caramelldansen Speedycake Remix" which started to distribute on the internet almost in parallel with the flash loop. The original Swedish lyrics of the song can found here, and english lyrics here

History

Before Caramelldansen
Popotan first appeared as a Japanese PC game in December 12, 2002. After the anime was aired from July 17, 2003 to October 2, 2003, small animated GIF clips where captured from the opening of the anime and distributed over the internet.

Some of those clips where modified and turned into small flash loops with sound. The oldest and most noticeable of those clips is one

The oldest reference in English found on the internet referring to Popotan game intro was found on animesuki forum in the thread called “Most kawaii intro” created on Nov 14 2003. The discussion started with Popotan anime, others where mentioned too but was till user Anlushac11 said “About the only thing more Kawaii than Popotans intro is Popotan the Game's intro” that this became the first time the game intro was mentioned to be significant.

It was not long before parts from the opening of the PC game were captured and posted on the internet as small GIF animations for people to use. The oldest post found on the Internet so far showing Popotan dance in .gif format was in livingwithstyle.com forum. The thread was called “Anime Animated Gifs [NOT 56K Friendly]”. User “TheMadCountess” made a small post on July 10 2004 with 6 links to different animated gif shorts, and 3 of them where from Popotan:

guiltfromourlips
07-10-2004, 10:46 PM
Countess - ^^^ Those are so cute! What are they from?

TheMadCountess
07-10-2004, 11:13 PM
The first one is from Azumanga Daioh. The first dvd or two of that is out, as well as all 4 books of the manga. The next two are from Nurse Witch Komugi-chan Magikarte!, which is licensed but I don't know the release date. The last three are from Popotan, which is also licensed but I don't know the release date either.

The site and the original files are no longer available at the time I did a revision of this article, but the user who posted it is still around here

January 2 2005Later on the .gif animation was added music and changed to flash format. The oldest known reference so far is from conectr.com forum. The thread was called “punks onnozele flash thread” created on January 2 2005, from user “punkfreak” posting his flash collection. The first known animated flash loop with sound from Popotan PC intro was called “Walk this Way”, file named walkway.swf was 1.3Mb, which included the song “Walk this way” by Aerosmith and Run DMC.

November 2 2005In November 2 2005, sheezyart.com user Andeh posted another flash version of the Popotan animation, this one including song Wakalaka, making it the second most oldest known version of the Popotan animation with sound. This flash was called "Popotan dance 2".

"Sexy Bunny Dance", first custom Popotan Flash

Around November 2005 and May 2006 sheezyart.com user Funzo released his own version of the Popotan flash, this one originally named “Sexy Bunny Dance” was the first known custom made flash animation with sound derived from the Popotan animation loop. This version shows ID3 and IDK, demon characters that belong to an artist called Dokuro, and the song "Dare" by the virtual band Gorillaz. This flash was originally posted on sheezyart, but was later removed by its own author do to personal reasons. The flash can still be found in some flash archives and on youtube by the name of "Lizard Girl Dance"

In April 16 2006, deviantart.com user animegirl000 posted a custom made gif animation without sound called "Axel and Roxas dance"

After Caramelldansen

The original Carameldansen flash loop was composed by Sven from Sweden at the first half on 2006 and originally posted on his personal website, but later reposted on internet community 4chan, which was here where its popularity started.

As I contacted him by mail he told me how it all started:

Can you tell me how this idea was put together and where did you post it first?

"The gif-animation was, if I remember correctly, taken from /gif/ at 4chan. I tried some different tracks, found the song that I thought was appropriate, fiddled a bit in Audacity and added it to my page along with all the other loops. And as I wrote on Wikipedia, I didn't know the loop had started such a meme until just a couple of months ago, which took me totally by surprise. As I added the loop to /f/ on 4chan at the same time I added it to my page, there is a big chance that the majority of views and spread is thanks to 4chan."

Did you use the sped up version of the Caramell song made by Speedycake or it’s just coincidence it came out almost at the same time?

"About the song, I had the full album of Caramell in my music collection (where I got it from the beginning I don't really remember, but a qualified guess would be that I got it from a friend through a LAN/filesharing-gathering). I had never heard of the Speedycake-remix until I read the Wikipedia entry."

"Well the loop turned out a little over the top, very "cute" and very "japanish", which made it look like something that actually could have originated from Japan (in my own opinion anyway). I then added "ANIME LOL!" (actually reads "ANIME LOL KAWAII ^_^" now, since I had to rewrite the whole site thanks to a server crash a while back) as the title of the page, to give it even more "over the top" feeling. That the loop became popular, especially in Japan, I find quite ironic. :)"

Have you had any interviews asking about this?

"Regarding media interviews, I don't really think there is much more to the "story", but of course if there is any interest I'm willing to answer their questions. But for now I don't think the media care too much for the original story. :p"

Caramelldansen Speedycake RemixBy this time, DJ Speedycake was releasing the sped up version of the "Caramelldansen" song, quite a coincidence that it came out almost at the same time as Sven's flash loop. This is the story of the mix told by Speedycake himself:

Where does your name come from?

"The name comes from my normal internet alias and then tacking on speedy in front of it after a few live mix sessions that mostly were in the 150+ BPM range. I thought it was suitable at the time. The place where I started my net broadcasts was the first incarnation of #/b/radio located at the Rizon IRC network"

When did you released the sped up song and where did you post it first?

"The song was created on an accidental mixing mistake where I was transitioning the song, completely neglecting to check the BPM difference and turning on the key pitch lock. So when it came for me to start the track, well it was squeaky and high pitched. After the broadcast I had several requests for the song, however the song didn't really exist in the form that I mixed it in so I released it under the same sped up conditions and posted it on the /b/radio BBS (4chan). From there the song spread onto 4chan's /flash/ board from which it was almost a daily thing for people to request what song it was and a link to download it which I supplied"

"Caramelldansen Speedycake Remix" was released in early 2006 and posted originally on 4chan too. Thats where it started to distribute on the internet. Most of the followup versions of the flash meme used this song to make their versions.

So, after the second half of 2006, Caramelldansen spread on the Internet in Flash archives and popular communities such as Hongfire and 4chan. Caramelldansen was also referred first as the "Popotan Dance" or "Popotan Dansen". After 2008 is more known by its popularity in Japan as "Uma uma dance".August 8 2006One of the oldest post of the Caramelldansen flash found was in the popular anime community hongfire.com. Post date was August 8 2006 by user npdcb. After contacting him, told me that he didn’t remember exactly where he got the flash from, but was probably in 4chan or animesuki.

"Cyborg CaramellDansen" (March 23 2007)

Later in March 23 2007, another custom made caramell flash appeared. Created by Veertje and originally posted in yaoi.y-gallery.net, this flash was called "Cyborg CaramellDansen" and included characters from 60’s anime Cyborg 009. She saw the original flash on www.caramel.co.nr and decided to make her own version. That webpage no longer exists but I manage to get a cached version from google.

"Midnatt Boxer Rave Dansen" (April 11th 2007)

In April 11th 2007, another customade flash animation based on the original Caramelldansen was released, called by it's author Devvo the "Midnatt Boxer Rave Dansen" (more know this days as "Dota furry dance", "Dota dance" or just Dota) was released first on furaffinity.net. Not sure if this version could be considered part of the Caramelldansen family of flashes, because it uses a different song, a speedup version of the Swedish song called "Vi sitter i Ventrilo och spelar dota" by Basshunter. The reason I mention it is because of the popularity it had on the internet. The characters on this flash are Ritts the raccoon and Devvo the cat.

"Caramell Chu" (June 24 2007)

On June 24 2007, was released my version of this meme and posted it originally on deviantart.com, called it "Caramel Chu", was inspired first on the Dota flash and later on the original Caramelldansen flash. Had a decent amouth of views and was the start of many followups flases on the deviantart community before they where all removed(included mine) because of copyright issues. The flash was reposted on March 07 2008 with a different song so it won't get removed again. Posted this also on youtube and newgrounds.

Many more versions of the flash came out after, but it wasn’t till early 2008 that was noticed an increasing amount of versions on youtube[1][2]. The links on some of the videos took me to Japanese video sharing site Nico Nico Douga. Was here where the real boom of this meme started.

Make sure you have make and gcc compiler installed in your system, you will need that for building mono from sources. My installation path for mono and nant will be /opt. For the Fedora I tried installing and using the mono version from the normal yum repository but that version of mono and nant just didn't work, so we will have do download latest stable sources and build them.

If you run into problems for libgdiplus and you already have it installed, its best to uninstall and download the latest version and build it yourself. Follow same steps as compiling mono.Close and reopen your terminal for the changes to take effect.

3. Download OpenSim sources and Build - I tried using the prebuild version of OpenSim for Linux, but was just to buggy, a lot of things didn't work, that why we are ------------------------------------------------#svn co http://opensimulator.org/svn/opensim/trunk opensim

#cd opensim#./runprebuild.sh#nant

4. Configuration and Run------------------------------------------------Your configuration depends on what you want, I personally choose to use MySQL database instead of default mssql, but I will explain that later.

If you are impatient aand want to use the defaults, you can just make a copy of OpenSim.ini.example to OpenSim.ini and you are al set to run.

The binaries of your build should be in opensim/bin:

#cd /opt/opensim/bin#cp OpenSim.ini.example OpenSim.ini

Running:#mono OpenSim.exe

If everything goes ok the terminal should throw a lot of colored text till it gets to the server prompt and will ask you a few things the first time. I assume this is a run on standalone mode, for further configuration options for grid mode refer to the OpenSim page.

The first set of prompts that start with "NETWORK SERVERS INFO", you can just hit return to accept the defaults if you will be running in standalone mode. The prompts that start with "DEFAULT REGION CONFIG" are where you need to start paying attention. Some are self-explanatory. Here are explanations for the others:

Grid Location - OpenSim regions can be placed anywhere on a 65536 by 65536 grid. In standalone mode, it is safe to leave these X and Y locations at their defaults.

Filename for local storage - Safe to leave at default.

Internal IP address - This should always be 0.0.0.0

Internal IP port for incoming UDP client connection - You can make this any port you want, but it is safe to leave at the default 9000.

External host name - If you have the server and the client on the same box, use default 127.0.0.1 if you are running the server and the client on the same box, but if the server is in a remote box you should put the IP or hostname of the remote box. I prefer IP.

After that you will get a Region #: prompt, that means that you're done. Now the only thing left is to configure your secondlife client so it can connect to your server. Just make a copy of your access icon and go to properties and add this to the command line switches:

Then start your Secondlife client as you normally do. If everything goes ok you should log whit the defaul female av on a circle island.

Ok, now you have played with your server and all, but now you want others to be able to log in with you and join.

There are some things you need to do. First make sure you have ports tcp/udp 9000 open in your ruoter and firewall.

If your Secondlife server is running on a remote box, this is how to open ports (Fedora):Configuring firewall:-------------------------------------------------------------------------------------Edit /etc/sysconfig/iptables

Then you need to get your IP and put it in your region configuration. To make it easier I just deleted opensim/Region/default.xml and when you start your server it should ask again all the info for the region but warning, what I did was delete the region file, and I don't know if content you already made goes with it too so, its better to edit that file by hand and replace 127.0.0.1 with your IP.

Next you need to create additional accounts for your friends, at the server prompt type:create user It should ask you the info for the new account

After my last post you all might have notice that I really got interested in 3D Virtual Worlds.

I couldn’t resist and I downloaded OpenSource and try to build it on my Linux server, in my first attempt I failed miserably (the pain) got millions of errors (ok I exaggerated hehehe), staid awake all night trying to compile the god damn thing, it was 6pm next day and still didn’t slept, I had to stop before I could hurt myself, so decided to continue a few days later.

Before I tried again with the Linux server I decided to try it on my home computer, but with a already build distro, it worked, and got a chance to see it running. I still thought it was worth the try on Linux.

After building mono and nant from source I try with and outdated build that was ready to run, well I installed and tested, it worked, so there was hope =P

Ok I got a big flat terrain under water an a av, couldn’t build anything and couldn’t model terrain, but….. I could log and fly around, that was enough satisfying for me in that moment.

So yeah, not for the real hard part, compile the thing from source….. amazingly it didn’t throw any errors this time and bingo, I could log and build and stuff. Did a little configuration changes and done

I have it working at the moment, while still testing, I have modeled an island, put some stuff in it, uploaded some textures and created some users for a bunch of friends to try it out. Had a few crashes yes, but nothing serious, I can’t ask much from an alpha version. Still you can do pretty much most of the stuff you do in normal Secondlife but still needs some work.

Ok that was for OpenSim, now lets move to its variant, realxtend.

Realxtend was build from OpenSim code and it offers really cool features, one of my favorite was that you can do custome avatars, and you can import content from external tools like Maya, 3dmax and Blender. It has its own client, and you need to use it to connect to that server, you can’t use normal SL client like OpenSim.

Well I downloaded windows version and gave it a look, indeed, I could see new stuff in it, did a few changes and my avatar was a mushroom with it own animation, no more humanoid avatar limitations.

Well it was great yeah, now…. first, you can only find binaries for windows, but if you want to build that from sources on Linux….its hell, no matter what I did the darn thing won’t stop throwing me errors and more errors, I even dig in the code and nope to frustrating and just gave up. Another thing, unlike OpenSim, you can only use MSSQL as database, and doesn’t support MySQL, my choice on database.

I searched for help on google but for that project project is really vague, OpenSim is way more supported. I prefer waiting till it’s more stable and more linux friendly too.

I plan to stay with OpenSim for now. Ok it runs great on Windows, you can host a little world on your home pc and invite a few friends and intact there, like you will do with open canvas or pchat.

But for if you want to support more users and use it for something more serious, I prefer Linux, Im not using a crappy windows server to host that, it would be blasphemy XD

Ok and finally, there’s the Java approach, I recently been investigating about those kind of technologies and found out that Java has been developing a really cool opensource platform for building this kind of stuff, the name is Darkstar – Wonderland, I will explain.

DarkStar is the base platform, and its used to build the server stuff you need for a 3D world, Wonderland is build on top of that, and offers the client side.

Sun has already a demo showing what this tools can do, its called MPK20 and is virtual demo like second life, but much simpler, you can’t build inworld, you have to build and import stuff from Maya or Blender, the avatars are ugly compared with SL version, and move robotic too, this will be from the user view, the world is ugly.

But seeing it from a programmers side this is heaven, this platform is really really robust,you don’t have to build a lot of stuff from scratch, just do a little coding and focus more on the actual game than the infrastructure to make it work.

The problem I see of OpenSim is that, its dependent in some way to the SecondLife client and can only do so much the client can do, but most important, since Linden Lab won’t release their server source code any time now, most of the stuff the server uses is somewhat guessed looking on the SL client code, and most of the stuff has to be done from scratch, this slows development a little since there are building a standard and not focusing on adding new features.

With DarkStar and Wonderland most of the stuff is already done and works, so you can build your stuff above that with minimal concerns, and finally to my personal opinion, Java is more cross platform friendly that .NET, like Java better, also Java seems more opensource friendly than Micro$oft.

So to all this, one, I’m going to continue playing with OpenSim for a while, and also give it a shot with DarkStar-Wonderland, I just discovered that there’s already a nice tool for modeling MokeyWorld3D it would be cool integrating that with Wonderland and make something with it, we will see.

Monday, June 2, 2008

Back in 2004 when I just got internet connection at home for the first time, the first thing I did was to trash the internet and download stuff and browse everywhere I could, It was wonderful.

Quickly I got involved in communities and jumped into IRC, I already had some experiences with IRC but with web clients, but didn’t know how that all worked. I got mIRC client and just explored around the big networks.

It was nice to met people with the same interests as mine and stuff, made new friends and interacted with others, and even if it was just text in color it was ok.

After a while, other things got my interest and just left, got now into forums and games. Then a good friend of mine told me about this virtual world called Second Life, in that time (2005) I couldn't log because my pc was to slow for gamming, so I had to wait.

Right after I moved to another city and got a new job, I got a new computer and joined, It was beginning of 2006. It was sure a hole new level of interaction, and spend like the next 4 or 6 months there, got some land, build some stuff and met more people.

And once again, I got bored and left. I logged after a few times but just that after sculptie prims where introduced in the game. It wasn’t till recently that the platform got my attention, since big companies like IBM and Sun are very interested on SL technology and they are building stuff in it.

So I came back and started researching on this, and looking it more now as a business opportunity than a game.

It was so funny the way on how I discovered all this Open Source technologies hehehe, I was browsing on youtube and looking for videos on Second Life, when one caught my attention. The video is called "Hitler Explains Second Life" , I have seen that short from the movie, but it seems that like the angry german kid, it has a lot of versions. Here is the video

I lolled so much at this for a moment, and after I whipped my tears, I realiced something interesting, "sooooo... they have reverse engineer the server code, and its now available as open source, and also the SL client was released as Open Source too".

I looked at the internet but found nothing in that moment, so I gave up for now, and continued in SL building stuff also started to work on Blender to make sculpties. I though, "Meh in this early stages, probably the code is very unstable and only super geeks could run"

I don't quite remember where I got the info later, but I found out the name of that server was OpenSim(link), and it was still in alpha stages. Even so I looked it in youtube to see if I could find anything, then.. I was just amazed.. the project has only about year and half, and you can already do a lot of stuff like the real SL sever(link)(link), and even better, the server could run on Linux (just a side note, currently Linden Lab runs all their sims on windblows).

I decided to investigate more, and the more I did, the more excited I got, for a few seconds, I could visualize what this could become, and was blown away by many ideas.

A new level of interaction, and I will dare to call it, the replacement of IRC and the basis for the 3D intenet.

Ok ok, before you jump on me and say "That has a long time now and started with stuff like VRML and other 3D chat portals where you could chat with others with and avatar etc,etc".

Yes, but think that there wasn't any solid platform to build a real distributed metaverse, at this stage anyone could put a little server on his home computer like open canvas, and let others join and do stuff. You can even connect your land to another server and make a grip or sims like Second Life has at the moment.

Currently, there are some public grids you can connect to using your normal SL client like OSGrid or OpenLife for example.

I saw a video on you tube, that they are tools so you can export all of your stuff on SL and import it to your server, I haven't tried that yet.

Almost forgot, like I said earlier, big companies like Sun and IBM have their eyes on this kind of technology at the moment.

IBM has like 32 sims I think inworld and has people working on content and developing ways for distributed teams work together more closely and stuff. I also heard that its hosting his own private sims, and experiemting with contect, I will be not surprised if they start using OpenSim, and even release their own version, like they did with IHS (IBM flavored Apache)

Sun has just realeased an opensource platform for developing 3D content, from games to metaverses. The project is called DarkStar I saw I video on youtube about this technology, and it seems quite awesome, before that I always thought that Java was slow and stuff, but looking at those demo games I was just wow.

Sun made another developing platform called Wonderland, build over DarkStar, and specially made to build virtual worlds like SL, they already have their own prototype for virtual world called MPK20 which is used for business purposes, where people can interact and voicechat in realtime, also they can control their desktop app thru the virtual world, make phone calls etc.

Well in short, stuff is changing really fast, we sometimes get so used to it that we don't even notice it anymore, we go to sleep one night and something has changed the next day, t looking back from 1995 to now, I notice a lot of important changes here, in only a little more than a decade....hell XD

Whoa, this is going to be a big journal hehehe, just before I finish, I recently discovered that there’s another flavor or OpenSim out there called realxtend(http://www.realxtend.org/), that it looks better than the original and has its own client, I seen a demo video(link)(link) and yeah, looks quite impressive, something that attracted my attention, is the non humanoid avatarts, you can really build custome avs here and not just put a layer of prims and sculpties over you av to make it look different.

I might install that server later and test it, but for now, I will stick to OpenSim, anyway, the realXtend team is now working with the OpenSim team to try and make a standar so in the future sure will be compatible, I already could connect to normal SeconLife with their client.

Well, that's all I have to say for now, In my next post I will explain all the stuff I had to go thru to make one of those servers work.