function getquotes(){
  $.ajax({
        url : 'https://api.forismatic.com/api/1.0/?method=getQuote&format=jsonp&lang=en&jsonp=?',
        dataType: 'jsonp',
        success: function (data) { 
            var quote = data.quoteText;
            if(data.quoteAuthor != ""){
              var author = data.quoteAuthor;
            }
            else{
              var author = "Unknown";
            }
            $('#quote_text').append("<p>"+ quote + "</p><p>&mdash; " + author + "</p>");
            
        },
        error: function (data) {
            quote = "A year spent in artificial intelligence is enough to make one believe in God.";
            author = "Alan Perlis";
            $('#quote_text').append("<p>"+ quote + "</p><p>&mdash; " + author + "</p>");
        }
    });
}

function getWeatherDetails(){
  var api = "https://fcc-weather-api.glitch.me/api/current?";
  var lat, lon;
  var tempUnit = 'C';
  var currentTempInCelsius;

  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function (position) {
      var lat = "lat=" + position.coords.latitude;
      var lon = "lon=" + position.coords.longitude;
      getWeather(lat, lon);
    });
  } else {
    console.log("Geolocation is not supported by this browser.");
  }

  $("#tempunit").click(function () {
    var currentTempUnit = $("#tempunit").text();
    var newTempUnit = currentTempUnit == "C" ? "F" : "C";
    $("#tempunit").text(newTempUnit);
    if (newTempUnit == "F") {
      var fahTemp = Math.round(parseInt($("#temp").text()) * 9 / 5 + 32);
      $("#temp").text(fahTemp + " " + String.fromCharCode(176));
    } else {
      $("#temp").text(currentTempInCelsius + " " + String.fromCharCode(176));
    }
  });

  function getWeather(lat, lon) {
    var urlString = api + lat + "&" + lon;
    $.ajax({
      url: urlString, success: function (result) {
        $("#city").text(result.name + ", ");
        $("#country").text(result.sys.country);
        currentTempInCelsius = Math.round(result.main.temp * 10) / 10;
        $("#temp").text(currentTempInCelsius + " " + String.fromCharCode(176));
        $("#tempunit").text(tempUnit);
        $("#desc").text(result.weather[0].main);
        $('#desc_icon').attr('src',result.weather[0].icon);
      }
    });
  }
}

$( document ).ready(function() {
    getquotes();
    getWeatherDetails();
});

@@ -1,20 +1,1035 @@
+var index = 0;%0Avar captionLength = 0;%0Avar captionOptions = %5B%22Data Scientist%22,%22Python Enthusiast%22,%22Social Activist%22%5D%0A%0A// this will make the cursor blink at 400ms per cycle%0Afunction cursorAnimation() %7B%0A  $('#cursor').animate(%7B%0A      opacity: 0%0A  %7D, 400).animate(%7B%0A      opacity: 1%0A  %7D, 400);%0A%7D%0A%0A// this types the caption%0Afunction type() %7B%0A    $caption.html(caption.substr(0, captionLength++));%0A    if(captionLength %3C caption.length+1) %7B%0A        setTimeout('type()', 70);%0A    %7D%0A%7D%0A%0A// this erases the caption%0Afunction erase() %7B%0A    $caption.html(caption.substr(0, captionLength--));%0A    if(captionLength %3E= 0) %7B%0A        setTimeout('erase()', 50);%0A    %7D%0A%7D%0A%0A// this instigates the cycle of typing the captions%0Afunction showCaptions() %7B%0A  caption = captionOptions%5Bindex%5D;%0A  type();%0A  if (index %3C (captionOptions.length - 1)) %7B%0A    index++%0A    setTimeout('erase()', 4000);%0A    setTimeout('showCaptions()', 6000)%0A  %7D else %7B%0A      setTimeout('erase()', 4000);%0A      index = 0;%0A      setTimeout('showCaptions()', 6000)%0A  %7D%0A%7D%0A%0A
 function getquotes()
@@ -3322,24 +3322,252 @@
 unction() %7B%0A
+      // use setInterval so that it will repeat itself%0A    setInterval('cursorAnimation()', 600);%0A    $caption = $('#caption');%0A    %0A    // use setTimeout so that it only gets called once%0A    setTimeout('showCaptions()', 1000);%0A
     getquote

Update contact_me.js