Best viewed using Google Chrome. Please email me if you need a fast reply as I may only reply comments here after a month. If you like my blog, remember to follow me! Thanks

Thursday, September 11, 2014

The Truth: My Childhood UK Dream

Blyan's drawing when he had the word England in Draw Something 2
I would have drawn that when I first had a childish vision of my future, at 6. :3

Meh. Too busy, so any further tutorials will have to wait (since I need to plan them out, as opposed to just writing here like now..) I am bogged down by so many problems that I can't function without constantly worrying about shit. And the cherry on top is none other than university applications. First step: I need to stop lying to myself.

So I have this funny friend who kept battling with herself between a medical degree (which her family wants) and an art degree (which she wants and has talent for) for ages and ages. She sought friends out to talk about it, but I always knew it was just to hear herself speak her mind. She doesn't need advice; she already has a clear choice consciously muddled by herself. Brainwashing herself wasn't successful; she ended up completely certain doing medicine is ultimate bullshit (no matter how she convinced herself that she loves the profession and helping sick people) and wasted time, energy and money.

I thought that was pretty foolish, but now that I think about it, I supposed I am rather like my friend. Not sure if this is an INFJ trait or what, but we tend to talk ourselves into the most ludicrous things, and we end up never truly trusting ourselves anyway because we know better than us about ourselves (what?) and regret not following our feelings. Since, you know, we're F. I don't think we really trust our own feelings (which leads to our downfall).

Old reprint of the book. Nowadays cover illustrations are more modern, but lack the feel..

A 6-year-old me would cheerfully tell me that believing I would love US more than UK is the most ridiculous thing I can tell myself. It took only two words that I came across in an article about Harry Potter to slap me back to reality: Malory Towers. I supposed most people will have never heard of it, but it's one of my favourite book series by Enid Blyton about life in a boarding school. And I didn't just love school stories either - my entire childhood unfolds in front of me: sticking my nose into every single Enid Blyton book I can find in my mother's school library since I was six. All through four years of studying in the same compound (my elementary school and my mom's high school are built on the same grounds) means carrying books up to my chest every week back home from the library. It was Enid Blyton, then J.K Rowling, and later, Agatha Christie. Of course there were also C.S Lewis, Malcolm Saville, Roald Dahl and a bunch of random classics.

Even though I do read American books like Nancy Drew and Hardy Boys and like them, the majority of books I was exposed to ever since I could read were British. As such I have read many different genres as well - adventure, mystery, school life, fantasy, crime...and of course the lovable short stories by Enid Blyton (I owe my love of reading to her). And because 50% of my life used to be dedicated to reading (especially when the Internet was mostly only for adults at work, cost the ceiling and children were not allowed to use it), it would be quite true to say that my childhood is spent half in Malaysia, and half in 20th century England.

The modern version of England
And having said all that it isn't far-fetched to deduce that my dream has always been going to the UK. I come from a fairly well-off middle class family who prides itself on being careful with money. I have never been to anywhere outside of Southeast Asia, not even Australia, let alone UK. A holiday there is expensive, and my parents have always told me this: "When you grow up, you study hard, get a scholarship, then you can go to the UK. And if you wish, you can also travel around Europe as a bonus during summer holidays."

And as such I have looked forward to achieving my dream, working and toiling over all the exams, all the hurdles, staring UPSR, PMR, SPM dead in the face and feeling like I could never make it after all at each point in life. I supposed rich people who get to go everywhere they like every holiday (like the kids at my college) wouldn't understand; after all they can just ask and get to fly the very next day. But for me, it would be a dream come true, something that I have wanted all my life. Something that I strive for all this while in the long run.

And so even though I understand how wonderfully liberal a US education is and how flexible they are with majors and course structures, and it would be really exciting for me to be able to pick every single course that I would like to study, I couldn't bring myself to love it over the opportunity to finally go to the UK. Of course, one might say that I can always travel on my own later, but it isn't the same as living and breathing the place everyday for a few years. One might say too, that it wouldn't be the same as it was in early 20th century, and there will be more skyscrapers than rolling green hills. But there still are plains and meadows and hills, and cottages and farms and rustic buildings in the suburbs. And they are all authentically English; not somewhere in the world to make up for the real deal that I read about.

This was Enid Blyton's home, Old Thatch :D
The place where she wrote two of my most favourite series ever: Wishing Chair and Magic Faraway Tree
Oh I like US, it's a fascinating place where everything's happening, and I'd really like to visit Seaworld, and Disneyland, and Universal Studios. I'd like to walk along the streets of New York, feel the Californian sunshine and be dazzled by the lights in Las Vegas. I really wouldn't mind having fun in the US and going to all the parks, entertainment and natural alike. Which is why I am applying to three or four universities in the US too, just to be safe.

But I have been lying to myself for too long. Everyone has been dissing UK's education, how rigid and uncompromising it is, how unfriendly and stiff the British are, and how US is the smarter, better choice. There is no better choice. There are only love and dreams, just like how my friend has always wanted to study in New York, how my senior has always wanted to go to Harvard, and how I have always wanted to live a British life, eat good scones with strawberry jam, have sandwiches instead of tortillas, find out how treacle on porridge taste like, and talk about nothing but the weather. I don't need to lie to myself and say I'm passionate about one thing when it's another thing I really want.

Lol I didn't expect this to be so long, and I still have a bio lab conclusion to write. So I'll end it here..this is just my personal little rant on myself. I didn't like how I was lying to myself and trying to tell myself US is as good as UK..when it isn't in my heart. Obviously if I end up going to the US I'll fall in love with the place, get used to the over-enthusiastic Americans, love huge portions of food, and start to watch baseball (and god forbid, call it football!). I'm a pretty adaptable person once I get over myself in my head. But I need not be a sheep and follow the typical IB student (except for aspiring medical students) whose dream is to pursue a US education. I am grateful for the encouragement to go there, but first, I need to try and reach my dream. :)


I'll feel better if I accept that this is what I really want, and go for it. Even if I don't end up in UK (and end up in US or Canada), I'll still feel better because I know that I've been truthful to myself and I did my best. :3

And I'm applying to Scotland! Degrees in Scotland universities take four years, have a much more flexible structure than traditional UK degrees, allow students to pick courses and specialise only in the second year. And best of all, Scotland is just next door to England, not a world away. And it is still considered the UK. :P

I'm coming.

Monday, September 8, 2014

Blog Tutorial: Make A Slideshow Header



Hero!

I know I said I've no idea how to make a slideshow header, and I still don't, but I've decided to post the code for my own slideshow header (not created by me) up here. It's from TheBlogDecorator (go check them out if you want a professional to design your blog for a small fee!) They designed my slideshow header for me. I've also tried this on a separate blog to see if it works with any blog and it appears to be fine.

Let's talk about the code first. So here's the code (it's very long! Be sure to copy all the highlighted code):

<br/><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<style type="text/css">
/*Make sure your page contains a valid doctype at the top*/ 
#simplegallery1{ //CSS for Simple Gallery Example 1 
position: relative; /*keep this intact*/ 
visibility: hidden; /*keep this intact*/
border: 0px solid #ffffff; 
border-radius: 0px;
}
#simplegallery1 .gallerydesctext{ //CSS for description DIV of Example 1 (if defined)
text-align: left; 
padding: 2px 5px; 
font: 10px normal verdana, arial; 
}
</style>
<script type="text/javascript" >
var simpleGallery_navpanel={ 
    loadinggif: 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipdiPU_iy0wqYyGC2w6RDr6NPaYSSJLzlWo6XwmvsYNOWoYMVR6nhnjikWGPffDnMznoad3DiJF-QjCkRiDHNEliZucbHZmSYxyKiuV1ORpG7q0Zsoptb48xCMTMCDCjqA41PT3fOIYwM/s400/ajaxload.gif', //full path or URL to loading gif image 
    panel: {height:'0px', opacity:0.5, paddingTop:'5px', fontStyle:'bold 11px Verdana'}, //customize nav panel container 
    images: [ 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXkqMXnY-eB75kI9-VMGITKA_E3WcwdPFMy_ifeWlzQIq5JKYYe-vima1VIHpFgZD9TnRPjKeondYge4ULFicACs4QA29bKMlwjZhKdH8Yi2m_m78I0DVLoJbkMP0G-nm4_0R0q4rQjN4/s400/left.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2Vs-ZstUcRI5uJPLVt-5y9Za8P34WwxXkt5JYC37eJRItXNtqXkdPPfisWLhCWTvR-9IRLolr9xNUp9a-jTDdjG0eQMsBDBodjlZia2d_d3V_SledaSLGqCpvA5EnUO3h7_oOybZiA3g/s400/play.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdLgz2-9EgTi7molzZm3KgfFiytIyioYo6t1l_ktcm_iNTET2o7duu7oE1jzYzfcecIqrgnRcBM1HPyRqtvjU6uGazFv35VJ5gaoBiincPuuo5MLZ30XOmLiXvWs-yhJZ378OzS6CPw6c/s400/right.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidav_nztZi42hyphenhyphenbu12x41WV_qtJqKqi6jSARIRSCr209Wqhuib6TXx5LoSF9gQddX-CwE0xXemHnR_T-lBo2pj7hSk2b1eaeS8-ztIML1LC9iAcvQJglZDbW91ZwOlSb_4R7BiSfxNQF4/s400/pause.gif'], //nav panel images (in that order) 
    imageSpacing: {offsetTop:[-4, 0, -4], spacing:10}, //top offset of left, play, and right images, PLUS spacing between the 3 images 
    slideduration: 200 //duration of slide up animation to reveal panel 
}
function simpleGallery(settingarg){ 
    this.setting=settingarg 
    settingarg=null 
    var setting=this.setting 
    setting.panelheight=(parseInt(setting.navpanelheight)>5)? parseInt(setting.navpanelheight) : parseInt(simpleGallery_navpanel.panel.height) 
    setting.fadeduration=parseInt(setting.fadeduration) 
    setting.curimage=(setting.persist)? simpleGallery.routines.getCookie("gallery-"+setting.wrapperid) : 0 
    setting.curimage=setting.curimage || 0 //account for curimage being null if cookie is empty 
    setting.preloadfirst=(!jQuery.Deferred)? false : (typeof setting.preloadfirst!="undefined")? setting.preloadfirst : true //Boolean on whether to preload all images before showing gallery 
    setting.ispaused=!setting.autoplay[0] //ispaused reflects current state of gallery, autoplay[0] indicates whether gallery is set to auto play 
    setting.currentstep=0 //keep track of # of slides slideshow has gone through 
    setting.totalsteps=setting.imagearray.length*setting.autoplay[2] //Total steps limit: # of images x # of user specified cycles 
    setting.fglayer=0, setting.bglayer=1 //index of active and background layer (switches after each change of slide) 
    setting.oninit=setting.oninit || function(){} 
    setting.onslide=setting.onslide || function(){} 
    var preloadimages=[], longestdesc=null, loadedimages=0 
    var dfd = (setting.preloadfirst)? jQuery.Deferred() : {resolve:function(){}, done:function(f){f()}} //create real deferred object unless preloadfirst setting is false or browser doesn't support it 
    setting.longestdesc="" //get longest description of all slides. If no desciptions defined, variable contains "" 
    setting.$loadinggif=(function(){ //preload and ref ajax loading gif 
        var loadgif=new Image() 
        loadgif.src=simpleGallery_navpanel.loadinggif 
        return jQuery(loadgif).css({verticalAlign:'middle'}).wrap('<div style="position:absolute;text-align:center;width:100%;height:100%" />').parent() 
    })() 
    for (var i=0; i<setting.imagearray.length; i++){  //preload slideshow images 
        preloadimages[i]=new Image() 
        preloadimages[i].src=setting.imagearray[i][0] 
        if (setting.imagearray[i][3] && setting.imagearray[i][3].length>setting.longestdesc.length) 
            setting.longestdesc=setting.imagearray[i][3] 
        jQuery(preloadimages[i]).bind('load error', function(){ 
            loadedimages++ 
            if (loadedimages==setting.imagearray.length){ 
                dfd.resolve() //indicate all images have been loaded 
            } 
        }) 
    } 
    var slideshow=this 
    jQuery(document).ready(function($){ 
        var setting=slideshow.setting 
        setting.$wrapperdiv=$('#'+setting.wrapperid).css({position:'relative', visibility:'visible', background:'white', overflow:'hidden', width:setting.dimensions[0], height:setting.dimensions[1]}).empty() //main gallery DIV 
        if (setting.$wrapperdiv.length==0){ //if no wrapper DIV found 
            alert("Error: DIV with ID \""+setting.wrapperid+"\" not found on page.") 
            return 
        } 
        setting.$gallerylayers=$('<div class="gallerylayer"></div><div class="gallerylayer"></div>') //two stacked DIVs to display the actual slide 
            .css({position:'absolute', left:0, top:0}) 
            .appendTo(setting.$wrapperdiv) 
        setting.$loadinggif.css({top:setting.dimensions[1]/2-30}).appendTo(setting.$wrapperdiv) //30 is assumed height of ajax loading gif 
        setting.gallerylayers=setting.$gallerylayers.get() //cache stacked DIVs as DOM objects 
        setting.navbuttons=simpleGallery.routines.addnavpanel(setting) //get 4 nav buttons DIVs as DOM objects 
        if (setting.longestdesc!="") //if at least one slide contains a description (feature is enabled) 
            setting.descdiv=simpleGallery.routines.adddescpanel(setting) 
        $(setting.navbuttons).filter('img.navimages').css({opacity:0.8}) 
            .bind('mouseover mouseout', function(e){ 
                $(this).css({opacity:(e.type=="mouseover")? 1 : 0.8}) 
            }) 
            .bind('click', function(e){ 
                var keyword=e.target.title.toLowerCase() 
                slideshow.navigate(keyword) //assign behavior to nav images 
            }) 
        dfd.done(function(){ //execute when all images have loaded 
            setting.$loadinggif.remove() 
            setting.$wrapperdiv.bind('mouseenter', function(){slideshow.showhidenavpanel('show')}) 
            setting.$wrapperdiv.bind('mouseleave', function(){slideshow.showhidenavpanel('hide')}) 
            slideshow.showslide(setting.curimage) //show initial slide 
            setting.oninit.call(slideshow) //trigger oninit() event 
            $(window).bind('unload', function(){ //clean up and persist 
                $(slideshow.setting.navbuttons).unbind() 
                if (slideshow.setting.persist) //remember last shown image's index 
                    simpleGallery.routines.setCookie("gallery-"+setting.wrapperid, setting.curimage) 
                jQuery.each(slideshow.setting, function(k){ 
                    if (slideshow.setting[k] instanceof Array){ 
                        for (var i=0; i<slideshow.setting[k].length; i++){ 
                            if (slideshow.setting[k][i].tagName=="DIV") //catches 2 gallerylayer divs, gallerystatus div 
                                slideshow.setting[k][i].innerHTML=null 
                            slideshow.setting[k][i]=null 
                        } 
                    } 
                    if (slideshow.setting[k].innerHTML) //catch gallerydesctext div 
                        slideshow.setting[k].innerHTML=null 
                    slideshow.setting[k]=null 
                }) 
                slideshow=slideshow.setting=null 
            }) 
        }) //end deferred code 
    }) //end jQuery domload 
}
simpleGallery.prototype={
    navigate:function(keyword){ 
        clearTimeout(this.setting.playtimer) 
        this.setting.totalsteps=100000 //if any of the nav buttons are clicked on, set totalsteps limit to an "unreachable" number 
        if (!isNaN(parseInt(keyword))){ 
            this.showslide(parseInt(keyword)) 
        } 
        else if (/(prev)|(next)/i.test(keyword)){ 
            this.showslide(keyword.toLowerCase()) 
        } 
        else{ //if play|pause button 
            var slideshow=this 
            var $playbutton=$(this.setting.navbuttons).eq(1) 
            if (!this.setting.ispaused){ //if pause Gallery 
                this.setting.autoplay[0]=false 
                $playbutton.attr({title:'Play', src:simpleGallery_navpanel.images[1]}) 
            } 
            else if (this.setting.ispaused){ //if play Gallery 
                this.setting.autoplay[0]=true 
                this.setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, this.setting.autoplay[1]) 
                $playbutton.attr({title:'Pause', src:simpleGallery_navpanel.images[3]}) 
            } 
            slideshow.setting.ispaused=!slideshow.setting.ispaused 
        } 
    },
    showslide:function(keyword){ 
        var slideshow=this 
        var setting=slideshow.setting 
        var totalimages=setting.imagearray.length 
        var imgindex=(keyword=="next")? (setting.curimage<totalimages-1? setting.curimage+1 : 0) 
            : (keyword=="prev")? (setting.curimage>0? setting.curimage-1 : totalimages-1) 
            : Math.min(keyword, totalimages-1) 
        setting.gallerylayers[setting.bglayer].innerHTML=simpleGallery.routines.getSlideHTML(setting.imagearray[imgindex]) 
        setting.$gallerylayers.eq(setting.bglayer).css({zIndex:1000, opacity:0}) //background layer becomes foreground 
            .stop().css({opacity:0}).animate({opacity:1}, setting.fadeduration, function(){ //Callback function after fade animation is complete: 
                clearTimeout(setting.playtimer) 
                setting.gallerylayers[setting.bglayer].innerHTML=null  //empty bglayer (previously fglayer before setting.fglayer=setting.bglayer was set below) 
                try{ 
                    setting.onslide.call(slideshow, setting.gallerylayers[setting.fglayer], setting.curimage) 
                }catch(e){ 
                    alert("Simple Controls Gallery: An error has occured somwhere in your code attached to the \"onslide\" event: "+e) 
                } 
                setting.currentstep+=1 
                if (setting.autoplay[0]){ 
                    if (setting.currentstep<=setting.totalsteps) 
                        setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, setting.autoplay[1]) 
                    else 
                        slideshow.navigate("play/pause") 
                } 
            }) //end callback function 
        setting.gallerylayers[setting.fglayer].style.zIndex=999 //foreground layer becomes background 
        setting.fglayer=setting.bglayer 
        setting.bglayer=(setting.bglayer==0)? 1 : 0 
        setting.curimage=imgindex 
        setting.navbuttons[3].innerHTML=(setting.curimage+1) + '/' + setting.imagearray.length 
        if (setting.imagearray[imgindex][3]){ //if this slide contains a description 
            setting.$descpanel.css({visibility:'visible'}) 
            setting.descdiv.innerHTML=setting.imagearray[imgindex][3] 
        } 
        else if (setting.longestdesc!=""){ //if at least one slide contains a description (feature is enabled) 
            setting.descdiv.innerHTML=null 
            setting.$descpanel.css({visibility:'hidden'})
        } 
    },
    showhidenavpanel:function(state){ 
        var setting=this.setting 
        var endpoint=(state=="show")? setting.dimensions[1]-setting.panelheight : this.setting.dimensions[1] 
        setting.$navpanel.stop().animate({top:endpoint}, simpleGallery_navpanel.slideduration) 
        if (setting.longestdesc!="") //if at least one slide contains a description (feature is enabled) 
            this.showhidedescpanel(state) 
    },
    showhidedescpanel:function(state){ 
        var setting=this.setting 
        var endpoint=(state=="show")? 0 : -setting.descpanelheight 
        setting.$descpanel.stop().animate({top:endpoint}, simpleGallery_navpanel.slideduration) 
    } 
}
simpleGallery.routines={
    getSlideHTML:function(imgelement){ 
        var layerHTML=(imgelement[1])? '<a href="'+imgelement[1]+'" target="'+imgelement[2]+'">\n' : '' //hyperlink slide? 
        layerHTML+='<img src="'+imgelement[0]+'" style="border-width:0" />' 
        layerHTML+=(imgelement[1])? '</a>' : '' 
        return layerHTML //return HTML for this layer 
    },
    addnavpanel:function(setting){ 
        var interfaceHTML='' 
        for (var i=0; i<3; i++){ 
            var imgstyle='position:relative; border:0; cursor:hand; cursor:pointer; top:'+simpleGallery_navpanel.imageSpacing.offsetTop[i]+'px; margin-right:'+(i!=2? simpleGallery_navpanel.imageSpacing.spacing+'px' : 0) 
            var title=(i==0? 'Prev' : (i==1)? (setting.ispaused? 'Play' : 'Pause') : 'Next') 
            var imagesrc=(i==1)? simpleGallery_navpanel.images[(setting.ispaused)? 1 : 3] : simpleGallery_navpanel.images[i] 
            interfaceHTML+='<img class="navimages" title="' + title + '" src="'+ imagesrc +'" style="'+imgstyle+'" /> ' 
        } 
        interfaceHTML+='<div class="gallerystatus" style="margin-top:1px">' + (setting.curimage+1) + '/' + setting.imagearray.length + '</div>' 
        setting.$navpanel=$('<div class="navpanellayer"></div>') 
            .css({position:'absolute', width:'100%', height:setting.panelheight, left:0, top:setting.dimensions[1], font:simpleGallery_navpanel.panel.fontStyle, zIndex:'1001'}) 
            .appendTo(setting.$wrapperdiv) 
        $('<div class="navpanelbg"></div><div class="navpanelfg"></div>') //create inner nav panel DIVs 
            .css({position:'absolute', left:0, top:0, width:'100%', height:'100%'}) 
            .eq(0).css({background:'black', opacity:simpleGallery_navpanel.panel.opacity}).end() //"navpanelbg" div 
            .eq(1).css({paddingTop:simpleGallery_navpanel.panel.paddingTop, textAlign:'center', color:'white'}).html(interfaceHTML).end() //"navpanelfg" div 
            .appendTo(setting.$navpanel) 
        return setting.$navpanel.find('img.navimages, div.gallerystatus').get() //return 4 nav related images and DIVs as DOM objects 
    },
    adddescpanel:function(setting){ 
        setting.$descpanel=$('<div class="gallerydesc"><div class="gallerydescbg"></div><div class="gallerydescfg"><div class="gallerydesctext"></div></div></div>') 
            .css({position:'absolute', width:'100%', left:0, top:-1000, zIndex:'1001'}) 
            .find('div').css({position:'absolute', left:0, top:0, width:'100%'}) 
            .eq(0).css({background:'black', opacity:simpleGallery_navpanel.panel.opacity}).end() //"gallerydescbg" div 
            .eq(1).css({color:'white'}).end() //"gallerydescfg" div 
            .eq(2).html(setting.longestdesc).end().end() 
            .appendTo(setting.$wrapperdiv) 
        var $gallerydesctext=setting.$descpanel.find('div.gallerydesctext') 
        setting.descpanelheight=$gallerydesctext.outerHeight() 
        setting.$descpanel.css({top:-setting.descpanelheight, height:setting.descpanelheight}).find('div').css({height:'100%'}) 
        return setting.$descpanel.find('div.gallerydesctext').get(0) //return gallery description DIV as a DOM object 
    },
    getCookie:function(Name){ 
        var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair 
        if (document.cookie.match(re)) //if cookie found 
            return document.cookie.match(re)[0].split("=")[1] //return its value 
        return null 
    },
    setCookie:function(name, value){ 
        document.cookie = name+"=" + value + ";path=/" 
    } 
}
</script>
<script type="text/javascript">
var mygallery=new simpleGallery({ 
    wrapperid: "simplegallery1", //ID of main gallery container, 
    dimensions: [1170, 470], //width/height of gallery in pixels. Should reflect dimensions of the images exactly 
    imagearray: [ 
                 ["INSERT PICTURE LINK HERE", "INSERT LINK HERE", ""],

["INSERT PICTURE LINK HERE", "INSERT LINK HERE", ""],

["INSERT PICTURE LINK HERE", "INSERT LINK HERE", ""],

       
    ], 
    autoplay: [true, 3000, 20], //[auto_play_boolean, delay_btw_slide_millisec, cycles_before_stopping_int] 
    persist: false, //remember last viewed slide and recall within same session? 
    fadeduration: 1500, //transition duration (milliseconds) 
    oninit:function(){ //event that fires when gallery has initialized/ ready to run 
        //Keyword "this": references current gallery instance (ie: try this.navigate("play/pause")) 
    }, 
    onslide:function(curslide, i){ //event that fires after each slide is shown 
        //Keyword "this": references current gallery instance 
        //curslide: returns DOM reference to current slide's DIV (ie: try alert(curslide.innerHTML) 
        //i: integer reflecting current image within collection being shown (0=1st image, 1=2nd etc) 
    } 
})
</script>
<div id="simplegallery1"></div>

Here's what you need to change:

PURPLE : If you want more pictures, simply copy and paste a purple line. If you want five pictures, there should be five purple lines with the exact structure.

Insert the link to your picture (uploaded on Photobucket or somewhere else) and the link that will be directed to when people click on the picture. For me, my "link" will be my blog homepage. So when people click on my slideshow pictures, they will be directed there.

RED: The dimension of your pictures. All of your pictures should have the same width and height. The first number stands for the width, the second for the height. Change it accordingly. For best results, it should be the dimensions of your previous header.

GREEN: Change this number (to 1000, 1500, 2000, or whatever you want) to speed up or slow down the fading effect between each picture.



Okay now here's how to put the code in:

1. You'll want to first remove the header gadget (click HERE to learn how).


2. Then paste this code in a HTML gadget and put it at the very top of your layout (where your header should go!)





Save and view your blog! It should be there now! You can use this nifty tool to align it if it's out of place... click HERE.

If it's there and perfectly moving now, yay! You can stop here now :D

P.S:
IF THE PHOTOS DID NOT SHOW UP....IF IT IS A BLANK...
TRY UPLOAD THE PICTURES TO A PAGE. HERE'S HOW:

1. Click on Pages and make a new page:

 2. Upload your pictures onto the page.



 3. Make sure that your pictures are in their ORIGINAL SIZE. (which is the dimensions that you've already cropped for header use)


4. Save your page and view it!


5. Scroll to your picture, right-click on it, and open the image in a new tab.


6. In the new tab, copy the link given at the top (the link address of the tab). This will be your PICTURE LINK. Paste it into the slideshow code.


7. Do the same for every picture, save your slideshow code again and view! Pictures should be visible now!

Btw, the pictures above are for demonstration purposes only, they are not cropped to header size lol.

Did this work for you? Email me if there are any questions, or comment below if you would like to offer thanks! Hope it helps! :D

Sunday, September 7, 2014

50 Truths About Me (Extended Version)

There's this 20 truths about me thingy going around on Facebook and I've done it too, and because Facebook stuff easily become lost, I wanted to transfer them here so that I can read them in the future and see if I'm still the same. Also, readers here get to read them as well LOL.
This is an extended version including 50 things about me yay (although I'm not sure if anyone would care to read lolol)

If you know all 50 about me, you're probably the closest human to me in life and afterlife (I don't think my parents or my best friends know all anyway)
If you know more than 40, you're golden. Like, truly, shine bright like a diamond. <3
If you know more than 30, you're a really really good friend! :D
If you know more than 20, you're probably a close friend!
If you know more than 10, I'm quite close to you eh? Can you drop me a message so we can get to know each other better? :O
If you know less than 10, it's okay, I don't blame you. I don't talk about myself openly that much! Especially not about these stuff.

So here goes!

1. I am forever curious and want to try things that won't hurt or risk injuring myself.

2. I don't really know what my talents are.

3. I dislike people being in my private room.

4. I am extremely protective of people I care about.

5. I'm afraid of pain and the sight of blood.

6. I don't know how to swim (so don't push me into the pool I'll drown in front of you).

7. I enjoy sarcasm and puns.

8. I like cats because they are very individualistic.

9. I am agnostic and I don't care much either way.

10. My ability to function in a crowd depends on my mood and if I'm comfortable around those people.

11. I try to maintain a sunny personality outside but I actually have frequent emo fits.

12. I'm always afraid that my niceness to the opposite sex is misunderstood for something more.

13. I love the piano and I regret that I had no chance to learn when I was younger.

14. I get the best adrenaline rush from epic movie soundtracks.

15. I secretly like empty churches and cathedrals and want to step into one someday.

16. Sports and mathematics are not my cup of tea.

17. I used to keep a daily no-miss diary for two years.

18. I love writing and have been writing stories since I was 5 or 6.

19. In any story, I am most interested in the characters, especially the protagonists.

20. I dislike networking and socialising and prefer genuine friendships.

21. I am terribly perfectionistic in tasks I care about and I won't eat or rest till I get it done my way.

22. I enjoy intellectually stimulating conversations and don't care much for small talk.

23. I have grown to avoid conflicts because conflicts are annoying to deal with.

24. I dislike conforming to society because I believe in the individual.

25. I dream to travel the world permanently because I enjoy the diversity that the world offers.

26. I dream to write a life-changing book, be it fiction or non-fiction.

27. I love mocha because it has chocolate in it.

28. I love eggs done any style.

29. I enjoy reading about psychology, anthropology and historical wars.

30. I'm rather childish in a relationship.

31. I am very lazy and disorganized when I work.

32. When I am consumed by negativity, I take long walks by myself to nowhere.

33. I can be extremely rash when provoked and regret it afterwards.

34. I am very sensitive and paranoid about people when I'm scared.

35. I don't know how to cut meat properly because I rarely eat western cuisine.

36. I can't stand the cold much so I don't know how to survive winter.

37. I like to let chocolate melt on my fingers and then lick them off (gross I know)

38. I am super messy when it comes to physical surroundings.

39. I hate anything sticky - sweat, face moisturisers, lotions...

40. I am an only child and I hate it.

41. I like small children and am usually good with them.

42. I need to sleep with a blanket covering my feet because I'm scared that a ghost will touch them.

43. I cannot sleep without a bed or a comfortable seat (I cannot sleep in class)

44. I like to collect and have a lot of near-useless knowledge.

45. I like to observe and study people, personalities, and why they did what they did.

46. I feel uncomfortable in places where people know each other and I'm alone and a nobody.

47. I do not stand out but am very assertive when I want what I want.

48. I don't adapt easily but I am trying to learn how to let go of familiarity.

49. I can keep secrets if it is a must but I want to be let in on everything.

50. I want to make a difference to the world.

Did you know all of this about me? :3

I'm going back to college tomorrow, so I'll probably be missing from here again .___.
Especially since I need to apply for universities too at this point in time!
Stick around though, I'll pop in every now and then <3

Saturday, September 6, 2014

Blog Tutorial: Remove/Move Header Gadget

Hi!
So here's a small tutorial for those who want to move their header gadget away and put something above it but can't...

Now you can!

Let's remove this stubborn gadget!

To move or remove the header gadget which is stubbornly locked into place (as if you could never ever ever remove it...), you simply need to unlock it by changing a few magic words from the codes that make up your blog.

By unlocking this gadget, you can move it elsewhere or simply delete it altogether so you can put better stuff up there (like a slideshow header that I will be posting the tutorial for in the coming days!)

So here's how to do it:

Go to Template > Edit HTML:



Then click on Format Template.
Press CTRL+F to reveal the search box, and paste this in: region-inner header-inner
When you have found this in your template code, you will see something like this below:

<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='Header' type='Header'>

Replace the highlighted words with: 2, yes and false.
So it will look like this:

<b:section class='header' id='header' maxwidgets='2' showaddelement='yes'>
<b:widget id='Header1' locked='false' title='Header' type='Header'>


And then click save template! You should be able to move and remove the header gadget now!

Yay I deleted it! :D

Hope this little trick is useful to you!

Friday, September 5, 2014

Blog Tutorial: Design From Scratch Part 2 (The Header)



Hi people. So we've come to the second post of this Design From Scratch thingy! And today we'll be talking about the header.

Note: I don't know digital art (I'm planning to learn though!) so the samples won't be those digitally awesome stuff. I am not a professional designer, so I don't teach fancy, slideshow or even interactive headers. I know Photoshop, but we won't be talking about it today because these tutorials are meant for those who don't even know PS but want a personalized header without paying others to do it. What I'll show is how to design simple, minimalistic but interesting headers that will attract readers but won't get into your content's way. If you're looking for professional stuff, this is not for you.

Since it's an important part of your blog, I've dedicated this post solely to it. A header is super important because it is your blog's first impression. Readers and visitors don't even have to scroll down to see it; it is right there when they load the page.

So to give a good impression we need a good header. A good header should have these criteria:

  1. Large
  2. Well-aligned
  3. Clear
  4. Simple
When I say simple, I don't mean plain. You can be as creative as you want, but keep it clear and easy on the eye. So how do we create a header? I'm not sponsored by this website, in fact I pay to use its premium services, but I've always liked PicMonkey. Why?

First of all, it's free. I know I said I paid, but that's only to use its premium stuff that I really need (such as cloning and a couple of effects), but I have been using it for free for more than a year. And everything that I use to design my blog is free, so there isn't any need for you to pay if you don't want to. 

Secondly, they have a lot of free stuff. It's not like those cheapskate websites where they force you to pay everywhere you go. The stuff is labelled clearly whether it's a premium feature or not, and they are always upgrading and bringing in new free features. Plus you can download the best quality free.

Thirdly, it's easy to use. Unlike more professional editors like Photoshop, Picmonkey is extremely easy to use and still packs powerful tools that you will need to design stuff or to edit pictures. The interface is friendly and informal too, and you won't feel intimidated at all.

Let's move on to the designing. Here's a picture of my previous header:




Doesn't it look fresh and appealing? It's simple, clear and large. You can add a static photo of yourself instead of bees and flowers, or maybe have a different theme: school, nautical, garden, hearts etc. The best thing is picmonkey has lots of free stickers to play with. You can also upload your own cliparts if you want.

Step 1: Go to PicMonkey. Mouseover "Design", then click on "Custom" size. The size varies with your preference, for my header example above, I had it 1350 x 350. Personally I think the width should be the width of your post background if your header is not going to blend in, but in my case, since it's going to blend with the white of my background anyway, it doesn't matter.


Step 2: Under the Basic Edits tool, pick Canvas Color and tick the "Transparent Canvas" to make the canvas transparent, if you have a colour for your blog background. If your blog is white, you can leave the canvas as white!



Step 3: Use the Text tool to add text to your header. You can pick the font, colour and size. Try to make the name of your blog huge and in the middle of your header so that it is clear. Add any quote or description of your blog if there is (best if it's only one sentence so that the header doesn't look cluttered).

Remember that if your background isn't white, some colours might not go with your background colour. For example, red wouldn't look good on a blue blog. You can also separate your words, rotate them and create different effects.



You can also zoom in and adjust the alignment of the words properly...


Step 4:

Now we're ready for stickers! Since in this example there's the word fashion, I'm going to assume it's a header for a fashion blog, and we'll add some fashion-related stickers. For food-related stickers, there's a chef hat, water drop, flames (solid if using free, smoky available if you're on premium) and eggshells. Even though the choices are not many, the stickers available are versatile and can be creatively used on a wide range of ideas.

If you have your own image (that has a transparent background), you can click on Your Own under the Overlays tool and add your image. :D




Above I've added a button for the O alphabet (let's just ignore the word "love", it's not essential haha) which instantly makes the words a lot more interesting right? I've also added a moustache to the tail of the G alphabet, a red lipstick print (faded 50% so that the red won't clash with blue later) and finished off with an assertive, strong dark blue dashed-line arrow, which is kinda pointing to the bottom, inviting readers to scroll down. :D

Step 5: It's not the best header design, since this is just an example, but it's minimalistic, simple, clear and large, and not at all plain! When you're done, hit save and remember to save it in the PNG format, not the JPEG format. PNG will save your transparent background and retain higher resolution!


Oh and if you want to input different languages and you have the font styles you want (we know how fugly the default font is for non-roman characters)
or maybe you just want a specific font installed in your computer, you can click "yours" under the Text tool and all the fonts available in your computer are uploaded. Below is an example...I have this Japanese font style in my computer, so I used it for a few Japanese characters.


Here are three designs I cooked up while writing this tutorial...not the best of the best, but it gives an idea of the stuff you can do!

Trendy blog that is fashionable or just modern and chic!

Anime blog with a sweet, cute side maybe?

A homeroom teacher blog could be very well-suited for this header!

The backgrounds of the headers above are transparent, btw! Let's try one of them on a blog.

Step 6: Go to Layout > Header > Edit


Step 7: Upload the new header! Remember to choose "Instead of title and description". Uncheck the "Shrink to fit“ box because we already made sure it fits :D




Yay uploaded!

Step 8: Hit save and view your blog!


It's a little too much to the right here, so I adjusted the width of my entire blog in the Template Designer. If you don't want to adjust your blog width, or maybe you want the header to be a bit higher or lower, try this method. Click HERE

Tadaa!

Yay! Now we have an awesome header! And if we should want a bluish background...


Works too! :D Just make sure the blue isn't too bright or dark. :)

Email me your questions, or comment below if this is helpful! Remember to follow me! Coming up will be the sidebar! I'll be getting rid of that About Me thing you see above and replacing with something better :D

Photoshoot: C.C Cosplay (Code Geass)


Herroo humans! :D

I am pretty sure most hardcore anime fans and some casuals have heard and watched Code Geass. It's like, one of the most epic series I have ever watched :D
Initially I was slightly turned off by the robot (is it called mecha?) part of the story cause even though I like Transformers and stuff, robots in an anime is a bit...weird. But Lelouch is too awesome to not continue watching, so I did, and I did not regret at any point.



In fact I was so wowed by the perfect rationality of Lelouch and his match-made-in-heaven-partner C.C that I decided to cosplay as C.C for my first cosplay photoshoot. Now some people might go zomg but you've never cosplayed before, or like have some negative perception towards cosplaying.
Imo I have never been biased toward any hobby (unless you do stuff like collect panties or something ew) and I guess I don't mind being another shoutout proof that cosplayers DO NOT always dress sexily/provocatively and they DO NOT always dress up as maids and shiz.

It is a hobby that allows one to show their love for a certain character, and imo one should only cosplay as a character if and only if one actually watched the series and really like him/her. Some people just cosplay because the characters have fancy clothes or look pretty, but that's not the main point. Some people do wear revealing clothes, but that's only when the characters wear it (like Kill la Kill). Most of the time the characters have a few different outfits, so it's entirely possible to skip provocative clothing entirely.

Plus many cosplayers make their own costumes and weapons and props, so seriously, the best ones out there deserve respect, not being lumped together with brainless humans using cosplay as a way to dress like nobody's business.

So. Now that I have state my stance, let's move on.


I love C.C for her intellect, her cool, level-headed mind and her suppressed emotions that she actually has despite her being not human and all. She loves pizza (yay) and she's always sarcastic but actually a warm loving person inside which I absolutely adore. She's also strong and independent unlike many other female anime characters who are all boobs and looks but no thoughts of their own and always need to be saved. In this case, she is the one constantly saving Lelouch (even though he's already OP as hell).




I'm sorry if I couldn't get her blank/pensive/thoughtful/bored expressions .___. but she is one awesome female character, and I love cosplaying as her. She's very cool. I might even consider doing it again with another main outfit of hers (the black one) when I have the means to do so ;)

Here goes!

Fixing~
HAHAHAHAHAHAHA Family Guy on while I'm fixing stuff
Oh right I actually forgot my wig cap (gg) so there will be stray brown hair (I TRIED)
There are only indoor shots because it was already night when my makeup was done by Mar. She is literally magic <3 only thing is my eyebrows are brown but ohvellwtv haha.
Buckets of thanks to Blyan as well because he had to end up running errands and buy pins and hairbands and pizza and shiz lol. AND be the photographer. *smothers with hugs*


Not ready lolol I was still fixing =.=

I had to admit I was watching Family Guy. 
The Window Photo. I love the bokehs!
I kinda look like Legolas...no?
Favourite picture! I wasn't ready but it turned out quite well.
LOL dis so swag. We had to get Pizza Hut for accuracy sake cause they sponsored CG and C.C only eats Pizza Hut pizzas.

One of the few full body pics. Shame there are so few cuz I like the costume.

Close-up

Favourite picture again! I think this is my most favourite?
Third favourite. Blyan said I look provocative here. I'm like C.C is supposed to be "innocently sexy" HAHA


NOMS.

Idk why this picture is taken. My nostrils are perfect HAHA.

Favourite too :D
Upside down :3
Mar said I look blur LOL



Full body yay! Otw to the pool :3

Took some outdoor shots at the pool but kinda sucks so nvm.



Lelouch! It's my actual phone wallpaper hahaha.

Selfies after le shoot :D
LOL sleepy face
*hides*
Dat book that cannot be taken out zz
That's it for this time :D
It was fun!
Wondering if I should do Asuna from SAO or Enma Ai from Jigoku Shoujo next. Hmm.