Courgette Algoritması

Google’ın geliştirmiş olduğu yeni binary diff algoritması. Yeni dedim ama ben yeni gördüm 🙂 3-5 sene olmuş sanırım.

Daha önce Chrome güncellemeleri için kullandıkları bsdiff vardı, onun yerine artık Courgette algoritmasını kullanıyorlar.

Örnek bir güncelleme karşılaştırması :

Tam güncelleme boyu : 10.385.920 byte
bsdiff güncelleme boyu : 704.512 byte
Courgette güncelleme boyu : 78.848 byte

bsdiff’in boyu Courgette’nin kinden 10 daha büyük kalıyor.

Kaynak Kodları

The Sensel Morph

Üzerine yapılan baskıyı ve şiddetini algılayan yeni nesil touch pad. Kickstarter projesi olarak bağış topluyorlar. Boya fırçasını bile algılayabilecek hassasiyette. Ayrıca üzerine koyulan bir arayüze göre değişik işlevlere kavuşabilecek bir cihaz. Örneğin üzerine piyano tuşları koyuyorsun piyano görevi görüyor, klavye koyuyorsun klavye oluyor.

Kickstarter Proje Sitesi

Mini Profiler

Mini Profiler .NET, Ruby, Go ve Node.js için kullanılabilecek, performans analiz kütüphanesi. Ne ne kadar sürede çalışmış parça parça görebilirsiniz.

Mvc için örnek :

Animasyon Yapmanın 12 İlkesi

Bu 12 animasyon ilkesi Walt Disney stüdyosunun ‘yaşlı adam’ diye lakap taktığı Frank Thomas ve Ollie Johnston tarafından 1930 yıllarında geliştirilmiş.

Onlar o zaman geliştirmiş ben daha yeni öğrendim araştırdım ve yazıyorum, ne kadar da geri kalmışım 🙂

  1. Ez ve Genişlet
    Amacı nesnenin ağırlığı ve esnekliği ile ilgili fikir vermek ve vurgulamak için kullanılır. Örneğin bir top yere çarptığında ezilmesi. Burada dikkat edilmesi gereken şey, yatayda veya dikeyde değişiklik yapılsa bile hacmi değişmemesi gerekiyor. Ayrıca dikkat edilmesi gereken şey, bu değişim örneğin top için sadece yere vurma ve sonrasında geçerli olmalıdır. Top havadayken ezilmesine veya sünmesine gerek yok, abartmamak gerekir.
  2. Beklenti
    Amacı izleyiciyi harekete hazırlamak ve gerçekçi bir görünüm sağlamak. Örneğin topa vuracak bir oyuncunun, topa vurmadan önce gerilmesi.
  3. Sahneleme
    Sahnenin olan şeyi açıklayıcı ve odaklayıcı şekilde olması gerekiyor. Kamera açısının nesneye yakınlığı, geniş açı, yakın çekim. Gereksiz nesnelerin sahneden kaldırılması vs.
  4. Ardışık veya Kare Atlayarak
    Yapacağınız animasyon örneğin bir ateş ise bunu ardışık çizmek daha mantıklı olabilir. Çünki ateş çizerken kare atlarsanız sonrasında ne olması gerektiğini öngöremeyebilirsiz. Eğer yapacağınız animasyon bir adamın bir yerden koşarak geçmesi ise bunu önce hareketler kareleri arasını atlayarak çizip, sonrasında aradaki kareleri çizebilirsiniz. Her ikisinin kendine göre avantajları var. Kare atlayarak çizmek işin bütününü görmeyi sağlar. Sorunlar varsa giderilir ve sonrasında detaylar çizilebilir.
  5. Hareketi Tamamlamak ve Zaman Farkı
    Hareketi tamamlamak örneğin karakterin üzerindeki bir nesnenin, karakter durduktan sonra hareketini tamamlaması. Zaman farkı ana gövde hareketiyle alt nesne hareketi arasında oluşan zaman farkı.
  6. Başlangıç Bitiş İvmesi
    Animasyonların başlangıç noktasında yavaştan başlayıp ivmelenmesi ve sona doğru tekrar yavaşlayıp durması.
  7. Yaylar
    Animasyonlarda sıkıcı düzlemsel hareketlerden kurtulmak için kullanılabilir. Örneğin bir topu bir noktadan başka bir noktaya atıyorsunuz, önce orta noktaya sonra orta noktadan varacağı noktaya düzlemsel bir hareket yerine, bu üç nokta arasında yay çizmesi daha gerçekçi ve güzel olur. Bu yay hareketi aynı zamanda karakterin hareketlerinin sonunada eklenebilir. Örneğin tekme atan bir karakterin ayağı küçük bir yay çizebilir.
  8. Ek Hareket
    Ana hareketi destekleyecek şekilde ek bir hareket eklemek. Örneğin karakterin yürüyüşündeki ana hareket ayaklarıdır, geri kalan elleri kafası ek harekettir. Örneğin karakterin bişey yemesi ana hareket, ek hareket olarakta yüzünde bu yediğinin ekşi olması olabilir.
  9. Zamanlama
    İki temel hareket arasında birbirine çok yakın birçok çizim varsa hareket yavaş olur, birbirinden uzak çizimler varsa hareket çok hızlı olur.
    24 fps bir animasyonda her kareyi çizmeye “ones” iki karede bir çizmeye “twos” üç karede bir çizmeye “threes” deniyor. Ones çizim ardışık karelerde çok hassas çizim gerektiriyor. Diğer türlü animasyonda çizgiler titriyor gözüküyor. Bunun yerine twos kullandığı zaman çizgi titremesi çok az oluyor. Fazla detay gerektiren animasyonlarda ones tercih edilebilir.
  10. Abartı
    Hareketlere abartı katmak hareketin özünü ve fikrini daha görünür kılar.
  11. Sağlam Çizim
    Eskiz yaparken küp, küre ve silindirlerden yararlanın. Kare çember gibi şekillerden kaçının. Bir küp çizdiğinizde paralel çizgiler çizmeyin. Ufuk çizgisine doğru küçülen küp çizebilirsiniz. Perspektif çizgileri çizin. Böylece karakterin kameraya olan uzaklığını bilir, buna göre küçük veya büyük çizebilirsiniz. Temize çekerken yüzeyleri birbirine geçirmek için ek çizgiler kullanabilirsiniz. Simetrik çizgiler kullanmayın. Birini düz diğerini eğri çizebilirsiniz veya her ikiside eğri olabilir. Simetrik hareketlerden kaçının. Örneğin sağ el ile sol el aynı şekilde hareket etmesin. Diğer el ana hareketi yapan elin dengeleyicisi gibi davranabilir.
  12. Albeni
    Karakterlerin çekiciliği olması gerekir. İlginç görünebilir. Her karakter için aynı şekil kullanmak yerine değişik şekiller kullanılabilir. Her iyi karakterin tasarımı net bir şekil ile başlar. Orantıları abartmak karakterin çekiciliğini arttırabilir. Çok detaylı karakterler animasyonu zorlaştırır ve karmaşık hale getirebilir.

 

Yazıyı kaynaklardan okuyup oluştururken youtube da bu konu ile ilgili çok güzel bir video serisi buldum, hemde Türkçe altyazılı. Dolayısıyla yazıyı videodan yararlanarak oluşturdum.

Siteniz/web uygulamanız için tur düzenleyiciler

Yanlış anlamadınız, siteniz/web uygulamanız için tur düzenleyin! Ne turu derseniz, eğitim turu tabikide.
Geliştirmiş olduğunuz uygulamanın özelliklerini adım adım anlatabilmek için çok faydalı bir yaklaşım.

Uzun uzun yardım dosyaları hazırlamak yerine, uygulamanızın sayfalarına gömülü bir şekilde eğitim işini çözebilirsiniz.
Bu sayede değişikliğe uğrayan sayfalarınızın, eğitim kısmı da güncel kalacaktır. Örneğin sayfayı değiştiren/güncelleyen, turu da değiştirip, güncelleyecektir.

Bu iş için bir kaç tane alternatif var, içlerinden benim seçtiklerimi şöyle sıralayabiliriz :

Project Naptha

Gezinti yaptığın web sayfalarındaki resimlerin içindeki yazıları seçmene yarayan, Chrome tarayıcısı için yapılmış bir eklenti. Bu eklenti sayesinde, ekstra bir OCR programı kurmana gerek yok, en azından web sayfalarındaki resimler için yok.

Kısacası web sayfasındaki resimdeki yazıyı seçen, seçtirebilen program.

Eklentinin Chrome tarayıcısı için kurulabileceği adres.

RDLC Font WebForms

Web tabanlı reportviewer’ın, barkod yazı tipi kullanması gerekiyodu. Excel ve Word Export’ta sorun yoktu, PDF render tarafında barkod fontu görmedi. Yazı tipini sunucuya kurdum çalışmadı (PDF render sunucu tarafında işleniyor) .Uzunca bir süre gugulladıktan sonra, basit bir “Yeniden Başlatma” ile işin çözülebileceğini öğrendim.

Denedim oldu, kasma “Yeniden Başlat”. 🙂

Not : IIS Pool restart yemedi, kasma “Yeniden Başlat” 🙂
Not 2 : Word ve Excel Export yazı tipi problemini çözmek için, yazı tipini istemci tarafına kurmak gerekiyor.