Taşınabilir Uygulamalar (Portable Apps)

Bir konferansa gideceksiniz, Openoffice'te bir sunum hazırladınız ve konferansı düzenleyenler konferansta open office desteğinin olmadığını, sadece ppt sunum dosyalarını çalıştırabileceğiniz söylediler. Ne yaparsınız?

Hemen aklıma gelen çözümleri sıralayayım.

1. Sunumu pdf'e çeviririm. Mutlaka o bilgisayarlarda pdf okuyucu vardır değil mi?
2. Ama zaten ben sunumlarımı open office'te değil Latex'te hazırlıyorum, o da pdf çıktı üretiyor. Artık o bilgisayarda pdf okuyucu yoksa ben de sunumu yapmam :) (Latex ile nasıl yapıyorum)
3. ppt şeklinde tekrar kaydederim. Tabi bir forum yazısında bu hazırlanan ppt'yi microsoft ofis'in okumadığı durumların olabildiğini okumuştum.
4. Taşınabilir uygulamaları kullanırım.

İlk üç çözüm herkesin aklına gelmiştir, ya da en azından benim aklıma geliyor. 4. çözüm ise yukarıda bahsettiğim forum yazısıyla birlikte öğrendiğim bir şey oldu. Benim de aklıma yatan bu çözümü taşınabilir uygulamalardan her zaman taşımak istediklerimi taşınabilir belleğime yükleyerek kullanmaya karar verdim.

Artık herkeste kapasite olarak oldukça geniş taşınabilir bellekler var. Bu geniş bellekleri faydalı bir amaçla kullanmak için bu taşınabilir uygulamaları indirip belleğinize kurabilirsiniz. Böylece herhangi bir makine üzerinde kurulum yapmadan taşınabilir belleğiniz üzerine önceden kurmuş olduğunuz yazılımları rahatça kullanabilirsiniz. Ayrıca bu yazılımlar WINE ile de çalıştıkları için Windows olduğu kadar, Linux makinelerde de işe yarıyor.

Aşağıdaki resimde benim kurmuş olduğum yazılımları gösteren taşınabilir uygulama menümün resmini görebilirsiniz.
Kurulum işi ise oldukça basit, dilerseniz suit adı verilen belli başlı uygulamaları içeren sürümleri kurup üstüne daha sonra eklemek istediğiniz yazılımları indirerek aynı dizine kurarak genişletebilirsiniz. Kurma işlemini indirdiğiniz uygulamalar çift tıklayarak ve kurulum dizini olarak taşınabilir belleğin içerisindeki bir dizini göstererek (sonradan yapılan kurulum için seçilen dizin örneği için aşağıdaki resime bakabilirsiniz, resimde D:\ sürücüsü taşınabilir bellektir.) yapıyorsunuz. Benim yukarıda resmini gördüğünüz taşınabilir uygulamalar taşınabilir bellğimde 273MB'lık bir yer kaplamış durumda. Bu da benim belleğimin dörtte birine denk geliyor. Ama açıkçası bu o kadar büyük bir oran değil. Bütün belleğe ihtiyacım olduğu zaman, ilgili klasörü bir yerde yedekleyip işim bittikten sonra tekrar belleğe koyabilirim.


Özetle, bu taşınabilir uygulamalar belleğine işletim sistemi kurmaktan daha kolay bir işlem ve her yerde aynı uygulamaları kullanma özgürlüğüne sahip oluyorsanız. Hatta antivirüs tarayıcınızı bile yanınızda taşınayabiliyorsunuz. Kurması da oldukça kolay olan bu uygulamaları herkese öneriyorum.

Bağlantılar:
PortableApps
PortableApps Suite Support
PortableApps Support

Singleton Tasarım Deseni ve Java'da gerçekleştirimi

Singleton tasarım deseni, sınıftan örnek oluşturma ("instantiation") işlemini kısıtlayan, ve sınıftan çalıştırma süresince uygulama genelinde sadece bir örneğin oluşturulmasını sağlayan bir yöntemdir. Bir sınıfın uygulama çapında tek bir örneğinin çalışmasını istiyorsanız ve bu örneğin oluşturulmasını sınırlamak istiyorsanız bu tasarım desenini kullanmanız gerekir.

Bu tasarım deseni gerçekleştirilirken yapılması gereken, sınıfın herhangi bir örneği ("instance") yoksa bu örneği yaratmaktır. Bunu sağlayabilmek için bu yaratma işlemini kontrol altına almak gereklidir. Bu nedenle yapıcıların dışarıdan erişime kapatılması (Java'da private olarak tanımlama) ve yaratma işlemi için ayrı bir erişilebilir metotun tanımlanması gerekir. Bu tanımlanan metot içerisinde statik olarak saklanan örneğin daha önce yaratılıp yaratılmadığı kontrol edilerek, gerekiyorsa yaratılarak isteyen sınıf döndürülmesi gerekir.

Aşağıdaki resimde bir Singleton nesnesinin sınıf diagramı olarak gösterimini görebilirsiniz:

Genel Kullanım Alanları
  • Abstract Factory, Builder ve Prototype tasarım desenlerinin gerçekleştiriminde
  • Façade nesnelerinin gerçekleştiriminde, çünkü bu nesnelerin tek bir örneğinin olması gereklidir
  • Durum nesneleri genellikle Singleton'dır.
  • Global değişkenlerin yerine tercih edilir, çünkü;
    • Global isim uzayını gereksiz değişkenlerle kirletmezler
    • Tembel tahsis ("lazy allocation") ve ilklemeyi ("initialization") desteklerler, çoğu dilde global değişkenler her zaman kaynak tüketirler.
  • Singleton'lar sanal makinenin yaşam döngüsüne bağlı olarak farklı davranışlar sergilerler. Mesela bir yazılım geliştirme ortamında her çalıştırma için yeni bir sanal makine oluşturulduğu ve böylece her seferinde yeni bir singleton nesne oluşturulduğu halde, uygulama sunucusu içerisinde sanal makine sürekli çalışacağı için singleton nesnesi yaşamına devam eder.
Java Örnek Gerçekleştirimi

Klasik Çözüm:
public class TekBicim {
private final static TekBicim INSTANCE = new TekBicim();

public static TekBicim getInstance() {
return INSTANCE;
}

/**
* Asagida deniyoruz
*
* @param args
*/
public static void main(final String[] args) {
TekBicim.getInstance().yazdir();
TekBicim.getInstance().yazdir();
TekBicim.getInstance().yazdir();
TekBicim.getInstance().yazdir();
}

/*
* her taraftan erisilebilir (public) varsayilan yapicinin kullanilmamasi
* icin kendi ozel (private) yapicimizi yaziyoruz
*/
private TekBicim() {
System.out.println("ornek yaratildi");
}

public void yazdir() {
System.out.println("Yaziyorum");
}
}

Thread-safe çözüm:
/**
* Bu sinif Bill Pugh tarafindan onerilen ve is parcacigi guvenli (thread-safe)
* tembel yuklenebilen (lazy loading), talepte ilkleme tutucu (initialization on demand holder)
* olarak bilinen cozumdur
* @author emre
*
*/
public class TekBicim {
/**
* TekBicimTutucu TekBicim.getInstance() metodu ilk cagrildiginda veya
* TekBicimTutucu.INSTANCE ilk defa erisildiginde yukleniyor, daha once
* yuklenmiyor
*/
private static class TekBicimTutucu {
private final static TekBicim INSTANCE = new TekBicim();
}

public static TekBicim getInstance() {
return TekBicimTutucu.INSTANCE;
}

/**
* Asagida deniyoruz
*
* @param args
*/
public static void main(final String[] args) {
TekBicim.getInstance().yazdir();
TekBicim.getInstance().yazdir();
TekBicim.getInstance().yazdir();
TekBicim.getInstance().yazdir();
}

/*
* her taraftan erisilebilir (public) varsayilan yapicinin kullanilmamasi
* icin kendi ozel (private) yapicimizi yaziyoruz
*/
private TekBicim() {
System.out.println("ornek yaratildi");
}

public void yazdir() {
System.out.println("Yaziyorum");
}
}

Kaynak: http://en.wikipedia.org/wiki/Singleton_pattern
Bağlantılar:
Ekşisözlük Singleton
'Singleton' Tasarım Deseni
Singleton Tasarım Deseni

Uykusuzluk

Bir haftadır kendi kendime uykusuzluk yöntemi icat ettim. Uykusuz kalmaktan şikayet etsem de, uykusuz kalmak içsel olarak hoşuma gidiyor. Uzun zamandır normal gün saatlerinde izleyemediğim filmleri, geceleyin uykudan iki saat çalarak izlemeye başladım. Ve tekrar çalışmadığım dönemdeki (o zaman elbette daha kolay oluyordu :) ) uykusuzluk dönemine başlamış oldum. Hafta sonları bir sorun olmuyor, ancak hafta içi de bu alışkanlığım devam ederse (ki edecek gibi gözüküyor) problemler çıkabilirmiş gibi geliyor. Uzun süreli az uykuyla kalma hayaliyle yaşayan biri olarak bu düşüncelere sahip olduğum için kendime şaşırıyorum elbette, her zaman fazla uyumanın aslında daha uzun yaşayabileceğim halde az yaşamak olduğunu düşünmüşümdür. Ve artık çalışırken, çalışma dışındaki işlere zaman ayırabilmek için bu uykusuzluk (az uyku) dönemine alışmam gerekiyor. Neyse, konu uzadıkça uzuyor :) Ben işte bu uykusuzluk yaratma sayesinde yine film izlemeye başlayabildim. Burada en son izlediğim üç filmi sizinle paylaşacağım. Son zamanlarda çoğunlukla Türk filmleri izliyorum. Elimdeki kabarık birikmiş film listesini yavaş yavaş azaltıyorum, gerçi her geçen gün izleyebildiğimden daha fazla film karşıma çıktığı için sanırım dünyadaki tüm filmleri izlemek sadece hayal olarak (elbette bunu espri amaçlı söylüyorum, yoksa kesinlikle böyle bir hayalim yok :D ) kalacak.

Anlat İstanbul

Masallara göndermeler yaparak, İstanbul'daki bir kaç insanın hayatını, bu hayatların birbiriyle kesişmelerini çok güzel bir dille anlatan güzel bir film. Filmin oyuncu kadrosunun büyük bir kısmı Bir İstanbul Masalı dizisi ile aynı (Kudret Sabancı'dan kaynaklanıyor sanırım bu durum). Ve genel olarak oyuncu kadrosu ve oyunculuklar oldukça hoşuma gitti :)

Gegen Die Wand (Duvara Karşı)

Yıllardır adını duymama rağmen, izlemekte geciktiğim bir filmdir bu. Filmin başlangıcı, akışı, sonu oldukça iyi tasarlanmış bence. Sevgi, kıskançlık ve bunların doğurduğu durumlar bence farklı bir açıdan ele alınmış. Bilmiyorum ama film bana tercihlerimiz ve sonuçlarının tamamen elimizde olduğunu gösteriyor sanki :S

Barda

Her ne kadar genç oyuncuların oyunculuğunda beni rahatsız eden bir şeyler olsa da, bu filmi oldukça beğendim. Özellikle Nejat İşler ile burada yine karşılaştım ve bence inanılmaz güzel bir oyunculuk sergilemiş. Fikret Kuşkan'la beraber son dönemlerde hem karizma, hem de oyunculuk olarak beğendiğim yegane aktörlerden biri olmayı başarıyor :) (Bu ilginç bir cümle oldu farkındayım) Bu filmi izlemeden önce bu filmdeki olaylara konu olduğu söylenen gerçekten yaşanmış olayı okudum. Bu yazıyı okumasaydım filmi abartılı bulabilirdim, ama gerçekten böyle şeyler yaşanıyor diyebiliyor insan. Bu arada filmin sonu bana nedense izlerken Dogville filminin sonunu hatırlattı.
İzleyenler bilir, orada da son sahnede intikam konusu işleniyordu. Ayrıntıya girmiyorum, izleyin öyle yorumlayın :)

İstanbul Tekrar Yeniden

İstanbul'a her gidişimde yazacak bir şeyler çıkıyor. Bu gidişimin amacı bir arkadaşın düğününde bulunabilmek ve Osman ve Mehmet ile görüşebilmekti. Cumartesi ve Pazar günüm yine İstanbul'da geçti. Cumartesi günü akşamı düğün vardı, ancak elbette düğünden önce biraz dinlenip Osman ve Mehmet ile beraber İstiklal caddesi ve çevresinde takılmamak olmazdı. Çıktık ve "Kahveci Mustafa Amca Jeans"'te çay ve kahve içtik. Aşağıdaki parlak fotoğraf bu sefamız sırasında çekildi. Ben ve Osman özellikle ellerimizi asker misali Mehmet'in omuzuna attık :) Hafif bir asker hatırası havası katabilmek için :D



Oradan çıktıktan sonra biraz daha İstiklal'de dolaşıp yemek yemek için Canım Ciğerim Bilmem ne usta'da oturduk biraz. Ve bu oturuş servisin hızından dolayı biraz uzun sürdü :) Üstümüz başımız buram buram duman koktu. Vaktimizi aşınca düğün hazırlıklarına başlamak için (sanki biz evleniyoruz, ne hazırlığı sadece pantolon gömlek giyilecek) eve döndük. Hazırlandıktan sonra ne hale geldiğimizi gösterebilmek için ikinci asker fotoğrafımızı çekildik. Aşağıda bu muhteşem fotoğrafı görebilirsiniz :D



Benim asıl anlatmak istediğim kısım düğün kısmı aslında. Böyle uzun bir yolculuk ve değişik düğün salonunu uzun zamandır yaşamamıştım. Düğün Sophia Çengelköy adlı düğün salonundaydı. Elbette adresi almıştık ama düğün salonunu bulabilmek için Boğaziçi köprüsünden Üsküdar'a kadar gittik, oradan dolandık yine Boğaziçi köprüsüne döndük, altından Çengelköy'e geçtik. Bir kaç kişiye sorduktan sonra tam düğün salonunun önüne geçtik. Böylece hayatımda ilk defa gittiğim Anadolu yakasının sahilini şöyle bir arabanın içinden görmüş oldum. Planımız istediğimiz gibi işlediği gibi, tam saat 20'de salona vardık.

Bayağı ayrıntılı anlatıyorum ama düğünü kaçıran arkadaşlarımızın hayıflanmasını istiyorum (hangi arkadaşlar, onlar kendilerini bilirler :) )

Şimdi düğün salonu dışarıdan oldukça güzel gözüktü. Yukarıda verdiğim bağlantıda ayrıca salonu inceleyebilirsiniz. İçeri girdik; güzel, nezih ve geniş bir ortam. Yuvarlak masalar, içeri geçince zaten bizi tanıyan biri karşıladı (Bizi tanıyanlar oldukça az olduğu için bunu vurgulamak istedim). Hemen Ege Bilmuh tayfasının oturduğu masaya götürüldük ve oraya yerleştik. Bir selamlaşma, konuşma faslından sonra gelin damatın içeri gelme zamanı geldi. Anons yapıldı ve biz var olan bütün kapıları gözlerimizle araştırmaya başladık. Fakat beklediğimiz gibi çıkmadı, gelin ve damat uçan bir gondolun (aşk kayığı imiş adı :D, bana nedense Cehennem Kayığını hatırlattı, acaba bilinçaltında evlilik'i bir cehennem olarak mı görüyorum acaba :S :D ) içinde havadan geldiler. Döne döne piste inen gondol havadayken damatın ellerini siyasiler gibi sallaması da hoş bir anı olarak aklımızda kalacak :) Evet, düğün salonunun güzelliği bununla da bitmiyor. Kısa film atölyesine devam eden Osman kamera mekanizmasını görünce, biz de bundan bir tane alsak diye düşünmeden edemedi. Kamera Crane denen sistemi kullanıyordu. Ayrıca çekilen görüntü doğrudan bir ekrana yansıtılarak davetlilerin izlemesi sağlanıyordu. Neyse, işte yemek servisi de iyi olunca insanın zevki artıyor. Normalde bir düğünden bu kadar zevk almak kolay değildir. Çoğu erkek gibi sadece kamerada gözükmek için çıkıp bir iki kere oynadık. Ve çoğu evlenmemiş erkek gibi damata düğün kalitesini arttırdığı için sitem ettik. Biz şimdi müstakbel gelin adaylarımızı daha düşük bir düğün için nasıl kandıracağız :D

İkinci gün tamamen yürümeye yönelik geçirdiğimiz bir gün oldu İstanbul'da. Güzün bütün görkemiyle şehrin üstünde olduğu bu dönemde benim en büyük isteğim ağaçların bol bol yaprak döktüğü bir yerde yaprakları çıtırdatarak, sorunlu olarak geçirdiğim Ekim ayını, muhteşem Kasım ayına başlayarak geride bırakmaktı.

Mehmet ile beraber Tophane'ye inerek, ilk defa oraları ziyaret ettik. Mimari yapıları inceledik ve oradan Tramvay kullanarak (Tramvay beklerken yanlış yöne binmemiz de, yanlış tramvay gelirken Mehmet'in tramvayı çek demesi de güzeldi, tabi geç te olsa kafamız çalışmaya başladı ve yanlış tarafta beklediğimizi anladık :) ) Sultanahmet'e giderek daha önce görmediğimiz Yerebatan sarnıcını ziyaret ettik. Şansımızdan bir kafileye denk geldik, biraz kalabalık bir ziyaret oldu ama böyle inanılmaz bir sarnıcın nasıl inşa edilmiş olabileceği sorusu aklımda döndü durdu. Osmanlılar'ın sarnıcı buldukları zaman ne olduğunu anlayamamaları da ayrı bir not olarak aklımın bir köşesine yazıldı. Daha sonra oradan yürüyerek Eminönü'ne inmeye karar verdik. Bunu tamamen Eminönü çarşısı ve Galata köprüsünü yaya geçmek için yaptık. Sultanahmet'ten, Karaköy'e kadar yürüdük. Ve doğru bir karar alarak Gülhane parkının içinden geçtik. Ağaçlar boldu ve yapraklarını dökmüşlerdi :)

Parka girerken közlenmiş mısırımızı da almayı unutmadık. Tabi her zamanki gibi İstanbul'da mısır satıcısı gibi ilginç insanlarla karşılaşmasak olmuyor. Mısırı bize kağıtla veriyordu, biz yaprak istedik, alın dedi biz de doğrudan aldık. Tuzlamasını istedik sallayan yoktu biz de tezgahtan tuz şişesini alıp kendimiz tuzladık. Adamın ne amaçla orada olduğunu çözemedik :D Daha sonra Gülhane parkına girince, iki erkek olarak girdiğimize biraz pişman olduk :D gidilebilecek tüm yollardaki banklar çiftler tarafından işgal edilmişti. Gerçi Yerebatan sarnıcının gözden ırak bir noktasında bile gizlenmiş bir çiftle karşılaşan bizler için bu çok şaşırtıcı olmadı (o gizlenen çiftin biz onlara yaklaşınca - fotoğraf çekmem gerekiyordu - tamamen alakasız bir konuda sohbete başlamaları da ilginçti tabi). Neyse, işte aşağıda göreceğiniz fotoğraftaki kişi benim, ve Gülhane parkında çekildi. Hoşgeldin güz diyebilmek için özellikle bu fotoğrafı çekildim. Burada yaprak çıtırdatma eylemini bana hatırlatan ilgili blog yazısını belirtmeden geçemeyeceğim.



Karaköyden yine İstiklal caddesine dönüp, son İstanbul gidişimde yaptığım gibi (Ekim başında gitmiştim) Mehmet ile beraber geberene kadar Cihangir, Beyoğlu, İstiklal caddesi olmak üzere dolaştık durduk. Bu Beyoğlunda dolaştıkça her seferinde yeni bir şeylerle karşılaşıyor insan. Yeni mekanlar, yeni binalar görüyor. Oldukça eğlenceli, ama bir o kadar yorucu bir deneyim :D

Bu kadar yazdım ama size ne faydası olur bilmiyorum. Zaten İstanbul'da yaşıyorsanız, bütün bunlara fırsat buluyorsanız yapmadan duramıyorsunuzdur. İşte İstanbul'da yaşıyorsanız ama bunlara fırsat bulamıyorsanız terkedin İstanbul'u, başka şehire taşının hafta sonları bunları yapabilmek için İstanbul'a yolculuk edin :)

Yaşamın Kıyısında



"Senaryosu Fatih Akın tarafından yazılan, Yaşamın Kıyısında adlı sinema filmi projesi yine Fatih Akın'ın yönetmenliğinde, Temmuz-Ekim 2006 tarihleri arasında, Hamburg, Bremen, Istanbul, Karadeniz Kıyıları ve Trabzon'da çekildi. Başrollerini Nurgül Yeşilçay, Baki Davrak, Tuncel Kurtiz, Patrycia Ziolkowska, Nursel Köse ve Hanna Schygulla'nın paylaştığı 2007 Cannes Film Festivali'nde en iyi senaryo ve özel ekümenik jüri ödülünü kazanan film Türkiye'de 26 Ekim 2007 tarihinde gösterime girdi."

Pamuk ipliğine bağlı yaşamlar, birbirini arayan ama bulamayan insanlar. Özellikle bu birbirini arayan insanların bazı sahnelerde aynı ortamda, neredeyse yanyana olması ve birbirlerini tanımadıkları için birbirlerini ararken bulamamaları güzeldi.

Kaynak : Yaşamın Kıyısında
IMDB Yaşamın Kıyısında