I’m Cem Unalan. I blog about things that I build, things that I consume and things that happen to me.
Home
About Me
Projects
Nelerle Uğraşıyorum
16 March 2017
En son yeni bilgisayarı alınca bir post yazmışım. Bu nelerle uğraştığımı açıklıyordur sanki. Steam hesabımı kontrol ettiğimde o günden beri 300 küsür saat oyun oynadığımı görüyorum. Söylenecek bir söz yok, oyunlardan bahsedeyim.
Assetto Corsa
300 küsür saatlik oyun performansımın 200+ saati bu oyunla geçti. Neresinden övmeye başlayayım bilmiyorum. F1 Challenge 99-02’den aldığım keyfi (çocukluk-gençlik dönemi de olunca tadı bi farklı geliyor) hiçbir zaman başka bir oyundan alamadım. Gran Turismo’dan başka oyun oynamaya imkanım olmadığı için de olabilir. Assetto Corsa bana aynı şekilde bir keyif verdi. Araçların tutuşu, sesleri, grafikleri, online gruplarda bulunan pilotların kalitesi, eğer seviyorsanız modların sayısı… Bana göre simracing dünyasına giriş yapmak istiyorsanız bulabileceğiniz en komple paket.
Oyundaki araçlardan ilk aşkım SF15-T. Raikkonen’in kullandığı bir sürü araçtan en güzel ikincisi… (Birincilik her zaman MP4-20’de). Modern Formula 1 deneyimini yaşamak istiyorsanız bu aracı kullanmalısınız. MGU-K üretimi, MGU-K kullanımı, MGU-H, DRS… Hepsi oyunda sizin emriniz altında. İnanılmaz kompleks bir makina ve detaylarıyla acayip keyif veriyor.
Oyundaki yeni aşkım ise, Porsche GT3 Cup araçları. Özellikle motor seslerine bayılıyorum. Öte yandan arkadan motorlu olmasına rağmen inanılmaz dengeli gidiyor oyunda da. Gıcık eden, anormal bir karakteristiği yok. Dolayısı ile inanılmaz keyifli.
Project Cars
Arkadaşımın yoğun tavsiyesi ile aldım ancak hayal kırıklığı olmaktan öteye gidemedi. Bir kere Driving Force GT direksiyonumu bir türlü istediğim şekilde kullanamıyorum. Ya tekerlekden bağımsızmış gibi bir his veriyor ya da Force Feedback clipping olayı meydana geliyor ve hiçbir titreşimi bana yansıtmıyor. Genel olarak önden ve arkadan kaymaları da tam olarak direksiyondan hissedemiyorum. Tarifi zor bir FFB tatminsizliği var. Oyundaki FFB ayarlarının da diğer oyunlara kıyasla çok karmaşık olmasının da bir etkisi var. Birkaç gün önce biraz daha vakit harcadım buna, ancak çözemeyince bıraktım. Bir daha oynamayacağım. Bilgisayarda yer kalmayınca silinecek oyun listesinde ilk sırada.
rFactor 2
Bunun hakkında yorum yapamayacağım pek fazla, çünkü sadece 10 saat kadar oynadım. rFactor, modlar ve komunite üzerinden ilerleyen bir platform. Dolayısı oyundan maksimum zevki alabilmek için biraz vakit harcayarak ekosistemine hakim olmanız gerekli. Assetto Corsa gibi kur ve yarışmaya başla tarzı bir oyun olmadığını gördüm. En basitinden tur sürenizi ekranda anlık olarak gösteren delta göstergesini bile default bulamıyorsunuz. Oyun Steam Workshop entegrasyonu ile bu gibi modların yüklenmesi, güncellenmesi kolaylaştırılmış ancak ben zorlanıyorum bunları anlamada. Yüklediğim modlar arasında Flat 6 Series gerçekten orijinal bir yapım kadar kaliteli. Kesinlikle bu oyunla daha fazla vakit geçirmek isterim.
Eğer bu işlere meraklı iseniz, simracerstr.net sitesinde Türk sim yarışçıları ile tanışabilir ve düzenli olarak yapılan şampiyonlara katılabilirsiniz.
Oyun tarafından haberler bu kadardı. İş alanında ise ilgilendiğim alanları, JavaScript, JavaScript ve JavaScript olarak özetleyebilirim. Ağustos’tan beri üzerine düşünüp vakit harcıyorum. Ekosistemine bir noktadan dahil olmaya çalışıyorum. Bu işe giriş olarak Eloquent JavaScript kitabını seçmiştim. Oldukça da memnun kaldım okumaktan. Bir kitabı her zaman tamamen anlayamıyorsunuz ve üzerinizde yarattığı etkiyi de hemen ölçemiyorsunuz. Ancak bitirdikten bir müddet sonra, yeni şeyler öğrendikçe “ya acaba bu kitapta var mıydı” diye geri döndüğünüzde anlıyorsunuz aslında kitapta bunların ne kadar güzel bir şekilde verildiğini. Bu kitap eski bir kitap. Ancak sürekli yenilenmiş. Ben Promises üzerine okurken bu kitaba geri dönüp bir bakayım dedim ve son derece tatmin edici bir özet ile karşılaştım. Başlangıç seviyesini geçmiş bile olsanız bile kitabın size vereceği çok şey var. Geri dönüp baktıkça değerini anlıyorsunuz.
Bu arada kitaptan bir egzersiz örneği:
Between 1928 and 2013, Turkish law forbade the use of the letters Q, W, and X in official documents. This was part of a wider initiative to stifle Kurdish culture—those letters occur in the language used by Kurdish people but not in Istanbul Turkish.
As an exercise in doing ridiculous things with technology, I’m asking you to program a text field that these letters cannot be typed into.
Açıkçası daha sonra JavaScript ile ne yapacağımı bilemeden biraz blog post okuyarak, haberleri ve gündemi takip ederek takıldım. Laracasts’teki VueJs videolarını izledim ancak bir noktadan sonra takip edemedim. Two way binding neden var ki? Bu komponentler de ne böyle? Model nedir? Bütün bunlar hangi sorunları çözüyor aşamasında kaldım. O noktada radikal bir karar alarak sıkı bir takipçisi olduğum Jeffrey Way’in jQuery serisini izlemeye karar verdim.
Evet, 2017’de jQuery öğrenmek acayip bir durum gibi geliyor kulağa. Ancak oldukça faydasını gördüm. Çünkü bu seri jQuery API’ının sıra sıra anlatıldığı sıradan bir seri değildi. Temel olarak jQuery kullanarak nasıl uygulama yazılırının bir tanıtımı gibiydi. Burada jQuery’yi JavaScript API replacement diye de düşünebilirsiniz. En nihayetinde JavaScript patternlerine, jQuery kodunuza bir form kazandırma üzerine de oldukça faydalı bir seri oldu.
Bu esnada işten de yoğun JavaScript kullanacağım bir proje geldi. Buna jQuery ile giriştim ve biraz biraz aydınlanmaya başladım. Açıkçası zordu. Berbat kodlar yazdım ve iş büyüdükçe jQuery ile çalışmanın nasıl bir bela olacağını görür gibi oldum. Denemek ve problemleri görmek gerekiyordu bence ve bunu yaşadım. Şimdi o kodu refactor etmeye çalışıyorum.
Yeni programlama dilleri ve paradigmaları öğrenme ile ilgili de güzel deneyimler edindim. Şunu rahatlıkla söyleyebilirim, nasıl yabancı bir dil öğrenmek artık immersion meselesi ise, yazılımda da yöntem aynı. Ekosisteme adım atmak, Twitter’da kazara güzel bir iki posta denk gelmek, reddit’te tartışmaları okumak zamanla çok acayip şeyler öğretebiliyor insana.
Örneğin, daha geçen gün Derek Banas’ın JavaScript OOP dersini izlerken getter ve setterlardan haberdar oldum. Daha sonra bu konuda okunacak bir şeyler var mıdır Google’da arattım ve zaten uzaktan tanıdığım Reginald Braithwaite’ın şu mükemmel ötesi yazısına denk geldim. Ve şu anda two way binding çok mantıklı ve gerekli bir şeymiş gibi geliyor. Tamamen tesadüfi, tamamen immersion.
Bunun dışında JavaScript tecrübemi arttırmak için işte severek kullandığım Go Fucking Work eklentisinin bir kopyasını Firefox için yazdım. Temelde sizin belirlediğiniz bağımlılık yapıcı sitelere girmenizi engelliyor. Eğer siz de zor bir sorunla ya da sıkııcı bir işle karşılaşınca içgüdüsel olarak Twitter’a, Facebook’a yönleniyorsanız bu eklentiyi kurabilirsiniz. İlk anda Facebook’un yüklenmemesi zaten insanda “kapatıp işe dönmeliyim” hissi yaratıyor.
Yazdığım eklentiyi GitHub’dan inceleyebilirsiniz: Impulse Blocker. Aynı zamanda onaydan geçtikten sonra Mozilla’nın resmi Add-Ons sayfasından kurabileceksiniz.