Sayfalar

21 Ekim 2012 Pazar

Android Zamanı: Bir Çin İşkencesi - Çin Ürünü Tablet İle Proje Geliştirme :)

Gün geldi artık elimde bir adet çin ürünü de olsa bir adet android tablet var. Elbette emülatörden sonra bu tablet kesinlikle muhteşem bir nimet, şöyle ki;

  • Emülatör için sensör desteği yok. yani tutup da bir hareket sensörünü emülatörde test edemiyorsun arkadaş. bu noktada emülatöre müdahale edecek uygulamalar geliştirilmiş ama onu çalışır hale getirmek da ayrı bir işkence her zamanki gibi söz konusu android olduğu için.
  • Emülatör ayrıca olağan üstü şekilde yavaş çalışan bir uygulama ki burası da göz ardı edilemeyecek bir eksiklik.
  • Emülatör üzerinde çoklu dokunma projesi geliştirecek olursanız hiç niyetlenmeyin bile.
Bilinmeyen Android Cihazı :)
Bu noktada elbette ki bir adet android cihazı müthiş bir nimet ancak gelin görün ki her güzel şeyde olduğu gibi bu durumda da kötü bir şey söz konusu ki o da bu cihazın sürücülerinin olmayışıdır. bilgisayara taktığınız zaman bu bir bilinmeyen Android cihazı olarak göründü. ancak bilinmeyen bu android cihazı bilinen bir android cihazı olsa bile çalışmamaktadır ta ki "Android Composite ADB Interface" cihazı oluncaya kadar. ancak bu sayede eclipse ile tablet bağlantısı düzenli olarak kurulmaktadır. Peki her türlü denemeye rağmen yine de bunu bir android device olarak tanıtamazsak ne yapacağız, bu noktada yapılacak en mantıklı şey usb yığın depolama aygıt olarak bilgisayara bağlamak ve yaptığınız projenin "apk" çıktısını alıp onu cihazınızın hafızasına koymak olacaktır. Daha sonrasında dışarıdan indirilmiş bir uygulama hesabı projenin kurulması gerekecektir ve ardından çalışmayı deneyebileceksiniz. Ancak bir dez avantaj olarak da bu sistem eclipse ile bağlantılı olmadığı için LogCat ekranında dinamik olarak sistemin gelişmelerini takip edemeyeceksiniz. Hatta işin çok da kötü bir yanı olarak da projenin derlenmesinden sonra ortaya çıkabilecek hataların takibi de olmayacaktır. Proje çökecektir ancak nerede, ne zaman, nasıl ve hepsinden önemlisi neden ötürü çökecektir bilemeyebilirsiniz. Bu da hayat kurtarmak bir yana mahvedecek türden bir özellik olacağı için bu işten de çok verim elde edemeyeceksiniz. 

İşte böyle bir durumda yapılması gereken tek şey google'a danışmak ve onun bilgeliğine güvenmek olacaktır sanırım. zaten yaptığım araştırmalarım sonucunda bir forumda elemanın tekinin çözüm önerisini gördüm ki o da bir Çin sitesinde bulmuş bu çözümü, gayet basit aslında. 

Google USB Driver 'ım Kurulu

İlk önce Android SDK Manager'ı açıp Google USB Driver'ın sisteminizde kurulu olduğunu emin olun. Kurulum işleminden sonra Android SDK'nızın kurulu olduğu dizine gelin, benim sistem için C:\Android\extras\google\usb_driver alt klasöründe android_winusb.inf dosyasını göreceksiniz. Bu dosyayı düzenleme modunda açıp bizim cihazımızın bilgilerini içerisine yerleştirmemiz gerekmektedir. 

[Google.NTx86] ve [Google.NTamd64] satırlarının yazılı olduğu kısımlara gelin ve altlarına aşağıdaki satırları yazın;

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0003 
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0003&MI_01

Şimdi iyi güzel ancak bu satırları neye dayanarak yazdık?

  • Aygıt Yöneticisi > Android Cihazımız > Sağ Tık - Özellikler > Ayrıntılar > Özellikler Açılır Listesinden Donanım Kimlikleri,

satırından elde ettiğimiz bilgiler çerçevesinde yazdık. Aşağıdaki resimde de gördüğünüz üzre bizim cihazımıza ait kimliklerin aynısını belirlenen şekilde yazdık. ( NOT : Bu resim işlem sonrasına ait bir resim olduğu için bende artık Diğer Aygıtlar sekmesinde bulunan Android cihazı yerine artık Android Composite ADB Interface yazmaktadır ancak donanım kimlikleri değişmeyeceği için sıkıntı yoktur. )


Elimdeki tabletin donanım kimlikleri



Daha sonrasında bu inf dosyamızı kaydedip kapatınız. Şimdi artık bizim donanım kimliklerimizi de barındıran bir adet driverımız mevcuttur. Bu noktada artık aygıt yöneticisinden android cihazımızın sürücüsünün güncellenmesi yeterli olacaktır. Sürücü güncellemesinden sonra ise artık bir adet Android Composie ADB Interface cihazımız artık kullanıma hazır olacaktır. Kurulum sırasında uyumsuzluklardan bahsetti malesef ancak devam et dedim ve şimdilik bir sıkıntı yok gibi duruyor.

Dos ekranından da adb aracılığıyla çalışan cihazları listeleyebilirsiniz:

1. satır işlem öncesine ait.
2. Satır işlem sonrasına ait.

ve artık eclipse'den projeyi çalıştırmaya hazırız. hayırlı uğurlu olsun efendim :)

Seçili olan satır, sürücülerini kurduğumuz tabletimizdir :)

2 Nisan 2012 Pazartesi

1 Nisan 2012 Pazar

Android Zamanı: Bir Çin İşkencesi - Virtual Box vs Android SDK Bağlantısı Bölüm 1

Malesef ki Eclipse ile gelen emülatör yeri geldiğinde çok yavaş, sıkıntılı bir çalışma ortamı sunmakta. Bu duruma bir son vermek için Android SDK'nın bağlantısını ADB aracılığıyla Virtual Box'a kurulan Android - x86 OS'a yönelendirme yapmak gerekmekte. Ancak bu yönlendirme çileşini yaşayan bilir zira oldukça çetrefillidir. Fakat bu süreci aşmak için birtakım kodları uygulamaya sokmak gerekmektedir. İzleyelim efendim:




Android Zamanı: Bir Kurulum Hikayesi

Balıkesir Üniversitesi Necatibey Eğitim Fakültesi'nde Oyun Programlama ve Nesneye Yönelik Programlama derslerini alan pek muhterem öğrenciler için hazırlamış olduğum videoyu paylaşmak istedim :)




Vimeo Linki

8 Aralık 2011 Perşembe

ey spam mesaj sana sesleniyorum :)

Merhaba!

Guzel blogunuz alperburmabiyik.blogspot.com icin tesekkur ediyorum.

Çok güzel blogunuz için teşekkür ederim. Birinci post "hadi bi' el atın dostlar :)" okudum ve bundan sonra memnuniyetle bir saat boyunca blogdaydım:) Her şeyi çok enteresan ve kolay yazılmıştır. En beğendiğim post"sonunda o gün geldi işte :)".

Jooble şirketinde çalışıyorum, dünyanın dört bir tarafından iş ilanlarına dair teklifleri topluyoruz. İşim, sitemizin bağlantıların eklenmesini blogculara ikna ettirmektir. İşimi çok seviyorum çünkü biz dost ekibiz ve iyi yönetmenliğimiz var, maalesef, blogculara bağlantımızın eklenmesini nasıl ikna edebilmek hiç bir fikrim yoktur, bunu yapamazsam işten çıkarılacağımdan korkuyorum:( Şu anda çeşitli bloglara mektuplar yollacağıma bir saat boyunca blogunuzu okuyordum. Gerçekten, "Turkey" "jooble-tr.com" için bağlantının uygun olacağına emin değilim, ama linkimizi blogunuza ekleyebilirseniz ben size borçluyum!!! Ciddiyetle belirtmeli ki sitemiz çok güzel ve insanların iş bulmalarına yardım eder. İyi çalışmalar dilerim! İyi blogunuz için çok sağ olun. Yeni yazılarınızı sabırsızlıkla bekliyorum!!!!



Logo JoobleSaygılarımla,
 
..........
Account Manager

Tel:
..........
E-mail:  ..........
Skype: ..........
www.jooble.org







Bugün gelen postalarımı kontrol ederken yukarıdaki ilginç mesaj dikkatimi çekti zira adamların adres verebilmek için ne tarz yollara başvurduklarını bir kez daha gördüm ya o bana yetti yani. İlk okuduğumda mesajdaki içerik çok masumane bir istekmiş gibi geldi ama merak ettim kim bu şirket, bu adamlar cidden de var mı? veya en basitinden cidden de bir saat durmuş mu diye? :D siteye girdim baktım en azından böyle bir site varmış dedim kendi kendime. Daha sonra google analystic'i açtım adamın dediklerindeki doğruluk payını görebilmek için ancak öyle bir saat takılan falan birisini de göremedim fakat daha önce pek görme fırsatım olmayan ip adreslerinden bloga girişler olduğunu gördüm. Mesajı tekrar okuyunca bi terslik hissettim yani en basitinden yazdığım o son iki yazıda bu kadar beğenilebilecek ne olabilirdi ki diye bir kere daha okudum arkadaş bildiğin yazıydı yani :D hal böyle olunca spam bir mesaj olabilir mi diye merak etmeye başladım ve ilk paragrafı internette aratınca çıktı sağolsun başkalarına da bu mesajı ayen tabi onların bloglarına uygun olarak göndermişler :D onlarda bende olmayan birşey vardı ama ilginçtir, o mesajların en sonunda "P.S:"li bir dipnot onların burcunu soruyordu :D benim niye burcumu soran bir spam mesajım yok arkadaş yapmayın benim neyim eksik. dertliyim arkadaş, dertli. sitemler içindeyim.


neyse demem o ki yapmayın arkadaşlar kanmayın böyle masumane görüşlü mesajlara.
ey bunu yapmaya ihtiyaç duyanlar; yazık yav yapmayalım böyle saçma sapan şeyler :)


saygılarımla,

DÜZENLEME : 
Bu yazıyı yazdıktan birkaç gün sonra bana bu maili atan kişiden cevap niteliğinde bir mail daha geldi zira kendisinin spam mail gönderen bir yazılım olmadığını göstermek istemiş. Ancak şuna değinmek istiyorum ki madem spam olarak göndermiyorsunuz o zaman büyük (?) bir zahmete katlanıp herkese tek tek bunu gönderiyorsunuz ki daha da yorucu; yapınız efendim küçük bir yazılım da herkese otomatik olarak aynı mesajı göndersin değil mi? (!) 
Bir de şuna değinmeden geçemeyeceğim bu  mailin birebir aynısının nasıl oluyorsa bir de yabancı versiyonu var :) cidden de uluslararası çalışmaya başlamışlar tebrik etmek lazım gelir :) 
Çok sevgili bunu yapma ihtiyacı hisseden arkadaşlar keşke böyle şeyler yapma gereği hissetmeden büyümeye çalışsaydınız be, değil mi yani?

17 Ekim 2011 Pazartesi

hadi bi' el atın dostlar :)

     Sonunda o gün de geldi; Away3D Broomstick kütüphanesi ile Adobe Molehill teknojisinin birleşimiyle oluşan küçük projemin test aşamasındaki halini yayınlıyorum. Aşağıdaki resimler örnek projeye ait :)

     Teknik yetersizliklerden dolayı hala projeyi yükleyemiyorum malesef bu nedenden dolayıdır ki internet üzerinden yayınlama fırsatım yok ancak dosyayı indirip test edebilmeniz için yükledim. Sizden ricam projeyi denemeniz ve performans değerleri hakkında beni bilgilendirmenizdir.

     Proje açıldıktan sonra ekranın sol üst köşesinde RAM ve FPS hızları yazacaktır. Oradaki ortalama değerler ile bilgisayarınızın teknik özelliklerini - özellikle de ekran kartı ile işlemcinizi - yazarsanız benim için hayli verimli olacaktır. Projenin çeşitli bilgisayarlarda nasıl bir performansa sahip olduğunu görmek istiyorum zira envai çeşitlikteki bilgisayarlarım yok malesef test edebilmem için. Bu noktada işte sizin yardımınıza ihtiyacım var bu yüzden hadi bi' el atın dostlar :)

    Projeyi indirmek için tıklayınız efendim :)

Oyun detaylar hakkında şöyle bir kısa özet geçmek gerekirse ;
  • Aracın boyasını, plakasını, çevrenin yansımasını ayarlayabilmekteyiz.
  • Ortam için nispeten de olsa bir fizik kütüphanesi bulunmaktadır.
  • Haritaya dolambaçlı bir yol sonrasında ulaşabileceğiniz bir rampa ekledim :)
  • Malum her arabada olduğu gibi W,A,S,D hareket sağlarken SPACE frenleme görevini yapar.
  • R düşen arabayı düzeltir, E ise aynayı ekrandan kaldırıp eklemeyi sağlar.
  • 1 den 7'ye kadarki tuşlarda ise kamera açıları mevcuttur.
  • Page Up ile Page Down tuşları kamera yüksekliğini ayarlar
  • Resimlerden de anlaşılacağı üzere bir adet hız panelim ve bir adet de haritam mevcuttur.
  • Ortamda Bloom Filter ile birlikte Bump ( Normal ) Texture da aktif olduğu için kabartmalı bir yansıma görüntüsü sağlanmaktadır. 
  • Projede herhangi bir kural yoktur maksat gezmek zira test amaçlı ekledim dediğim gibi performansı ölçebilmek ve gereksiz olabilecekleri kaldırabilmek veya azaltabilmek için
  • Projeden gölgeyi kaldırmamın nedeni de biraz da bu yüzdendir. Daha önceden sebebini çözemediğim kırıklar meydana gelmekteydi. Away3D'nin ekibine gönderdiğim hata mesajından sonra anladım ki bu bilinen bir problemmiş. Şimdilik bir çözüm önerisi çıkmadığı için zamana bırakmakta fayda gördüm ve kaldırdım. bir sonraki Away3D sürümünde artık :)
Hadi arkadaşlar yardımızı ve dönütlerinizi bekliyorum. Şimdiden teşekkürler :)



5 Ekim 2011 Çarşamba

sonunda o gün geldi işte :)

Evet artık an itibariyle şu yazıyı da gördüm ya "You have version 11,0,1,152 installed". Bunlar mutluluk göz yaşları :) Tabi şaka bir yana sonunda Adobe Flash Player 11'i çıkarmış bulunmakta. Artık ne zaman yeni bir güncelleme ile değişiklik yapacaklar derdi stresi kalmadı bende şükür ki :) Sonunda ne BETA ne de Release Candicate...

Hepimize bu gelişme hayırlı uğurlu olsun o zaman :)

Bir de hazır yeri gelmişken Away3D'nin forumunda ve birkaç başka kişide daha gördüm bu derdi: "Kurulu olan bir flash player nasıl kaldırılır?" ve kendi yaşadığım bir dert olarak da FP11 Adobe'un sayfasına taşınmadan önce yani hâlâ geliştirilmekte olduğu dönemde Labs'da yer almaktaydı ve haliyle Debugger'ları da oradaydı ama şimdi FP11'in Debugger'ını neredeydi :)  Bi' hevesle kurmuş olduğum FP11'in debugger'ının RC Debuggerıyla uyumsuz olacağı aklıma dahi gelmemişti o heyecanla. Çünkü halihazırdaki projelerimi yeniden değiştirmek zorunda kalabileceğim düşüncesi bile beni yormaya yetiyordu ancak düşündüğüm gibi olmadı ve güncel sürüm tek bir problem haricinde sorunsuz bir şekilde çalıştı ki o da Debugger'larının uyumsuzluğuydu. Hemen küçük bir araştırmanın ardından da tüm problemlerin çözümü meğer bu sayfada olduğunu gördüm. Güncel sürümün ve bir önceki stabil sürümün debugger'larını ve uninstal'ları burada mevcut. Ayrıca Adobe'un bu sayfasında da detaylı bir şekilde unistall sürecinden bahsedilmiş.

Aşağıdaki resimler araba oyunumun biraz daha geliştirilmiş haline ait.
  • Gölge sistemini biraz daha geliştirdim. 
  • Işıklandırma sisteminde hala biraz problem var malesef :)
  • Hız ibresi ile haritayı ekledim
  • Oyun içindeki nesneleri kontrol noktası ( checkpoint ) olarak kullanmak istiyorum. Bu yüzden onların dinamiğini hala aktifleştirmedim. Şu anda sahnede boş boş duruyorlar :)
  • Sağolun Away3D Bloom Filter geliştirmiş hemencecik sahneme ekleyiverdim. 
  • Şimdilerde kamera sistemi üzerinde çalışıyorum. Kamera açısını değiştirebilmek için.

30 Eylül 2011 Cuma

flash player 11 rc sürümü çıkmış meğer :)

          Daha önceden belirttiğim üzere Adobe, Molehill teknolojisi çerçevesinde şekillendirdiği Flash Player 11'in artık 6 Eylül 2011 tarihinden itibaren Release Candicate yani düzgün olarak çalışma potansiyeline sahip en dengeli sürümünü kullanıcılara Adobe Labs'de sunulmuş bulunmakta.

          Away3D Broomstick'in en güncel sürümünü indirdiğim zaman karşılaştığım o saçma sapan hatanın ( bakınız lütfen sağdaki resime ) nedeni ise de bu güncellemeymiş. Hataya da şöyle kısaca değinmem gerekirse; Sahneye yerleştirdiğim taşıt gitmesi gereken yönün aksi istikamette ilerlemekteyken tekerlekler de dönmesigerektiği eksenden de ayrı bir eksende dönmekteydiler :)

          Away3D'nin forumuna yazdığım zaman hatanın nedeninin Adobe'un Flash Player'ın RC sürümünde yaptığı sahne ayarlarındaki değişiklikten ötürü olduğunu öğrendim. Hal böyle olunca da benim de RC sürümüne geçiş yapmam gerekliydi ki halihazırda BETA sürümüne devam etmekteydim ne yazık ki :)

          Şimdi ise RC sürümüne geçmiş olmanın verdiği mutlulukla Away3D ile çalışmaya devam ediyorum. Teşekürler Away3D ve Adobe :)

           Bu arada aklıma gelmişken söyleyeyim FP11 BETA sürümünü kullanırken pek çok sitede Flash Player'ın çökmesine şahit oldum zira hâlâ problemli olduğu kısımlar mevcuttu. Ancak RC için o kadar birşey diyemeyeceğim zira daha yeni kurmuş olduğum için ne kadar hata vardır veya ne kadarı giderilmiştir bilemeyeceğim ancak tahminim şu yönde ki hataların çoğu giderilmiştir. Sonuçta o artık bir Release Candicate :) Ha diyorsanız ki ben Flash Player 11'i sevmedim ve kaldırmak istiyorum, sağolsun Adobe Labs onun için de küçük bir programcık hazırlamış. İndirmek için Flash Player 11'in indirme kısmının en altındaki kısma göz atınız lutfen :)

          Aşağıda ise en sonki projeme ait güncel birkaç resim mevcut. Renklere aldırış etmeyiniz zira halihazırda kaplamaları yerleştirmedim daha tam olarak ancak kısaca projeye değinmek gerekirse tahmin edebileceğiniz üzere küçük bir araba yarışı:
  • Renk seçimi
  • Seçilen rengin mat veya metalik olması
  • Plakaya kullanıcı adı yazılması :)
  • Ve fiziki ortamın nispeten ayarlandığı bir harita ancak kaplamalar daha yerleşmedi ama olsun o kadar :)


22 Eylül 2011 Perşembe

ve away3d 4.0 Alpha başlar.

  Çok Önemli Not - En Yenisi :) Bu yazıda bahsettiğim proje Flash Player 11 BETA sürümüne uygundur. Adobe Labs Flash Player 11'in Release Candicate sürümünde yapılan değişiklikler projenin çalışmamasına neden olacaktır. Yani en güncel sürümüyle şu andaki proje açılmayacaktır malesef. En yakın tarihte güncel haline uygun bir versiyonunu düzenleyip yükleyeceğim.

Yakın tarihte çıkmış bulunan Away3d'nin son sürümü olan Broomstick kod adlı sürüme ve Adobe'un geliştirmiş olduğu "Molehill" teknolojisine "flash, kaderi ve diğerleri... bir geri dönüş hikayesi..." ve "ve yeni bir dönemin başlangıcı: Away3D 4.0 Alpha – “Broomstick" adlı yazılarımda değinmiştim.O dönem KPSS denen illet yüzünden çok fazla ilgilenemdiğim bu alana şimdilerde yeniden dönüş yaptım ve iki gün önce ilk projemi yapmış bulunmaktayım. Bu projede herhangi bir amaç gütmedim. :) maksat Away3D'nin ve FP11'in kapasitesini sınamaktı. FP10 iken hayli sıkıntılı anlar yaşadığım aşikardı ancak artık şunu rahatlıkla söyleyebilirim ki çok yakında 3D'nin eksik olmadığı bir internet ortamı bizi bekliyor olacak gerek Molehill ile gerekse de WebGL ile :)
"Bump" veya "Normal" adı verilen bir kabartma tekniği.
Şimdi projeme değinecek olursam yukarıdaki boşluk benim çalışmama ait. ( Olur da açılmazsa veya FP11 kurmamış olanlar için de fikir vermesi açısından birkaç tanıtıcı resim ekledim ) Malesef ki dışarıdan çağırdığım diğer dosyalarla birlikte yükleyebileceğim bir sunucum olmadığı için Google Sites'e yükledim ancak gelin görün ki sebebini anlamadığım halde projeyi hantal bir şekilde oynatmakta. Eğer ki açılacak olursa sol üst köşedeki durum panelinde göreceğiniz RAM değerlerinin üçte biri oranında düşük bir miktarı kullanmakta aslında en azından kendi bilgisayarım adına böyle ama burada neden böyle davrandığından emin değilim. Kendi HTML dosyasından projeyi açtığım zaman tam performansıyla çalışmakta. Ancak o HTML dosyasını açmama da Google sağolsun izin vermiyor. Bu yüzden projeyi bende sıkıştırıp sunucuya yükledim. İsteyenin indirip bir de öyle görebilmesi için. İndirdikten sonra da projeyi Flash Player 11'in kurulu olduğu tarayıcıdan açmayı deneyeyiniz. Zira Default Player olarak 11 yerleşmiyor bilgisayarınıza, önceki sürüm neyse o kalmaya devam ediyor. O yüzden SWF dosyasının yerine HTML dosyasını açmaya çalışmayınız. İndirmek içinse tıklayınız :)
Sahneye yerleştirilmiş nesnelerin ve ışıkların ayar menüsü
Şimdi "Vay arkadaş sen demedin mi bu performanslı bir sürüm! Neden böyle hantal çalışıyor?" kısmını böylece hallettiğimizi düşünüyorum; keşke rahatlıkla projelerimi yükleyebileceğim bir alanım olsaydı diyerek devam ediyorum :)
Normal Texture özelliği
Projeyi yaparken ilk defa Flex kullanmış olamanın getirdiği eksikliği içimde bol bol hissettim ancak ne kadar da kullanışlı olduğunu görünce ayrı bi sevdim :) Bu proje dahilinde eklemek istediğim Component'ları eklemekte hayli sıkıntı yaşadım ama sonra öğrendim ki bu Component'lar meğer Flash Professional'ın kendi özelliğiymiş ve Flex içinde barındırmıyormuş dolaylı olarak da bir şekilde kullanmak istediğimiz componentları çağırmamız gerekteymiş. Bunun için şöyle bir yöntem izleniliyor ki çok da hoşuma gitti;
  • Flash Professional'da bir çalışma açıp içine istediğimiz componentları yerleştiriyoruz. 
  • Componentların sahnede olmasının bir önemi yok yeter ki kütüphanemize yerleşmiş bulunsun.
  • Çalışmamızın "Publish Settings" kısmında "Flash" çıktısını seçiyoruz 
  • Flash Ayar Sekmesinde "Export to SWC" seçeneğini onaylıyoruz ve Publish ediyoruz.
  • Projemizisi kaydettiğimiz yerde bulunan "projeadi.swc" dosyamıza gözümüz gibi bakıyoruz sonra da :)
Şimdi yaptığımız bu SWC dosyası ne işe yarar diyecek olursak şöyle kısaca artık onun bir harici component kütüphanesi olduğunu söyleyebiliriz. İçerisinde ise bizim Flash projesine dahil etmiş olduğumuz componentları barındırdığını bilmemiz yeterli. Kod kısmında ise bu componentların ihtiyaç duyduğu tüm diğer kütüphanelerin de ekli olduğunu göreceksiniz.

8 Haziran 2011 Çarşamba

why does my heart, feel so bad?




" why does my heart, feel so bad?
why does my soul, feel so bad?
these open doors, these open doors "

Sadece bu üç satır yeter bazen hayatta.