<commit_before>function Banner() {
	
    var keyword = "Interaction";
    var keyword2 = "Designer";
    var canvas;
	var context;
	
	var bgCanvas;
	var bgContext;
	
	var denseness = 10;
	
	//Each particle/icon
	var parts = [];
	
	var mouse = {x:-100,y:-100};
	var mouseOnScreen = false;
	
	var itercount = 0;
	var itertot = 40;

	var cwidth = $(document).width();
    var cheight = $(document).height();

    
	this.initialize = function(canvas_id){
		canvas = document.getElementById(canvas_id);
		context = canvas.getContext('2d');
		
		canvas.width = cwidth;
		canvas.height = cheight;
		
		bgCanvas = document.createElement('canvas');
		bgContext = bgCanvas.getContext('2d');
		
		bgCanvas.width = cwidth;
		bgCanvas.height = cheight;
        
		canvas.addEventListener('mousemove', MouseMove, false);
		canvas.addEventListener('mouseout', MouseOut, false);        
        window.addEventListener('resize', resizeCanvas, false);
        
		start();
	}
	
	var start = function(){
		bgContext.fillStyle = "#333";
        bgContext.fontWeight = "300";
		bgContext.font = '167px Arial';
        //fitTextOnCanvas("bgContext", keyword, "Arial", 50, 450);
        //fitTextOnCanvas("bgContext", keyword2, "Arial", 450, 400);
        
		//bgContext.fillText(keyword, 500, 290);
        //bgContext.fillText(keyword2, 500, 400);
        bgContext.fillText(keyword, 53, 410);
        bgContext.fillText(keyword2, 55, 550);
		bgContext.beginPath();
        bgContext.lineWidth="5";
        bgContext.moveTo(760,450);
        bgContext.lineTo(760,650);
        bgContext.lineTo(350,650);
        bgContext.lineTo(350,1000);
        bgContext.stroke();
        
		clear();	
		getCoords();
        //context.fillStyle = "#000000";
        //context.font = '100px Arial';
        //fitTextOnCanvas("context", keyword, "Quicksand", 85, 275);
        //context.fillText(keyword, 85, 275);
	}
	
	var getCoords = function(){
		var imageData, pixel, height, width;
		
		imageData = bgContext.getImageData(0, 0, canvas.width, canvas.height);
		
		// quickly iterate over all pixels - leaving density gaps
	    for(height = 0; height < bgCanvas.height; height += denseness){
            for(width = 0; width < bgCanvas.width; width += denseness){   
               pixel = imageData.data[((width + (height * bgCanvas.width)) * 4) - 1];
                  //Pixel is black from being drawn on. 
                  if(pixel == 255) {
                    drawCircle(width, height);
                  }
            }
        }
        
        setInterval( update, 40 );
	}
	
	var drawCircle = function(x, y){
		
		var startx = (Math.random() * canvas.width);
		var starty = (Math.random() * canvas.height);
		
		var velx = (x - startx) / itertot;
		var vely = (y - starty) / itertot;	
        var mycolors = ['#6D18B2', '#23CE6B', '#0000E5','#4EFFEF', '#AFBBF2'];
		
		parts.push(
			{
             //c: '#' + (Math.random() * 0x949494 + 0xaaaaaa | 0).toString(16),
             c: mycolors[Math.floor(Math.random() * mycolors.length)],
			 x: x, //goal position   0xaaaaaa 0x111111
			 y: y,
			 x2: startx, //start position
			 y2: starty,
			 r: true, //Released (to fly free!)
			 v:{x:velx , y: vely}
			}
		)
	}
		
	var update = function(){
		var i, dx, dy, sqrDist, scale;
		itercount++;
		clear();
        //context.fillStyle = "#000000";
        //context.fillText(keyword, 85, 275);
        //fitTextOnCanvas("context", keyword, "Quicksand", 85, 275);
		for (i = 0; i < parts.length; i++){
					
			//If the dot has been released
			if (parts[i].r == true){
				//Fly into infinity!!
				parts[i].x2 += parts[i].v.x;<commit_msg>push old blue<commit_after>function Banner() {
	
    var keyword = "Interaction";
    var keyword2 = "Designer";
    var canvas;
	var context;
	
	var bgCanvas;
	var bgContext;
	
	var denseness = 10;
	
	//Each particle/icon
	var parts = [];
	
	var mouse = {x:-100,y:-100};
	var mouseOnScreen = false;
	
	var itercount = 0;
	var itertot = 40;

	var cwidth = $(document).width();
    var cheight = $(document).height();

    
	this.initialize = function(canvas_id){
		canvas = document.getElementById(canvas_id);
		context = canvas.getContext('2d');
		
		canvas.width = cwidth;
		canvas.height = cheight;
		
		bgCanvas = document.createElement('canvas');
		bgContext = bgCanvas.getContext('2d');
		
		bgCanvas.width = cwidth;
		bgCanvas.height = cheight;
        
		canvas.addEventListener('mousemove', MouseMove, false);
		canvas.addEventListener('mouseout', MouseOut, false);        
        window.addEventListener('resize', resizeCanvas, false);
        
		start();
	}
	
	var start = function(){
		bgContext.fillStyle = "#333";
        bgContext.fontWeight = "300";
		bgContext.font = '167px Arial';
        //fitTextOnCanvas("bgContext", keyword, "Arial", 50, 450);
        //fitTextOnCanvas("bgContext", keyword2, "Arial", 450, 400);
        
		//bgContext.fillText(keyword, 500, 290);
        //bgContext.fillText(keyword2, 500, 400);
        bgContext.fillText(keyword, 53, 410);
        bgContext.fillText(keyword2, 55, 550);
		bgContext.beginPath();
        bgContext.lineWidth="5";
        bgContext.moveTo(760,450);
        bgContext.lineTo(760,650);
        bgContext.lineTo(350,650);
        bgContext.lineTo(350,1000);
        bgContext.stroke();
        
		clear();	
		getCoords();
        //context.fillStyle = "#000000";
        //context.font = '100px Arial';
        //fitTextOnCanvas("context", keyword, "Quicksand", 85, 275);
        //context.fillText(keyword, 85, 275);
	}
	
	var getCoords = function(){
		var imageData, pixel, height, width;
		
		imageData = bgContext.getImageData(0, 0, canvas.width, canvas.height);
		
		// quickly iterate over all pixels - leaving density gaps
	    for(height = 0; height < bgCanvas.height; height += denseness){
            for(width = 0; width < bgCanvas.width; width += denseness){   
               pixel = imageData.data[((width + (height * bgCanvas.width)) * 4) - 1];
                  //Pixel is black from being drawn on. 
                  if(pixel == 255) {
                    drawCircle(width, height);
                  }
            }
        }
        
        setInterval( update, 40 );
	}
	
	var drawCircle = function(x, y){
		
		var startx = (Math.random() * canvas.width);
		var starty = (Math.random() * canvas.height);
		
		var velx = (x - startx) / itertot;
		var vely = (y - starty) / itertot;	
        var mycolors = ['#0C6D6C', '#140152', '#000099','#00BFB2', '#1AB7EA'];
		
		parts.push(
			{
             //c: '#' + (Math.random() * 0x949494 + 0xaaaaaa | 0).toString(16),
             c: mycolors[Math.floor(Math.random() * mycolors.length)],
			 x: x, //goal position   0xaaaaaa 0x111111
			 y: y,
			 x2: startx, //start position
			 y2: starty,
			 r: true, //Released (to fly free!)
			 v:{x:velx , y: vely}
			}
		)
	}
		
	var update = function(){
		var i, dx, dy, sqrDist, scale;
		itercount++;
		clear();
        //context.fillStyle = "#000000";
        //context.fillText(keyword, 85, 275);
        //fitTextOnCanvas("context", keyword, "Quicksand", 85, 275);
		for (i = 0; i < parts.length; i++){
					
			//If the dot has been released
			if (parts[i].r == true){
				//Fly into infinity!!
				parts[i].x2 += parts[i].v.x;
{'fraction_non_alphanumeric': 0.1531232725262576, 'fraction_numerical': 0.0472636815920398, 'mean_word_length': 2.44783230109576, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '48248', 'n_tokens_mistral': 2810, 'n_tokens_neox': 2314, 'n_words': 555}