İçeriğe geç

Ahmet Sezgin Duran Yazılar

Scikit-Learn Modellerini Kalıcı Olarak Kaydetme

Hali hazırda çalıştığım robotik projesinin bir kısmında, lazer verilerini kullanarak karşıdaki cismi sınıflandırmam gerekti. Yapay sinir ağı bile kullanmaya gerek kalmadan, çok basit bir KNN ile sorunu çözdüm. Sonrasında ise, doğal olarak, modeli kaydedip bir daha eğitmeden kullanmam gerekti.

Bunun için temelde birçok yöntem var. Hepsi de genel olarak nesne serileştirmeyi (object serialization) baz alıyor. Özetle modelinizi istediğiniz şekilde eğitiyorsunuz ve serileştirip bir dosyaya yazıyorsunuz. Sonrasında ise dosyayı taşıyıp, istediğiniz yerde birebir kullanıyorsunuz.

CMake ile GLUT OpenGL Projesi Oluşturma

Bu dönem aldığım bilgisayar grafikleri dersi için OpenGL öğreniyorum ve dersin projesini hiç sevmeye sevmeye GLUT ile yapmak zorundayım. (GLFW kullanmak daha rahat bana sorarsanız.) Dolayısıyla, C++ kullanarak rahatça OpenGL denemeleri yapabileceğim düzgün bir proje ortamı hazırlamam gerekti. Bu noktada ise en temiz çözümü CMake sağlıyor zira CMake ile derlenebilen projeler çok düzgün hata çıktıları veriyor ve en ideal Makefile dosyalarını otomatik olarak oluşturuyor.

Sistemi hazırlamak için, öncelikle gerekli paketleri kurun (Debian/Ubuntu):

Akademik Bilişim 2015’in Ardından

Yazıya girmeden önce neden çok geç yazdığımı açıklama ihtiyacı hissettim: Son günlere doğru feci bir şekilde hastalandım ve zar zor toparladım. Tabi bir gıdım üşengeçlik de yok değil, Çanakkale’ye, evime kırk yılın başı geldim, hemen de geri gidicem, o yüzden hemen bir gezeyim-dolanayım, öyle halledeyim dedim.

Bu seneki Akademik Bilişim, artık sağır sultanın da duyduğu bir şekilde, Eskişehir’de Anadolu Üniversitesi’nde yapıldı. Sağır sultan bile diyorum, zira yanlış bilmiyorsam ilk kez etkinlik için şehirde reklamlar verildi. 4 günlük kursları ve sonrasındaki seminerleriyle her yıl olduğu gibi yine dolu dolu bir hafta geçirdik ve geldik. Bu sene kurs ve kursiyer sayısı, diğer yıllara göre ciddi bir şekilde arttı. İlk defa ben de (geçen yılki asistanlığı saymıyorum) eğitmen olarak, iş arkadaşım İsmail AKBUDAK ile birlikte görev aldım ve “Python ile Oyun Programlamaya Giriş” kursu verdim.

Python’da Metot Override Etmek

AB2015’de vereceğimiz “Python ile Oyun Programlamaya Giriş” kursuna hazırlık yaparken, kullanacağımız kütüphanede (Python SFML) bir hata keşfetmiştim. İki tane Rectangle nesnesinin birbiriyle kesişip kesişmediğini gösteren bir metot hatalı olara çalışıyordu. Normalde Github’daki repoda bu hata hemen kapatılmıştı fakat Ubuntu’daki 1.3 sürümünde bu hata halen daha devam ediyor. Launchpad üstünden yaptığım hata bildirimi ve düzeltmesine rağmen halen yeni haliyle paketlenmeyince, ben de daha farklı bir yönteme girişeyim dedim. Hata bildirimi burada:

FreeBSD’de RVM ile Ruby Kurulumu

Geçenlerde Digitalocean’ın droplet seçeneklerine FreeBSD’yi eklediğini gördüm. Acaba nasıldır, kullanımı ne gibidir diye merak edip, Vultr’daki bir hesabımdan (DO’dan kredileri harcamak istemiyorum.) bir FreeBSD makinası oluşturdum ve kullanmaya başladım. Genel hatlarıyla GNU/Linux’la çok benzer olsa da, ufak tefek bazı detaylarıyla farklılaşıyor FreeBSD. Özellikle de Ports Collection sistemi çok ilgi çekici.

freebsd-logo

CHIP-8 Mimarisi ve Ruby Emülatörü

2015’deki ilk blog yazım olarak bunu öngörmemiştim, zira eski oyun konsollarına olan ilgim sadece oyun oynamak üzerine idi. Ta ki, yukarıdan vahiy gönderen bir push servisine yakalanmış gibi, “Niye emülatör yazmıyorum ki?” diye düşünene kadar.

Öncelikle söylemem lazım, benim şahsi favorim bir çok N64 hayranının aksine NES ve SNES ikilisi oluyor. Gerek mimarilerinin göreceli kolaylığı ve güzelliği, gerekse de efsanevi oyunlarıyla (Benim için bu efsane oyunlar, Mario ve Zelda serileri oluyor) beni benden alıyorlar. Tamam kabul ediyorum, o konsollar çıktığında ben portakaldaki vitamin bile değildim ama çakma konsollar ve emülatörler ile durumu kurtardık yine de. Bu sebeplerden dolayı, başta NES mimarisine ve emülatörüne giriştim fakat, göreceli olarak daha kolay olan mimarisi bile feleğimi şaşırttı. Onu öğrenirken, bir yandan da daha eski ve cidden daha kolay bir mimaride olan CHIP-8’i öğrenmeye başladım. Pong ve Space Invaders’ın platformu olan meşhur CHIP-8’den bahsediyorum.

Özgür Web Teknolojileri Günleri 2014

Özgür Web Teknolojileri etkinliğinin 2014 ayağı, her sene olduğu gibi bu sene de, Yeditepe Üniversite’sinde yapıldı. Etkinlik her zamanki gibi güzel oturumlar, harika insanlar ve şahane eşantiyonlarla doluydu. Tişört, kupa, çantayla Nudo, DigitalOcean kuponları ve baya bi stand eşantiyonunu topladım 🙂

Çalıştığım firma olan Lab2023 ile birlikte, Bulutfon ve Netinternet’le de beraber yanyana standları açtık. Baya bi ziyaretçi ağırlayıp, muhabbet edip, sticker dağıttık.