31 Aralık 2011 Cumartesi

Nice Nice Mutlu Huzurlu Seneler

Kolaj için tarih84 çok teşekkürler.

2011 yılı çok huzurlu çok mutlu bir yıl olmadı benim için. En büyük dertlerimiz sağlık konusunda oldu. Bu sebeple yeni yılda en çok istediğim şey sevdiklerime bol bol sağlık dilemek olacak.

2012 dilerim ki hepimize sağlık, huzur, mutluluk, bol kazanç, bol şans ve dolu dolu bir aşk getirsin.

Yüreğinizle istediğiniz tüm güzellikler tüm dilekler yeni yılda gerçekleşsin.

Yeni yılınız kutlu olsun.

Nice uzun seneler 31 Aralık'ta hep beraber olmak dileğiyle.

Sevgiler.

30 Aralık 2011 Cuma

Bloguna Kar Yağdırmak İsteyen Var mı?





Uzun bir zamandır yani neredeyse bir aydır bir kar yağdırma efekti arıyordum. Nihayet bir tane buldum. Diğer bulduklarım ya sayfayı kaydırıyor yada kaydırma çubuğunun titreşmesine neden oluyordu.

Bu kod hem güzel hem de yağan kar sayfanın altında birikiyor. 

Yapmanız gerekenler. Blog düzenleme sayfasında YERLEŞİM bölümüne gitmek GADGET ekle seçeneğine tıkla. Sonra oradan HTML/JAVA SCRİPT gadgetını seç. 

Ondan sonra yapman gereken tek şey buradaki kodu kopyalayıp HTML alanına yapıştırmak. Sayfadan ayrılmadan değişiklikleri kaydetmeyi unutmayın. ;)

Bol karlı günler dilerim. Sevgiler. 

Blogda sağ tık engeli olduğundan kopyalamada sıkıntı olabilir. İsteyenler mail adresini yorum olarak bırakırsa kodu gönderebilirim ;)

Yani bu kodu:

<script>/*
   DHTML PNG Snowstorm! OO-style Jascript-based Snow effect
   --------------------------------------------------------
   Version 1.2.20041121a
   Dependencies: GIF/PNG images (0 through 4.gif/png)
   Code by Scott Schiller - www.schillmania.com
   --------------------------------------------------------
   Description:
  
   Initializes after body onload() by default (via addEventHandler() call at bottom.)
  
   Properties:
  
   usePNG
   ---------------
   Enables PNG images if supported ("false" disables all PNG usage)
  
   flakeTypes
   ---------------
   Sets the range of flake images to use (eg. a value of 5
   will use images ranging from 0.png to 4.png.)
  
   flakesMax
   ---------------
   Sets the maximum number of snowflakes that can exist on
   the screen at any given time.
   
   flakesMaxActive
   ---------------
   Sets the limit of "falling" snowflakes (ie. moving, thus
   considered to be "active".)
  
   vMax
   ---------------
   Defines the maximum X and Y velocities for the storm.
   A range up to this value is selected at random.
  
   flakeWidth
   ---------------
   The width (in pixels) of each snowflake image.
  
   flakeHeight
   ---------------
   Height (pixels) of each snowflake image.
   
   flakeBottom
   ---------------
   Limits the "bottom" coordinate of the snow.
  
   snowCollect
   ---------------
   Enables snow to pile up (slowly) at bottom of window.
   Can be very CPU/resource-intensive over time.

*/

var snowStorm = null;

function SnowStorm() {
  var s = this;
  var storm = this;
  this.timers = [];
  this.flakes = [];
  this.disabled = false;
  this.terrain = [];

  // User-configurable variables
  // ---------------------------

  var usePNG = true;
  var imagePath = 'http://www.wilson.com.pt/neve/image/snow/'; // relative path to snow images
  var flakeTypes = 6;
  var flakesMax = 240;
  var flakesMaxActive = 128;
  var vMax = 2.5;
  var flakeWidth = 5;
  var flakeHeight = 5;
  var flakeBottom = null; // Integer for fixed bottom, 0 or null for "full-screen" snow effect
  var snowCollect = true;
  var showStatus = true;

  // --- End of user section ---

  var isIE = (navigator.appName.toLowerCase().indexOf('internet explorer')+1);
  var isWin9X = (navigator.appVersion.toLowerCase().indexOf('windows 98')+1);
  var isOpera = (navigator.userAgent.toLowerCase().indexOf('opera ')+1 || navigator.userAgent.toLowerCase().indexOf('opera/')+1);
  if (isOpera) isIE = false; // Opera (which is sneaky, pretending to be IE by default)
  var screenX = null;
  var screenY = null;
  var scrollY = null;
  var vRndX = null;
  var vRndY = null;

  function rnd(n,min) {
    if (isNaN(min)) min = 0;
    return (Math.random()*n)+min;
  }

  this.randomizeWind = function() {
    vRndX = plusMinus(rnd(vMax,0.2));
    vRndY = rnd(vMax,0.2);
    if (this.flakes) {
      for (var i=0; i<this.flakes.length; i++) {
        if (this.flakes[i].active) this.flakes[i].setVelocities();
      }
    }
  }

  function plusMinus(n) {
    return (parseInt(rnd(2))==1?n*-1:n);
  }

  this.resizeHandler = function() {
    if (window.innerWidth || window.innerHeight) {
      screenX = window.innerWidth-(!isIE?24:2);
      screenY = (flakeBottom?flakeBottom:window.innerHeight);
    } else {
      screenX = (document.documentElement.clientWidth||document.body.clientWidth||document.body.scrollWidth)-(!isIE?8:0);
      screenY = flakeBottom?flakeBottom:(document.documentElement.clientHeight||document.body.clientHeight||document.body.scrollHeight);
    }
    s.scrollHandler();
  }

  this.scrollHandler = function() {
    // "attach" snowflakes to bottom of window if no absolute bottom value was given
    scrollY = (flakeBottom?0:parseInt(window.scrollY||document.documentElement.scrollTop||document.body.scrollTop));
    if (isNaN(scrollY)) scrollY = 0; // Netscape 6 scroll fix
    if (!flakeBottom && s.flakes) {
      for (var i=0; i<s.flakes.length; i++) {
        if (s.flakes[i].active == 0) s.flakes[i].stick();
      }
    }
  }

  this.freeze = function() {
    // pause animation
    if (!s.disabled) {
      s.disabled = 1;
    } else {
      return false;
    }
    if (!isWin9X) {
      clearInterval(s.timers);
    } else {
      for (var i=0; i<s.timers.length; i++) {
        clearInterval(s.timers[i]);
      }
    }
  }

  this.resume = function() {
    if (s.disabled) {
       s.disabled = 0;
    } else {
      return false;
    }
    s.timerInit();
  }

  this.stop = function() {
    this.freeze();
    for (var i=0; i<this.flakes.length; i++) {
      this.flakes[i].o.style.display = 'none';
    }
    removeEventHandler(window,'scroll',this.scrollHandler,false);
    removeEventHandler(window,'resize',this.resizeHandler,false);
  }

  this.SnowFlake = function(parent,type,x,y) {
    var s = this;
    var storm = parent;
    this.type = type;
    this.x = x||parseInt(rnd(screenX-12));
    this.y = (!isNaN(y)?y:-12);
    this.vX = null;
    this.vY = null;
    this.vAmpTypes = [2.0,1.0,1.25,1.0,1.5,1.75]; // "amplification" for vX/vY (based on flake size/type)
    this.vAmp = this.vAmpTypes[this.type];

    this.active = 1;
    this.o = document.createElement('img');
    this.o.style.position = 'absolute';
    this.o.style.width = flakeWidth+'px';
    this.o.style.height = flakeHeight+'px';
    this.o.style.fontSize = '1px'; // so IE keeps proper size
    this.o.style.zIndex = 2;
    this.o.src = imagePath+this.type+(pngHandler.supported && usePNG?'.png':'.gif');
    document.body.appendChild(this.o);
    if (pngHandler.supported && usePNG) pngHandler.transform(this.o);

    this.refresh = function() {
      this.o.style.left = this.x+'px';
      this.o.style.top = this.y+'px';
    }

    this.stick = function() {
      s.o.style.top = (screenY+scrollY-flakeHeight-storm.terrain[Math.floor(this.x)])+'px';
      // called after relative left has been called
    }

    this.vCheck = function() {
      if (this.vX>=0 && this.vX<0.2) {
        this.vX = 0.2;
      } else if (this.vX<0 && this.vX>-0.2) {
        this.vX = -0.2;
      }
      if (this.vY>=0 && this.vY<0.2) {
        this.vY = 0.2;
      }
    }

    this.move = function() {
      this.x += this.vX;
      this.y += (this.vY*this.vAmp);
      this.refresh();

      if (this.vX && screenX-this.x<flakeWidth+this.vX) { // X-axis scroll check
        this.x = 0;
      } else if (this.vX<0 && this.x<0-flakeWidth) {
        this.x = screenX-flakeWidth; // flakeWidth;
      }
      var yDiff = screenY+scrollY-this.y-storm.terrain[Math.floor(this.x)];
      if (yDiff<flakeHeight) {
        this.active = 0;
        if (snowCollect) {
          var height = [0.75,1.5,0.75];
          for (var i=0; i<2; i++) {
            storm.terrain[Math.floor(this.x)+i+2] += height[i];
          }
        }
        this.o.style.left = ((this.x-(!isIE?flakeWidth:0))/screenX*100)+'%'; // set "relative" left (change with resize)
        if (!flakeBottom) {
          this.stick();
        }
      }
    }

    this.animate = function() {
      // main animation loop
      // move, check status, die etc.
      this.move();
    }

    this.setVelocities = function() {
      this.vX = vRndX+rnd(vMax*0.12,0.1);
      this.vY = vRndY+rnd(vMax*0.12,0.1);
    }

    this.recycle = function() {
      this.setVelocities();
      this.vCheck();
      this.x = parseInt(rnd(screenX-flakeWidth-1));
      this.y = parseInt(rnd(640)*-1)-flakeHeight;
      this.active = 1;
    }

    this.recycle(); // set up x/y coords etc.
    this.refresh();

  }

  this.snow = function() {
    var active = 0;
    var used = 0;
    var waiting = 0;
    for (var i=this.flakes.length-1; i>0; i--) {
      if (this.flakes[i].active == 1) {
        this.flakes[i].animate();
        active++;
      } else if (this.flakes[i].active == 0) {
        used++;
      } else {
        waiting++;
      }
    }
    if (snowCollect && !waiting) { // !active && !waiting
      // create another batch of snow
      this.createSnow(flakesMaxActive,true);
    }
    if (active<flakesMaxActive) {
      with (this.flakes[parseInt(rnd(this.flakes.length))]) {
        if (!snowCollect && active == 0) {
          recycle();
        } else if (active == -1) {
          active = 1;
        }
      }
    }
  }

  this.createSnow = function(limit,allowInactive) {
    if (showStatus) window.status = 'Creating snow...';
    for (var i=0; i<limit; i++) {
      this.flakes[this.flakes.length] = new this.SnowFlake(this,parseInt(rnd(flakeTypes)));
      if (allowInactive || i>flakesMaxActive) this.flakes[this.flakes.length-1].active = -1;
    }
    if (showStatus) window.status = '';
  }

  this.timerInit = function() {
    this.timers = (!isWin9X?setInterval("snowStorm.snow()",20):[setInterval("snowStorm.snow()",75),setInterval("snowStorm.snow()",25)]);
  }

  this.init = function() {
    for (var i=0; i<8192; i++) {
      this.terrain[i] = 0;
    }
    this.randomizeWind();
    this.createSnow(snowCollect?flakesMaxActive:flakesMaxActive*2); // create initial batch
    addEventHandler(window,'resize',this.resizeHandler,false);
    addEventHandler(window,'scroll',this.scrollHandler,false);
    // addEventHandler(window,'scroll',this.resume,false); // scroll does not cause window focus. (odd)
    // addEventHandler(window,'blur',this.freeze,false);
    // addEventHandler(window,'focus',this.resume,false);
    this.timerInit();
  }

  this.resizeHandler(); // get screen coordinates

  if (screenX && screenY && !this.disabled) {
    this.init();
  }

}

function snowStormInit() {
  setTimeout("snowStorm = new SnowStorm()",500);
}

// Generic addEventHandler() wrapper
// ---------------------------------
// A generic interface for adding DOM event handlers
// Version 1.2.20040404
//
// Code by Scott Schiller | schillmania.com
//
// Revision history:
// ---------------------------------
// v1.1.20031218: initial deploy
// v1.2.20040404: added post-load event check

var addEventHandler = null;
var removeEventHandler = null;

function postLoadEvent(eventType) {
  // test for adding an event to the body (which has already loaded) - if so, fire immediately
  return ((eventType.toLowerCase().indexOf('load')>=0) && document.body);
}

function addEventHandlerDOM(o,eventType,eventHandler,eventBubble) {
  if (!postLoadEvent(eventType)) {
    o.addEventListener(eventType,eventHandler,eventBubble);
  } else {
    eventHandler();
  }
}

function removeEventHandlerDOM(o,eventType,eventHandler,eventBubble) {
  o.removeEventListener(eventType,eventHandler,eventBubble);
}
  
function addEventHandlerIE(o,eventType,eventHandler) { // IE workaround
  if (!eventType.indexOf('on')+1) eventType = 'on'+eventType;
  if (!postLoadEvent(eventType)) {
    o.attachEvent(eventType,eventHandler); // Note addition of "on" to event type
  } else {
    eventHandler();
  }
}
  
function removeEventHandlerIE(o,eventType,eventHandler) {
  if (!eventType.indexOf('on')+1) eventType = 'on'+eventType;
  o.detachEvent(eventType,eventHandler);
}

function addEventHandlerOpera(o,eventType,eventHandler,eventBubble) {
  if (!postLoadEvent(eventType)) {
    (o==window?document:o).addEventListener(eventType,eventHandler,eventBubble);
  } else {
    eventHandler();
  }
}

function removeEventHandlerOpera(o,eventType,eventHandler,eventBubble) {
  (o==window?document:o).removeEventListener(eventType,eventHandler,eventBubble);
}

if (navigator.userAgent.toLowerCase().indexOf('opera ')+1 || navigator.userAgent.toLowerCase().indexOf('opera/')+1) {
  // opera is dumb at times.
  addEventHandler = addEventHandlerOpera;
  removeEventHandler = removeEventHandlerOpera;
} else if (document.addEventListener) { // DOM event handler method
  addEventHandler = addEventHandlerDOM;
  removeEventHandler = removeEventHandlerDOM;
} else if (document.attachEvent) { // IE event handler method
  addEventHandler = addEventHandlerIE;
  removeEventHandler = removeEventHandlerIE;
} else { // Neither "DOM level 2" (?) methods supported
  addEventHandler = function(o,eventType,eventHandler,eventBubble) {
    o['on'+eventType] = eventHandler;
    // Multiple events could be added here via array etc.
  }
  removeEventHandler = function(o,eventType,eventHandler,eventBubble) {}
}

// Safari 1.0 does not support window.scroll events - apparently netscape 6.0/6.2 and mozilla 1.4 also.
// Refer to events support table at http://www.quirksmode.org/js/events_compinfo.html

// -- end addEventHandler definition --

/*
   PNGHandler: Object-Oriented Javascript-based PNG wrapper
   --------------------------------------------------------
   Version 1.2.20040803
   Code by Scott Schiller - www.schillmania.com
   --------------------------------------------------------
   Description:
   Provides gracefully-degrading PNG functionality where
   PNG is supported natively or via filters (Damn you, IE!)
   Should work with PNGs as images and DIV background images.
   --------------------------------------------------------
   Revision history
   --------------------------------------------------------
   1.2
   - Added refresh() for changing PNG images under IE
   - Class extension: "scale" causes PNG to scale under IE
   --------------------------------------------------------
   Known bugs
   --------------------------------------------------------
   - ie:mac doesn't support PNG background images.
   - Safari doesn't support currentStyle() - can't parse BG
     via CSS (ie. for a DIV with a PNG background by class)

*/

function PNGHandler() {
  var self = this;

  this.na = navigator.appName.toLowerCase();
  this.nv = navigator.appVersion.toLowerCase();
  this.isIE = this.na.indexOf('internet explorer')+1?1:0;
  this.isWin = this.nv.indexOf('windows')+1?1:0;
  this.isIEMac = (this.isIE&&!this.isWin);
  this.isIEWin = (this.isIE&&this.isWin);
  this.ver = this.isIE?parseFloat(this.nv.split('msie ')[1]):parseFloat(this.nv);
  this.isMac = this.nv.indexOf('mac')+1?1:0;
  this.isOpera = (navigator.userAgent.toLowerCase().indexOf('opera ')+1 || navigator.userAgent.toLowerCase().indexOf('opera/')+1);
  if (this.isOpera) this.isIE = false; // Opera filter catch (which is sneaky, pretending to be IE by default)
  this.filterID = 'DXImageTransform.Microsoft.AlphaImageLoader';
  this.supported = false;
  this.transform = self.doNothing;

  this.filterMethod = function(o) {
    // IE 5.5+ proprietary filter garbage (boo!)
    // Create new element based on old one. Doesn't seem to render properly otherwise (due to filter?)
    // use DOM "currentStyle" method, so rules inherited via CSS are picked up.
    if (o.nodeName != 'IMG') {
      var b = o.currentStyle.backgroundImage.toString(); // parse out background image URL
      o.style.backgroundImage = 'none';
      // Parse out background image URL from currentStyle.
      var i1 = b.indexOf('url("')+5;
      var newSrc = b.substr(i1,b.length-i1-2).replace('.gif','.png'); // find first instance of ") after (", chop from string
      o.style.writingMode = 'lr-tb'; // Has to be applied so filter "has layout" and is displayed. Seriously. Refer to http://msdn.microsoft.com/workshop/author/filter/reference/filters/alphaimageloader.asp?frame=true
      o.style.filter = "progid:"+self.filterID+"(src='"+newSrc+"',sizingMethod='"+(o.className.indexOf('scale')+1?'scale':'crop')+"')";
    } else if (o.nodeName == 'IMG') {
      var newSrc = o.getAttribute('src').replace('.gif','.png');
      // apply filter
      o.src = 'image/none.gif'; // get rid of image
      o.style.filter = "progid:"+self.filterID+"(src='"+newSrc+"',sizingMethod="+(o.className.indexOf('scale')+1?'scale':'crop')+"')";
      o.style.writingMode = 'lr-tb'; // Has to be applied so filter "has layout" and is displayed. Seriously. Refer to http://msdn.microsoft.com/workshop/author/filter/reference/filters/alphaimageloader.asp?frame=true
    }
  }

  this.pngMethod = function(o) {
    // Native transparency support. Easy to implement. (woo!)
    bgImage = this.getBackgroundImage(o);
    if (bgImage) {
      // set background image, replacing .gif
      o.style.backgroundImage = 'url('+bgImage.replace('.gif','.png')+')';
    } else if (o.nodeName == 'IMG') {
      o.src = o.src.replace('.gif','.png');
    } else if (!bgImage) {
      // no background image
    }
  }

  this.getBackgroundImage = function(o) {
    var b, i1; // background-related variables
    var bgUrl = null;
    if (o.nodeName != 'IMG' && !(this.isIE && this.isMac)) { // ie:mac PNG support broken for DIVs with PNG backgrounds
      if (document.defaultView) {
        if (document.defaultView.getComputedStyle) {
          b = document.defaultView.getComputedStyle(o,'').getPropertyValue('background-image');
          i1 = b.indexOf('url(')+4;
          bgUrl = b.substr(i1,b.length-i1-1);
        } else {
          // no computed style
          return false;
        }
      } else {
        // no default view
        return false;
      }
    }
    return bgUrl;
  }

  this.doNothing = function() {}
  
  this.supportTest = function() {
    // Determine method to use.
    // IE 5.5+/win32: filter

    if (this.isIE && this.isWin && this.ver >= 5.5) {
      // IE proprietary filter method (via DXFilter)
      self.transform = self.filterMethod;
    } else if (!this.isIE && this.ver < 5) {
      // No PNG support or broken support
      // Leave existing content as-is
      self.transform = null;
      return false;
    } else if (!this.isIE && this.ver >= 5 || (this.isIE && this.isMac && this.ver >= 5)) { // version 5+ browser (not IE), or IE:mac 5+
      self.transform = self.pngMethod;
    } else {
      // Presumably no PNG support. GIF used instead.
      self.transform = null;
      return false;
    }
    return true;
  }

  this.init = function() {
    this.supported = this.supportTest();
  }

}

function getElementsByClassName(className,oParent) {
  var doc = (oParent||document);
  var matches = [];
  var nodes = doc.all||doc.getElementsByTagName('*');
  for (var i=0; i<nodes.length; i++) {
    if (nodes[i].className == className || nodes[i].className.indexOf(className)+1 || nodes[i].className.indexOf(className+' ')+1 || nodes[i].className.indexOf(' '+className)+1) {
      matches[matches.length] = nodes[i];
    }
  }
  return matches; // kids, don't play with fire. ;)
}

// Instantiate and initialize PNG Handler

var pngHandler = new PNGHandler();

pngHandler.init();


addEventHandler(window,'load',snowStormInit,false);

</script>




Kodu bu siteden aldım: http://siteneeklekodlari.blogspot.com/2011/12/sayfa-altnda-biriken-kar-kodu.html  

26 Aralık 2011 Pazartesi

Cana Can Katanlar ♥

Hafta sonu sevgili dostlarım LaFea ve Arwen ile buluşup küçük bir doğum günü kutlaması yapmaya karar verdik. Buluşmamızı diğer blogger arkadaşlara da bildirdik ama yoğunluk, verilmiş sözler vs. bir araya gelemedik. Ama dediğim gibi biz zaten buluşacaktık, diğer arkadaşların duyup da 'bize de söyleseydiniz keşke' diyeceklerini düşünerek onları da davet ettik.

Aslında biraz utanç verici birşey. Diğer taraftan bakınca da öyle değil. LaFea ve Arwen'in amaçları hem buluşmak hem de bana doğum günü hediyelerimi vermekti. Diğer arkadaşları davet ederken de kendimi kötü hissettim açıkçası. İnsanları mecburiyete sokmak gibiydi. 

Neyse canım dostlarım bana güzel bir gün yaşattılar, beni hiç kırmadılar ne dediysem yaptılar ♥ Bana birbirinden şahane, inanılmaz değerli güzel hediyeler aldılar. Çok çok çok teşekkür ederim canlarım ♥  Yedik, içtik, eğlendik, paylaştık. Çok şahane bir gündü ama en çok dostluğun tadı damağımda kaldı. Doyamadım resmen. İstedim ki zaman dursun biz birbirimize doyana, kanana kadar hiç akmasın.

Arkadaş demek dost demek dürüstlük demek benim kitabımda. O yüzden LaFea ile dostluğumuz hep dürüstlüğe dayalı oldu. Doğum günü hediyemi taaaa Ağustos ayında seçtim ve istedim. Bize göre hediye alınırken karşı tarafın istediği yada ihtiyacı olan birşeyi almak daha önemli. Bu yüzden LaFea ve Arwen in aldığı hediyeler daha çok benim istediğim şeyler oldu. 


Arwen'imin hediyesi. Kitap bir seri diğer kitapları arşivimde vardı. Bu kitabı alma fırsatım olmamıştı. Canım benim ricamı kırmadı ve Julia Quinn'in Sonsuz Sevgilerimle kitabını bana aldı. Çok çok çok teşekkürler canım.


Bu Kore kolyesi LaFea'mdan ♥ Bayıldım ve hemen boynuma taktım =)


Bu da Kore kupam :D Buna da bayıldım. Üzerinde ne mi yazıyor...


=)))


Bu Kore bayrağı temalı tişörtüm =) Şahane... ☻


=)) ♥

Halbuki ben sadece tişört istemiştim =)) Kupa ve kolye LaFea'nın duble süprizi oldu bana ♥


***

Yemek için Gelik Restoranta gittik. Döner menü lezizdi. Yalnız mantarlı pilav diye yedirdikleri resmen bezelyeli baharatlı pilavdı. Ayrıca içine koydukları dereotu tadını çok kötü yapmıştı bence.


Tatlılarımızı City Brasserie'de yedik. Ben ve Arwen sufle yerken LaFea browni ve çay içti. Doğrusunu söylemek gerekirse mekana ve sunuma bayıldık. Ayrıca diğer masalardan gördüğümüz yemeklerde gayet şahane görünüyordu. Bir daha gittiğimizde yemeklerimizi City Brasserie da yemeye karar verdik.


Sufle şahaneydi. İçindeki çikolata sos tam kıvamındaydı. 


Diğer bir açıdan =)


LaFea'nın brownisi.  Leziizzz... =)

***


Her yıl yaptığım gibi bizim tanışmamıza, şahane bir dostluğu paylaşmamıza, bir arada bulunmamıza aracı olan insana teşekkürlerimi sunuyorum. Gün gelir sevgi biter aşk gider. Ama sana olan minnettarlığım, dostlarım yanımda oldukça benimle yaşayacak. Her yıl doğum günümü senin doğum günün gibi kutluyorum. İyi ki varsın Gong Yoo. 



Gitmeden önce son bir satır daha yazayım. Teşekkürler ve sevgi ifadeleri çok hoş çok güzel. Ama en değerlisi ne biliyor musunuz? Sevilmek ve değer verilmek. LaFea ve Arwen ikinizi de çok çok seviyorum. Siz de beni hep sevin emi. Hiç unutmayın, hiç kızmayın hem ama hep yüreğinizde saklayın beni. Tıpkı benim yaptığım gibi.

21 Aralık 2011 Çarşamba

İyiliklerin Güzelliklerin Başlangıcı Olsun İnşallah

Geçtiğimiz son bir yıl benim için çok çok zor geçti. Blogumda doğum günümü iki kez kutlamışım sizlerle. 2009 ve 2010 yazıları bunlar. Hep blog arkadaşlarım yanımda oldu. Bu internet çok kötü bir şey diyorlar ama ben en iyi seçimlerimi hep internet ile yaptım. LaFeaM, Arwen, Mavi, Tarih84, Masalevi, Akira, Kaktüs, Aslı ve Winpohu. Hepsi yüzyüze tanışıp, güldüğüm, eğlendiğim, yediğim, içtiğim arkadaşlarım. Hepsiyle internet üzerinden tanıştık kaynaştık. Yani sözün kısası zor geçen bir yıl olsa da tercihlerim seçimlerim beni yanıltmadı. Allah utandırmasın inşallah.

Dedim ya çok zor geçti bu yıl. Yanımdan ayrılmayan, bir an olsun beni yalnız bırakmayan, herkesin sustuğu, iç sesimle yalnız kaldığımda yanımda olan dostum LaFea sayesinde atlattım bu zor günleri. Hep yanımdaydı, hep benimleydi saolsun. Cana can katan, yüreklere su serpen bir dostluk bizimkisi. %100 dürüstlüğe dayanıyor. Yalanı yok sahteliği yok. Allah nazarlardan saklasın inşallah.

Doğum günüm 21 Aralık yani bugün. Ama bizim ailede hediyeler alındığında genelde dayanamayıp verilir. İşte benim hediyemde pazar günü geldi. Canım ablam hem kendi hemde annemin hediyesini dayanamayıp bana verdi :D 





C&A mağazalarından alışveriş yapmaya bayılıyorum. Çünkü hem bedenime hemde bütçeme uygun çok güzel şeyler buluyorum. Yukarıda ablamın seçip beğendiği gömlek ve yımış yımış yelek tam zevkime göre :) Özellikle yelek beni yavru mamut gibi gösterse de bayıldımmm!! Dokunması, ele gelişi ve yumuşaklık hissi harika :) 

Diyeceğim o ki ilk doğum günü hediyemi taaa pazar gününden aldım bile :D Ama aslında benim enn büyük, enn güzel ve en şahane hediyem canımdan çok sevdiğim biricik anneciğimdir. Onun varlığı, onun yanımızda olması, kucağının cennet sıcaklığı, teninin miss kokusu... Dünyaları verseniz değişmem. Güzel mevlam annemi ve ailemi benden ayırmasın, kötü günlerimiz Allahın izniyle bitsin gitsin inşallah :) 

Bu da böyle bir doğum günü yazısı oldu. Bol dualı, bol teşekkürlü :) 

Seneye daha mutlu, daha neşeli ve hayat dolu bir yazı olur inşallah.

Fırında Yumurtalı Ispanak

Doğum günümde ne mi yaptım? Ehuehuee yemek yaptım yahu her zamanki gibi :D Günün yemeği Fırında Yumurtalı Ispanak. Annem hasta olduğundan beri yemek yapmaya başladım. Yani yaklaşık 3 aydır yemek yapıyorum. Önceleri zor gelse de şimdi şimdi zevk almaya başladım. 

Şimdi şu kadar zaman geçti aradan blogumda hiç yaptığım yemeciklere yer vermedim. Bugün yaptığım yemeği aşama aşama fotoğrafladım, bir tane de video çektim. Bu arada yemek bloggerlarının işi gerçekten zor. Zira fotoğraf çekeyim derken iki defa yemeğim yanma tehlikesi geçirdi :D

Gelelim yemeğimizi tarif etmeye. Öncelikle malzemelerimizi yazalım.

1 kilo Ispanak
1 adet orta boy soğan
1 avuç pirinç
2 yemek kaşığı salça
2 çorba kaşığı tuz
3 su bardağı su
Sıvı yağ
5 yumurta

Malzemeler tamam. Şimdi sıra geldi anlatmaya.


Öncelikle ıspanaklarımızı bol suyla yıkıyoruz.


Ispanaklarımız bol bol yıkandı. Tertemiz oldu.


Soğanımızı soyduk. Tupperware ile yemeklik doğrayacağız.





Bu da soğanların nasıl yemeklik hale gelişinin videosu :D



Bir avuç pirinci ayıklayıp yıkadık.


Tencereye koyduğumuz sıvı yağla beraber pirinçlerimizi 2-3 dk kavuruyoruz.


Sonra ıspanaklarımızı ekliyoruz. Soğan, sıvı yağ ve ıspanakları kavuruyoruz.


Salçamızı ekleyeceğiz. Tabii ki TAT salçamız.


Ben salçayı yemeklere eklerken sulandırarak ekliyorum. Az su ekleyerek kıvamlı hale gelen salça yemeklere daha kolay karışıyor ve topak topak kalmıyor.


Salçayı ve suyunu eklediğimiz ıspanakları yaklaşık olarak 10 dakika pişiriyoruz.


Sırada yemeğimizin tuzunu eklemek var. Ben 2 tatlı kaşığı atıyorum yemeklere.


Yemeğimizi yaklaşık 10 dakika daha pişirdikten sonra tepsimize alıyoruz.


Bizim tepsimiz küçük olduğundan ben 5 yumurta kırdım.


Önceden ısıttığımız fırınımıza yumurtalarımız pişsin diye atıyoruz.


Yumurtalar pişiyor :)


Fırından çıktı sıcak sıcak.


Afiyet olsun.
Related Posts Plugin for WordPress, Blogger...