Human Calculation

Even computers is hard to control than a major part of the humanity.

Nothing has determined yet, just follow the rabbit hole, soon you will find the magic carrot. For most of the deistic ideologies consequences for every possible action has determined by the ultimate power holder. But by looking close to the basic concepts and building block of the universe you can see that nothing is absolute until you do it. Even if you try to conceive yourself that it is a simple action which yields a simple reaction. To make it more clear a real life example would be trying to imagine a glass you are throwing away. Imagine it. Just try to conjure up the moment. You are grabbing an empty glass and lifting upwards, you are feeling the gravitational pull to the glass, you are feeling that you lose energy while holding and lifting it. And finally you are throwing it with ease and watching it tearing apart. See it is easy to imagine, but nothing has happened right? Neither you broke the glass nor even lifted it upwards. Think about yourself in the middle of the decision making line to throw away or not. You will definitely throw it away, but not so fast. It hasn’t happened until you actually throw it away. It is same for all of the possible actions in this universe-of-perceptibility-stuff. Nothing is defined until you actually do it.

Throw away the complexity, think out of the box. People are simple creatures which has basic instinct. You can control them even without altering their knowledge by the simple natural tricks. You can make them believe jocosely sacred beings and kill each other for these kinds of bullshit or may be horseshit. You can just give them courteous words and get the control of their minds. They are simple creatures, most of them are just trying to cover their basic natural needs. A big part of them does not even think about the result or goal of their lives. How will they settle at the end of this journey. Most of them reject these ugly truth, however, they can not even see the abysmal contract between their life and the single truth, ultimate end. Human calculation is a big field in human engineering. Not to create humans but to shape them, to route them for the human-defined single-power-holder organizations’ ideas. There are powerful people shaping humanity, lets find them.

To approach this problem from a realist point of view we simply observe and wait.

Online projeni hayata geçirirken nelere dikkat etmelisin?

Aklınızda fikirler uçuşuyor, tilkiler kargaları kovalıyor hatta tanrılar birbiriyle geçinemiyorsa  yapmanız gerekenleri küçük küçük maddelendirip işlere öyle başlamanız gerekiyor. Elbette bu süreçte nasıl ilerleyeceğinizi burada yazacağım birkaç sayfa ile anlatmak pek mümkün değil, yine de sizi bu yola ittirecek bir güç lazım. Zaten zamanla göreceğiniz gibi hata yaptıkça edineceğiniz tecrübeler sizi daha iyi sonuçlara götürecektir.

1. Yapacağınız projeyi belirleyin
Aklınıza yeni fikir geldikçe ‘oha bu da iyi fikir’ nidaları arasında kalıyorsanız öncelikle bu duruma bir dur deyin. Yapmanız gereken ilk şey mutlaka projeyi belirlemek ve yavaş yavaş onun detaylarını düşünmek olmalıdır. Bu düşünme-koşuşturma sürecinde de mutlaka ama mutlaka yapacağınız şeyleri kağıt-kalem, bilgisayar-klavye, iPad-parmak en olmadı parşomen-tüy kalem ikililerinden birini kullanarak not alın.

Oluşturacağınız proje zaten uygulanmış bir fikri alıp bunu yerelleştirip kullanmaya yönelik olabilir ya da elinizi taşın altına koyarak yepyeni bir fikir peşinde koşturmaya yönelik olabilir. İlk seçenek genel kanıda daha az risklidir ama bu tarz projelerin bir kopyası mutlaka rakip piyasada mevcut olacaktır. Bu da rekabeti zorlayacak ve öne çıkabilmek için daha iyi özellikler veya fırsatlar sunmanız gerekecektir. Bu tamamen sizin ticari zekanıza bağlı, bunu geçiyorum.

2. Projeyi nereye kadar götüreceksiniz
Yapacağınız işe karar verdiniz ancak gelecek ile ilgili en ufak bir fikriniz bile yok. İşte bu durum sizi yarı yolda bırakabilecek en büyük tehlikelerden biridir. Kazanç bekletiniz nedir, ilk projeniz sizi ateşleyecek bir proje mi olacak yoksa daimi gelir hedefiniz mi var, hedef kitleniz nedir, başarım tahminleriniz nedir? Bu gibi sorulara tek tek cevap verin ve adımlarınızı bu cevaplar doğrultusunda her seferinde tekrar tekrar kontrol edin. Ancak şunu unutmayın ki kesin rakamlar her proje için kötüdür. Yani sakın 3 ay içinde $100.000 gelir olacak gibi anlamsız tahminler yapmayın.

3. Tek mi ortaklı mı?
Aslında bu maddeyi çok uzatmaya gerek yok. Gireceğiniz projede/işte tek başınıza mı ilerleyeceksiniz yoksa bir ortağınız olacak mı? Burada dikkat etmeniz gereken en önemli nokta eğer ortaklı olarak ilerleyecekseniz seçeceğiniz ortaktan gelecekte pişman olmayacağınızdan emin olmanızdır. Kendiniz kadar güvendiğiniz bir yoldaş her daim işleri kolaylaştırıp size güven aşılayacaktır.

4. Proje tamamda ismi ne olacak?
Fikriniz kafanızda sabit, değil mi? Bu soruya cevabınız evet ise zaten isimler için düşünmeye başlamışsınızdır. Hatta belki aklınızda birkaç isim bile vardır. Ancak bu kararı çok dikkatli vermeniz gerekiyor. Günün sonunda seçeceğiniz isim sizin sektördeki işaretçiniz olacaktır. Hem kullanıcı tarafından akılda kalmalı, hem kolay telaffuz edilmeli, hem kısa olmalı, hem, hem… Bu liste böyle uzar gider. Siz iyisi mi bunun üzerinde ayrıntılı olarak düşünün.

5. Teknik detaylar var daha
Herşey tamaaaam. Eee çalışan uygulama ortada yok. İşte bu en can alıcı noktalardan biride teknik detayları halletmektir. Bu işinz yazılımcısı var, tasarımcısı var, barındırması ve domaini var, işler büyürse veritabanı uzmanı var, sistem yöneticisi var, yani kısacası ‘internet’ diye birşey var. Bu noktaya kadar sorunsuz şekilde gelip kaba tabirle bu adımda sıçan insan çoook. Sizde bunlardan biri olmayın, projenize sahip çıkın. Her batan proje için Afrikada bir hipopotam ölüyor, hipopotamlar ölmesin.

6. Bürokratik işlemleri unutmayın!
Buraya kadar güzelce geldiniz, her türlü teknik ve sosyal sorunu çözdünüz, fikirleri kağıda döktünüz, pizza-kola eşliğinde beyin fırtınalarını atlattınız ama önünüze koca bir kale çıktı ve kapıda da devlet baba var. İşi yap sunucuya at, domanini yönlendir olmuyor bu işler. Önce bir firma kurmalısınız, sonra gelir-gider kayıtları için bir muhasebeci olmalı. Belki projenizde bankalarla bağlantı kurmanız gerekiyor, bunun başvurusu var, onay süreci var. Zaten banka işin içine giriyorsa mutlaka bu konuyu araştırmışsınız ve ıvız zıvırları öğrenmişsinizdir. Eğer bu araştırmayı yapmadıysanız ‘lütfen’ birkaç arama yapın, telefon veya Google farketmez.

7. Yayınla ve tanıt
Herşey tamam, yani resmen proje tamamlandı. Ama süreç burada bitmiyor hatta asıl bu noktadan sonra başlıyor. Yaptığınız işi kullanıcıya sevdirmelisiniz. Millet rüyasında görmüyor yeni projeleri ‘aaa bak burda yeni bir site açılmıl çok güzel çok da iyi’. Reklam masrafından kaçınmamak lazım ama abartmaya da gerek yok tabi. Kullanıcının duymasına yetecek kadar fazla, ürününüze güvendiğini belli edecek kadar az reklam her zaman iyidir. Ama paranız çokta sizi tutan yok, her yer reklam için mecrası kaynıyor.

Reklama sürekli para basmakla gitmez bu işler, biraz da arama motorlarına kendinizi sevdirmelisiniz, onları optimize etmeli, sevmeli hatta okşamalısınız. Google bizim ekmek teknemiz bunu unutmayın. Hiç kimse www.ooosupersite.com yazıp gelmiyor sitenize.

Sosyal medya var daha, Twitter ve Facebook hesaplarınızı isme karar verdiğiniz gibi aldıysanız sizde bir ışık var demektir. Ama eğer projeyi yayına aldıktan sonra aklınıza geldiyse sosyal medyayı küçümsüyorsunuz demektir. “2 follow aldım eve gidiyorum biri Twitter biri Facebook 2 follow aldım” diyerek projenizin yerlerde sürünüşünü görmek istemezsiniz değil mi? Tamam o zaman hadi Twitter, Facebook, FriendFeed, Foursquare, Google+ sizi bekler.

8. Paralar geliyor
Yavaştan şirketinize maddi giriş olmaya başlıyor ve siz mutlu oluyorsunuz. Hemen taviz vermeyin, projeniz belki daha da büyüyebilir. Yatırımcı peşinde koşturun biraz, piyasa melek yatırımcı kaynıyor, kanatları bile var hem de dolardan.

Baktınız proje iyi gidiyor ama çok uzun vadeli bir beklentiniz yok. Bu gibi bir durumda projeden ne kadar kısa sürede kurtulursanız o kadar iyidir. Hem değeri düşmeden elinizde toplu bir para olur hem de heyecanınız bitmeden elinizdeki o parayla birkaç fikrinize odaklanabilirsiniz. Baktınız elinizdeki para size yetiyor bırakın işleri genç yaşta emekliliğin sefasını sürün, ya da ne bileyim yiyin için. Ada falan alın olmadı.

0. Unutmadan
Sonuçta ben bir milyoner değilim, kelin ilacı olsa kendine sürer misali bu yazdıklarımı bende uygulamaya çalışıyorum. Yazdıklarım naçizane bu zamana kadar edindiğim deneyimlerden ibarettir. Yamuk-u kelime ettiysem affola.

Hard Disk Fiyatlarındaki Aşırı Yükseliş

Bugünlerde donanım almak için büyük bilgisayar mağazalarından birine gittiğinizde gözünüze donanımların fiyatlarında %100′e varan oranlarda artış olduğu çarpacaktır. Fiyat artışından en çok etkilenen donanımlar arasında veri depolama birimler yer alıyor.

Tayland’da meydana gelen korkunç sel felaketi birçok büyük donanım üreticisini ve halkı zor durumda bıraktı. Üretim yapılan fabrikaların sular altında kalması, üretilmiş olan donanımların zarar görmesi ve çalışanların felaket nedeniyle hayatını kaybetmesi ve yaralanması yüzünden son yıllarda görülen en büyük fiyat artışı yaşanıyor. Donanım üreticilerinin söylediğine göre hard disk stoğu gerekli olan satış grafiğindeki rakamın 3′te 2′si kadar ve gittikçe de azalacak. Donanım üretiminin eski halini alması en iyi ihtimalle 3-5 ayı bulacak gibi ancak bazı sektör uzmanları tarafından yapılan tahminler doğrultusunda fiyatların 3 ay önceki halini alması 9 ay – 2 yıl arasında sürecek.

Şuan piyasada 190-200 TL arası olan 500 GB 2.5″ hard disk fiyatlarının 3 ay öncesinde 110 TL civarında dolaştığını düşünürsek neredeyse %100′e varan bir artış yaşandığını görebiliyoruz. Bazı söylentilere göre hard disk fiyatları 2012′nin ilk çeyreğinde daha da yükselecek. Bu yükseliş bilgisayar fiyatlarında %3-5 arasında bir artışa neden oldu, eğer artış devam ederse bir o kadar daha artış olması kaçınılmaz. Belki şuan piyasada süre gelen fiyat artışı SSD ve HDD arasındaki fiyat/Gb farkını azaltır ve SSD’lerin fiyatlarını bir nebzede olsa düşürür zira SSD’ler mekanik parçalar kullanmıyor ve kullanılan parçalarının üretimi genellikle farklı ülkelerde yapılıyor. Umarım en kısa sürede Tayland halkı eski düzenine döner ve donanım sektöründeki bu belirsizlik ortadan kalkar.

13 Tzameti

Uzun süredir devam eden blog suskunluğumu bir ‘kara film’i tanıtarak bitirmek istiyorum. Kara film (film noir) insanlığın çürümüşlüğünü gözler önüne seren ve genelde aşırı iç karartıcı senaryolardan oluşan filmlere verilen terimsel isimmiş. Bunca zamandır bu tür filmleri izliyordum ama bu şekilde bir isimlendirme kullanıldığını bilmiyordum. Sanırım “Bin Dokuz Yüz Seksen Dört”de bu türe giren filmlerden biri. Bu yazıda anlatacağım filmde 1984′de beni çok etkileyen filmler arasında yer alıyor. Neyse konumuza yani “13 Tzameti“ye dönelim.

Tzameti Gürcüce 13 anlamına geliyor ve senarist tarafından (aynı zamanda yönetmen) filmin başından sonuna kadar resmen gözümüze sokuluyor. Film siyah beyaz 16mm’ye çekilmiş ve tam olarak kara film türüne uyan bir eser. Müziklerinden tut diyaloglara kadar içinize resmen kapkara bir taş koyuyor. Filmin son sahnelerine gelmeden önce yüz üzerinden 88 falan veririm diye düşünüyordum ancak son sahne filmin başından beri devam eden senaryo adımlarına pek uymadığı için 79 verdim. Bu yüz üzerinden puan verme olayı nereden çıktı demeyin hemen şu linki tıklayın (criticker.com).

Senaryodan çok fazla bahsetmek istemiyorum, kısaca söz etmem gerekirse, Fransada yaşayan göçmen bir ailenin inşaat işlerinde çalışan genç oğlu para kazanma amacıyla gözünü karartıp sonunu bilmediği bir yola giriyor. Filmde pek iç açıcı olmayan bir şekilde İstanbul’dan da bahsediliyor.

Film tanınmayan oyunculardan oluşan kadrosuyla ve düşük bütçesiyle piyasada çok büyük bir etki bırakamadı ancak Brad Pitt’in sahip olduğu yapım firması filmin dağıtım haklarını satın almış durumda. Yakın zamanda, konu kıtlığı çeken, Hollywood sinemaları arasında görürsek hiç şaşırmayın. Şuan ki haliyle katıldığı bütün festivallerde ödülle dönen film Hollywood desteğiyle tekrardan çekilip senaryosunda ufak tefek düzeltmeler yapılırsa Oscar’a bile aday olabilir. Benden söylemesi.

Php ve Geleceği

Hepinizin bildiği gibi programlama günümüzde her mühendisin hatta bilimle uğraşan herkesin öğrenmesi gereken bir kavram haline geldi. İhtiyaçlarımıza göre seçebileceğimiz yüzlerce programlama dili mevcut ve seçim yapmak gerçekten kolay değil. Kime sorarsanız farklı bir cevap alırsınız bunun nedeni seçilen dilin kişinin alışkanlıklarına ve ihtiyaçlarına göre farklılık göstermesidir. Bu bağlamda kullanacağınız programlama dilini ihtiyaçlarınıza ve deneyimlerinize göre kendiniz belirlediğinizde daha verimli işler çıkarmanız daha kolay olacaktır.

Gelecek paragraflarda sunucu taraflı yorumlanan bir programlama dili olan PHP’den (PHP: Hypertext Preprocessor – Açılımın içinde de kendi adını içeren açık kaynak kodlu bazı projelerde yer alan sonsuz döngü mevcut, örneğin GNU [Gnu is Not Unix]) bahsedeceğim. Yazı PHP’yi öğretme amaçlı değil genel kapsamda PHP nedir sorusuna cevap vermek amacıyla yazılmıştır. PHP’yi öğrenmeye karar vermeniz durumunda, ki bunun için yazıyı sonuna kadar okumanız gerekmektedir, son paragrafta birkaç kitaptan ve çevrimiçi olarak erişebileceğiniz birkaç websitesinden bahsedeceğim.

PHP her yorumlanan dilde olduğu gibi kod her çalıştırıldığında kullanıcıya verilecek çıktının tekrar oluşturulmasını sağlayan ‘programlama dilimsi’dir. PHP yorumlayıcısı kod dosyalarının (.php, .php5 vs.) barındırıldığı sunucuda bulunan bir yazılımdır. Bu yazılım sayesinde PHP dosyalarındaki kodlar yorumlanarak saf HTML olarak kullanıcıya sunulmaktadır. Asıl PHP kodlarını ziyaretçiler asla göremezler. Böylelikle işlemler sırasında kullandığımız gizli veriler yetkisiz kişilerin eline geçmemiş olur.

Birçok, neredeyse tüm, programlama dilinde olduğu gibi PHP’de de değişkenler, mantıksal işleçler, diziler, fonksiyonlar, döngüler ve koşullar mevcut. Beni en çok çeken yönlerinden biri değişken türleri belirtmemize gerek kalmadan tanımlama yapabilmemiz ve farklı değişken türlerini dönüştürmeden işleme sokabilmemiz olmuştu. Böylelikle bir nevi programlama bürokrasileriden kurtulup işlemlere yoğunlaşmamız kolaylaşmış oluyor. Kendi bakış açımdan algıladığım diğer artı yönleri ise söz diziminin genel birçok dille benzerlik göstermesi (örneğin C) ve çabuk öğrenilebilmesi, açık kaynak kodlu olup sürekli gönüllü geliştiriciler tarafından daha da iyileştirilmesi, UNIX, Linux, Windows gibi platformları ayırt etmeden ‘neredeyse’ tüm platformlarda sorunsuz çalışabilmesi ve birçok veritabanı ile bağlantı kurarak veri alışverişi sağlayabilmesi sayılabilir.

PHP şuan 5.3.6 kararlı sürümünde ve PHP 6 çok uzak görünmüyor. Aslında PHP 6’nın ilk çalışmaları ve ipuçları 2005 ortalarında gelmeye başladı. Evet haklısınız, biraz yavaş ilerliyor ancak PHP ekibinin güvenlik politikası nedeniyle bazı şeyler kesinleşmeden betalara bile geçilmiyor hatta şuan 2005 ortalarında trunk1’ta yer alan PHP 6 geliştirici sürümü olarak bile trunk’ta mevcut değil. Bu bence gayet doğru bir karar, sunucu taraflı yazılım dillerinin çok özellikli olmak yerine daha güvenli olmaları gerekmektedir ki zaten PHP 5 özellikleri açısından çok çok başarılı. Bu başarı PHP 6 ile daha da büyüyecek.

PHP 6 ile gelecek olan ve göze çarpan bazı özellikler şu şekilde; 64 bit tam sayı değişken tanımlayabilme, çok boyutlu dizilere foreach ile kolayca erişim sağlayabilme, string işlemlerinde yakın anlama gelen {} ve []’den {}’in tamamen kaldırılması ve [] işaretinin substr gibi işlemleri kendinden içermesi ve nesne yönelimli programlamayı daha sağlıklı kılacak birçok nesne yönelimli değişiklik.

Genel anlamda çevrimiçi projeler üzerine çalışmayı düşünüyorsanız ve sunucu taraflı yazılım geliştirmeye ilgi duyuyorsanız PHP, hem ücretsiz olması, hem eğitsel kaynak bolluğu hem de birlikte çalışabilen yazılım sayısı ile, yapılabilecek en iyi tercih. Yazının en başında da uyardığım gibi PHP programlama ile ilgili herhangi bir giriş yapmadım ama söz verdiğim gibi bu paragrafın bitiminde Türkçe ve İngilizce kaynakları paylaşıp birkaç basılı kitap önerisi yapacağım ama bu demek değildir ki çevrimiçi veya basılı olarak bulduğunuz diğer PHP kaynaklarını gözardı edin. Vaktiniz ve şevkiniz el verdiği sürece okuyun, pratik yapın ve araştırın. Programlama derste değil isteyip araştırarak öğrenilir.

  • http://www.php.net/ – PHP’nin resmi sayfası ve neredeyse herşey için ayrıntılı tanım ve örnek içeriyor.
  • http://www.belgeler.org/hpm/ – Türk açık kaynak gönüllüleri tarafından idame ettirilen belgeler.org üzerindeki “Fehmi Noyan İSİ” ve “Nilgün Belma Bugüner” emeği “HTML ile Web Tasarımına ve PHP-MySQL ile Web Programcılığına Giriş” makalesi.
  • http://www.php.org.tr/ – Türkiye PHP Grubu resmi web sayfası
  • Kitap: PHP ile Web Programcılığı – Mehmet Şamlı, Pusula Yayıncılık
  • Kitap: PHP and MySQL Web Development – Addison-Wesley Professional

1.  Trunk: Sürümü belli olmayan geliştirme sürümlerinin yer aldığı geliştirici alanı.

<?php echo “Görüşmek üzere”; ?>

Logitech’den ışık ile şarj olan kablosuz klavye: K750

Taşınabilir cihazların durmadan gelişmesine rağmen konfor ve performans arayan benim gibi kullanıcılar masaüstü bilgisayarları tercih etme devam ediyor. Elbette beklediğimiz konforu yakalamak bilgisayarla en çok etkileşim içinde bulunduğumuz klavye ve mouse ile sağlanabilir. Bu doğrultuda hem estetik hem de kullanılabilirlik beklentilerimize göre bir klavye seçimi yapmalıyız. Örneğin benim beklentim; hızlı yazmamı sağlayacak, fonksiyonlarından ödün vermeyen, güzel bir dış görünüşe sahip olan, kablosuz ve taşınabilir br yapıya sahip olan bir klavyedir. Gördüğünüz gibi beklentiler bitmez ancak Logitech tam anlamıyla bu beklentilerimi karşılayacak bir ürün tanıttı: Logitech Wireless Solar Keybord K750.

Logitech, güneş ışığıyla güçlendirilmiş ilk klavyesi Logitech Wireless Solar Keyboard K750’yi piyasaya sundu. Günışığının olduğu her yerde, kapalı mekânlarda bile kendi kendini şarj eden K750 ile pil sorunu artık tarih oluyor.

Klavye’nin halen e-mail ve hızlı mesaj yazmak, Facebook sayfasını güncellemek ya da favori bloglarınıza cevap göndermek için en iyi cihaz olduğunu belirten Logitech Türkiye Satış ve Pazarlama Müdürü Mustafa Uyar, K750 ile ilgili olarak; “Klavye teknolojisinde en büyük yenilik olan Logitech Wireless Solar Keyboard enerjisini günışığından alıyor. Üç aya kadar karanlık ortamda bile çalışabilen K750, PVC kullanılmayan tasarımı ve tamamen geri dönüştürülebilir kutusuyla çevreye olan etkisini en aza indirmek için tasarlandı” dedi.

Kapalı Mekânlarda Bile Gün Işığıyla Çalışıyor

Logitech Wireless Solar Keyboard, rahat bir kullanım için herhangi bir şarj kablosuna ihtiyaç duymadan, entegre solar paneliyle kendi kendini şarj ediyor. Dâhili solar güç uygulaması, ihtiyacınız olan ışık miktarını gösteren, tek bakışla pil seviyesini görmenizi kolaylaştıran ve hatta daha fazla güce ihtiyacınız olduğunda sizi uyaran bir göstergeye sahip.

Logitech’in ilk solar klavyesi K750 kapalı mekânlardaki ışığın enerjisini kullanabiliyor ve tamamen karanlık bir yerde en az üç ay şarjı bitmeden kalabiliyor. Ayrıca entegre güç göstergesi, ışık enerjisinin aniden bitmesinden doğacak sürprizleri de ortadan kaldırıyor.

Sadece 7.5 mm kalınlığında

Logitech, solar enerjiyi bir klavyeye taşımaktan daha fazlasını sunuyor. Logitech Wireless Solar Keyboard sadece 7.5 mm kalınlığındaki ince tasarımıyla da dikkat çekiyor. Yuvarlak hatlı kenarlara ve ince bir profile sahip bu şık modern klavyeye sahip olmak tam bir keyif.

Konforlu Yazma Deneyimini Hissedin

Düşük profilli K750 Logitech’in Incurve tuşlarına sahip. Incurve tuşlarının içbükey tasarımı ve yumuşak ve yuvarlatılmış kenarları sayesinde, parmaklarınız tuşlara uygun bir şekilde yerleşir ve tuşlar arasında akıcı bir şekilde hareket edebilirsiniz.

Logitech Unifying Teknolojisiyle Güçlü ve Güvenilir Bağlantı

K750 Logitech’in gelişmiş 2.4 GHz kablosuz bağlantısı sayesinde neredeyse hiçbir gecikme ya da kesilme olmadan 10 metrelik çekim mesafesi sunuyor. Bu teknoloji aynı zamanda en üst düzeyde güvenlik imkânı sunan sistemlerden biri olan 128-bit AES klavye şifreleme özelliğiyle bilginizin korunmasını sağlıyor.

Logitech Unifying alıcıyı,  küçük boyutu sayesinde hareket halindeyken bile çıkarmanıza gerek kalmaz. Ayrıca birden fazla USB receiver kullanmanıza gerek kalmadan laptop’ınıza altıya kadar Unifying uyumlu mouse ve klavye ekleyebilirsiniz.

Logitech Wireless Solar Keyboard K750’nin Satış Fiyatı: 99 $ + KDV



YTÜ 10. Bilişim Günleri

Yıldız Teknik Üniversitesinin bu sene 10.’sunu düzenleyeceği Bilişim Günleri Yıldız Teknik Üniversitesi Beşiktaş Kampüsünde yapılacakmış ve 3-4-5 Kasım günlerini kapsayan 3 günlük organizasyona %70 katılım sağlayanlara sertifika verilecekmiş. Hem evime yakın olması hem de sertifikanın değerli olması nedeniyle dersim olsa bile katılmayı düşünüyorum. Umarım bir sorun çıkmaz ve en azından sertifika için gerekli olan katılım oranını sağlayabilirim. Elbette sadece sertifika için gitmiyorum. Gerçekten önemli kişiler ve konular konuşulacak yani sadece konuşmalar için bile gidilebilir bir etkinlik. Etkinlik posterine bu linkten ulaşabilirsiniz. Bizim okulun düzenleyeceği XV. Türkiye’de İnternet Konferansı başlıklı etkinlikten önce gayet başarılı bir organizasyon olacak. Bu arada bizim okul derken İstanbul Teknik Üniversitesi. XV. Türkiye’de İnternet Konferansı ile ilgili ayrıntılı bilgiye bu linkten ulaşabilirsiniz. İki organizasyonda da görüşmek dileğiyle…

10. Bilişim Günleri Etkinlik Takvimi

3 Kasım Çarşamba

13.00-14.15 : Android OS
Sezer Yeşiltaş – Turkcell

14.30-15.45 : Toplama Bilgisayar Pazarının Geleceği
Volkan Sağlam – Gigabyte

16.00-17.15 : Akademik Gözle Bilişim Dünyası
Yrd.Doç.Dr. A. Tevfik İnan – Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü
Yrd.Doç.Dr. Kadir ERKAN – Yıldız Teknik Üniversitesi Mekatronik Mühendisliği Bölümü
Arş.Gör. Engin AYÇİÇEK – Yıldız Teknik Üniversitesi Elektrik Mühendisliği Bölümü

4 Kasım Perşembe

13.00-14.15 : Kartaca Mobile Framework ile Uygulama Geliştirme
Muharrem Demir – Kartaca
Aykut Uysal – Kartaca
Doruk Destan Sarpkaya – Kartaca

14.30-15.45 : Yeni Medya
Öğr.Gör. İsmail Hakkı POLAT – Kadir Has Üniversitesi
Burat Bayburtlu – burak.com

16.00-17.15 : Townster
Turhan Yiğitbaşı – Gamester

5 Kasım Cuma

10.30-11.45 : Sansüresansür
Dr. Özgür Uçkan – Bilgi Üniversitesi
Dr. Ebru Baranseli – sansuresansur.org

13.00-14.15 : iPhone için uygulama geliştirmeye giriş
Umut Gökbayrak – Turkcell Teknoloji

14.30-15.45 : 3D Teknolojileri
Banu Çelikkaya – Digiturk

16.00-17.15 : 3D Kamera
Panasonic

PHP ile tarih kontrolü

Bazı durumlarda PHP ile işlemler yaparken kullanıcılardan tarih girmelerini isteriz. Bu işlem genelde tarih seçici bir arayüzle olsa da nadiren kullanıcı elle tarih girmek zorunda kalabilir. Bu gibi durumlarda hatalı bir sonuç almamak için tarihin geçerli olup olmadığını kontrol etmemiz gerekebilir. Bu nedenle bugünkü yazımız da basit bir tarih kontrol fonksiyonunu nasıl kodlayacağımızı göreceğiz. Kısa bir işlem olacak ancak tüm ayrıntıları öğrenip PHP konusunda gelişmeniz için yaptığımız tüm kodlamayı satır satır inceleyeğiz.

1. Fonksiyonumuzu tanımlayalım

İlk olarak php fonksiyonumuzun yapısını basit şekilde oluşturalım.

[php]
<?php
function tarihGecerlimi ($gelenTarih) {

}
?>
[/php]

Gördüğünüz gibi kodlamamızı çok basit bir şekilde başlattık ve kontrolünü yapacağımız tarihi fonksiyona gelen argümanlar arasında tanımladık. Böylelikle tarihGecerlimi(’12-25-1995′) şeklinde bir kontrol yapıldığı zaman 12-05-1995 tarihini $gelenTarih değişkeni aracılığıyla işleme alabileceğiz.

2. Tarihi Unix timestamp’a çevirme ve kontrolü

Bu adımımız da PHP’nin varsayılan olarak gelen 2 fonksiyonunu kullanacağız; strtotime ve is_numeric.
strtotime: Bu fonksiyon okunabilir tarih metinlerini sayısal değer olan Unix timestamp’a dönüştürmektedir. Eğer işlemdeki tarih geçerli ise fonksiyon tarihi unix timestamp olarak verecektir. Eğer tarih geçersiz ise FALSE değeri
dönecektir.
is_numeric: Bu fonksiyon sayesinde kontrolü yapılan tarihten timestamp gelip gelmediğini doğruluyoruz. Genel anlamda girilen değerin sayısal olup olmadığını kontrol etmektedir.
[php]
<?php
function tarihGecerlimi ($gelenTarih) {
$damga= strtotime($gelenTarih);

if (!is_numeric($damga))
{
return FALSE;
}
}
?>
[/php]

Gördüğünüz gibi fonksiyonumuz yavaş yavaş gelişiyor. Bu adımda tarihi kontrol edip geçerli bir timestamp olup olmadığı öğrendik. Eğer geçersiz ise fonksiyonu durdurup FALSE değerini döndürdük.

3. Timestamp değerini ay, yıl ve günlere bölerek kontrol

Son bölümde diğer adımdan gelen $damga değerini PHP’nin tarih fonksiyonu ile ay, yıl ve gün olarak parçalayacağız ve PHP’nin diğer bir fonksiyonu olan checkdate ile doğrulayacağız.

[php]
<?php
function tarihGecerlimi ($gelenTarih) {
$damga= strtotime($gelenTarih);

if (!is_numeric($damga))
{
return FALSE;
}
$ay= date( ‘m’, $damga);
$gun= date( ‘d’, $damga);
$yil = date( ‘Y’, $damga);

if (checkdate($ay, $gun, $yil))
{
return TRUE;
}

return FALSE;
}
?>
[/php]

Gördüğünüz gibi final kodumuzda tarihi parçalara ayırdık ve geçerli bir tarih ise TRUE geçersiz bir tarih ise FALSE değerini döndürdük. Böylelikle kısa bir kodlama ile okunabilir tarihlerin doğruluğunu kontrol etmiş olduk. Herhangi bir öneriniz veya istediğiniz varsa, ve hatta hata gördüyseniz yorum kısmında içinizi dökebilirsiniz.

Simple HTML DOM Parser kullanarak HTML işleme

Bir projenizde HTML dosyalarıyla işlem yapmanız gerektiğini düşünün. Kaynağı önemli değil, yerel veya uzak bir dosya olabilir, ya da anlık olarak oluşturulmuş bir html çıktısı olabilir. Bahsi geçen dosyadan veri çekmek, değiştirmek ve tekrar çıktı yapmak için regular expressions (düzenli ifadeler) her zaman için çözüm yolu değildir. Bu örneğimizde php kullanarak html dosyalarından nasıl veri çekileceğini göreceğiz.

1. Hazırlık

İlk yapmamız gereken şey Php Simple Html Dom Parser adlı kütüphane dosyasını bilgisayarımıza indirmek. İndireceğiniz zip dosyasında birkaç dosya var ancak asıl işimize yarayacak olan simple_html_dom.php, diğerleri örnekler ve yardım dosyaları.

2. Basit Örnekler

Kütüphanenin kullanımı oldukça kolay ancak yine de bazı basit işlevlerini incelemek ve mantığını kavramak gerekiyor.

Html Dosyasını Tanıtma

[php]
$html = new simple_html_dom();

// metin olarak tanıtma
$html->load(‘<html><body><p>Merhaba Dünya!</p><p>İşte ilk örneğimiz</p></body></html>’);

// dosyadan tanıtma
$html->load_file(‘http://arsiv.microturk.net/’);
[/php]
Dosya tanıtma işleminizi örnekte olduğu gibi ister metin olarak isterseniz de dosya olarak yapabilirsiniz. Dosya olarak tanıtmanında seçenekleri mevcuttur. Dosya ister uzak bir sunucuda olabilir ya da kodumuzun çalıştığı yere sunucu da olabilir.

Not: load_file() fonksiyonunun uzak sunucudan dosya çekebilmesi için php.ini dosyasındaki “allow_url_fopen” değeri true olarak aktif olmalıdır.

Verilere Erişim

DOM nesnemizi oluşturduktan sonra find() fonksiyonunu kullanarak dosyamızda koleksiyonlarla işlem yapmaya başlayabiliriz. Koleksiyon seçiciler ile bulunan nesneler grubuna verilen addır. Kullanılan söz dizimi jQuery ile oldukça benzerlik göstermektedir o yüzden jQuery kullananlar için alışması hiçte zor olmayacaktır.

[php]
// HTML’i oluştur ve yükle
include(‘simple_html_dom.php’);
$html = new simple_html_dom();
$html->load(‘<html><body><p>Merhaba Dünya!</p><p>İşte ilk örneğimiz</p></body></html>’);

// ikinci paragrafı bulabilmek için "p" etiketini aratıyoruz
$element = $html->find("p");

//ikinci bulunan "p" etiketine ekleme yap
$element[1]->innertext .= " ve devamı da gelecek.";

echo $html->save();
[/php]

2-4 paragrafları: Önceki örnekte de açıklandığı gibi dosyayı tanıtma ve yükleme işlemi.

7. paragraf: Dosyadaki tüm “p” etiketleri bulur ve 0′dan başlayarak bir array’a atama yapar.

10. paragraf: Bu satırda 2. bulunan “p” etiketine ekleme yapılıyor. Satırda kullanılan innertext işleci sayesinde bulunan nesnenin sadece metin kısmında işlem yapılır. Eğer outertext işlecini kullansaydık bulunan nesnedeki tüm etiketler de işleme alınacaktı.

Birkaç satır daha ekleyerek işlem yaptığımız 2. “p” etiketine class özelliği ekleyeceğiz.

[php]
$element[1]->class = "ornek";
echo $html->save();
[/php]

Diğer Seçici Betikler

Aşağıdaki kullanabileceğiz bazı diğer seçici betikleri de veriyorum. jQuery kullanmışsanız ya da kullanıyorsanız eminim çok tanıdık gelecektir.

[php]
# ilk id="foo" nesnesini bul
$tekil= $html->find(‘#foo’, 0);

# tüm class="foo" olan nesneleri bul
$koleksiyon= $html->find(‘.foo’);

# dosyadaki tüm a etiketlerini bul
$koleksiyon= $html->find(‘a’);

# h1 içinde yer alan tüm a etiketlerini bul
$koleksiyon= $html->find(‘h1 a’);

# title özelliği "resimler" olan tüm img etiketlerini bul
$koleksiyon= $html->find(‘img[title=resimler]‘);
[/php]

İlk örnekte 0 değerini vererek sadece ilk bulunan nesnenin işleme alınmasını sağladık. Diğer koleksiyonlarda ise tüm nesneler işleme alınıyor. Kütüphanenin kullanma kılavuzuna buradan erişebilirsiniz.

Tüm tarayıcıları Firefox’dan aç

Açık kaynak kod felsefesinin en büyük nimetlerinden biri olan Firefox sürekli olarak milyonlarca kullanıcı ve geliştirici tarafından iyileştiriliyor. Hergün onlarca eklenti yazılıyor ve yeni ‘nightly beta’ adı verilen önizleme sürümleri yayınlanıyor. Tüm bunların yanında diğer tarayıcılarda boş durmuyor tabii ki. Google Chrome, Opera, Safari ve ben dahil bir çoğumuzun nefret ettiğini Internet Explorer.

Tarayıcılar ne kadar gelişirse gelişsin hiçbir zaman birbirleriyle uyuşamıyorlar. Bir sayfa farklı tarayıcılarda çok farklı görünebiliyor. Bu en çok arayüz tasarımcıları ve web tasarımcıları için güçlük yaratıyor, ancak ne kadar sorun olursa olsun çoklu-tarayıcı desteği vazgeçilmez olmaya devam ediyor. İşte bu yüzden birçok web tasarımcının hatta birçok deneyimli kullanıcının bilgisayarında birden fazla web tarayıcı kurulu durumda. Bu yazıda bahsedeceğim Firefox eklentisi bu kitleye hitap etmekte.

Open With‘ adlı eklenti sayesinde Firefox’u hiç kapatmadan ve yapılması gereken tıklama sayısı azaltılarak bir web sayfasını bilgisayarınızda kurulu diğer tarayıcılar ile açabiliyorsunuz. Böylelikle geliştirme aşamasın da boşa harcanan çoklu-tarayıcı uyum süreci en aza indirgenmiş oluyor.

Eklentiyi bu bağlantı üzerinden kurduktan sonra tek yapmanız gereken Firefox’u yeniden başlatıp farklı tarayıcı ile görmek istediğiniz sayfanın boş bir yerinde sağ tıklamak. Sağ tıkladığınızda yandaki menüye ulaşabilir ve istediğiniz tarayıcı listeden seçebilirsiniz.

Bu arada Firefox gelecek sürümlerinde radikal bir değişiklik yapmazsa yerini Google Chrome’a kaptırabilir. Ben sadece alışkanlıktan kopamıyorum, o kadar!