OpenWRT ile CloudFlare DNS Güncellemesini Düzelten Betik

OpenWRT üzerinde Dinamik DNS için CloudFlare kullanıyorsanız, deposundaki “ddns-scripts_cloudflare” paketi maalesef servis modlarına dikkat etmeyip, güncelleme yaptığı her hostun CDN desteğini yanlışlıkla kapatıyor.

Bu sorunu çözmek için değiştirdiğim betiği, Github ‘da paylaştım. Betiğin 79 ‘uncu satırındaki “mydomain.com” adreslerini kendi domainlerinize çevirip, /usr/lib/ddns/update_CloudFlare.sh olarak cihazınıza kaydederseniz, ismi verilen domainleri “DNS & HTTP Proxy (CDN)” veya nam-ı diğer “Turuncu Bulut” haline çevirtebilirsiniz.

Chris Stephenson ve “Bilgisayar Bilimleri’nin Başarısı”

“Bilgisayar Bilimleri ‘nin başarısı”, 2012 ‘de yayınlanan ve CS alanını hem bilimsel, hem de tarihsel ve sosyolojik açıdan ele alan, küçük sorular ve şakalarla renklendirilmiş, şaşırtıcı ve bu alana ilgiliyseniz kanımca 1 saatinizi almaya değecek bir konuşma. Konuşmanın içeriği şu şekilde özetlenmiş:

Bilgisayar Bilimleri’nin aslında masamızdaki (ya da cebimizdeki) küçük makineyle sadece dolaylı bir bağı var. Temel ve geniş bir bilim alanı. 60 dakika içinde felsefeden cinsiyete, cinsellikten siyasete, sosyolojiden tarihe ve nihayet kaplanın çizgilerine varan bir yolculuk yapacağız. Sizi şaşırtacak en az bir şey öğreneceğinizin garantisini veriyoruz.

Konuşmayı veren hoca, Chris Stephenson, Bilgi Üniversitesi Bilgisayar Bilimleri bölümünün başkanıydı, yanılmıyorsam bölüm kapatıldıktan sonra da üniversitede akademisyen olarak kaldı. Kendisi yaptığı bazı dersler ve konuşmaları da Vimeo ‘da yayınlamış. Ayrıca bu Ocak ayında T24 ‘te yayınladığı ve günümüz Türkiye ‘sine güzel bir paralel çeken, IRA üzerine bir yazısı da var.

Bilmek isterseniz eğer: 25 yıl Türkiye ‘de yaşamış bu hoca, dün bu saatlerde “Bu suça ortak olmayacağız” bildirisine imza attığı için, muhtemelen piyango usulüyle seçilen, işini kaybeden ve tutuklanan üç akademisyene destek olmak için gittiği adliyedeki arama esnasında, çantasında an itibariyle ülkenin üçüncü büyük partisine ait bir davetiye bulunduğu için sınırdışı edildi. Çünkü, Türkiye’de hiçbir başarı cezasız kalmaz.

Gogs ile Kişisel GitHub-benzeri Depo Kurmak

 

Versiyonlama ve kod deponuz için, ya da emekleyen projeleriniz için özel bir depo mu istiyorsunuz? Buna ekstra para vermek içinizden gelmiyor mu? Self-hosted servislere meraklı mısınız, size daha mı çok güven veriyor? GitHub ‘daki kodunuzun bir kopyasını yerel tutmak mı istiyorsunuz? Sadece Git iyi güzel, ama hoş bir arayüzün, kullanım kolaylığının, ekstra fonksiyonların eksikliği hissediliyor mu sizde de? Demek ki kendi GitHub ‘unuzu kendiniz kurmanın vakti gelmiş. Üstelik -hemen hemen- tüm avantajlarıyla birlikte!

Bu işi yapabilen birden çok yazılım var, tüm ihtiyacımız olan ise 7/24 açık bir sunucu. İlla dışarıdan bir hizmete gerek yok, ben bunun için kendi Raspberry Pi sunucularımı kullanıyorum. GitLab ve Gogs, self-hosted GitHub kurmak isteyenler için iki büyük alternatif, ikisi de hızlı gelişiyor ve kendi çapında popüler. GitLab bu işte fonksiyonel anlamda sanki bir adım daha önde, ama konu RasPi gücünde bir sunucuda bu işi yapmaya gelince Gogs ‘un eline kimselerin su dökebileceğini sanmıyorum, üstelik son derece de temiz arayüzlü ve stabil. Bu sebeple ben Gogs ‘u tercih ettim ve tercihimden çok memnun kaldım, herkese de öneriyorum.

Peki Gogs ile neler yapabiliyoruz? Gogs son derece kolay şekilde GIT depoları oluşturmaya ve paylaştırmaya imkan tanıyor, çok sayıda kullanıcının aynı anda kullanması mümkün, sosyal araçları da buna hazır. Elbette bu depoları ve commit kayıtlarını görselleştirebiliyor, diff (fark) alabiliyor, dosyaları görüntüleyebiliyor, kolayca paylaşmaya da imkan tanıyor. Sadece bunlar da değil, diğer Git depolarında -misal GitHub- tuttuğunuz kodunuz için yansı depolar oluşturup belli aralıklarla yedekleyebiliyor, depolarınız için Issue Tracker (Kayıt Takibi) sunabiliyor, kodun belli bir durumundan Release oluşturmanıza imkan tanıyor ve muhtemelen benim sayamadığım daha bir çok işi yapıyor. Daha da güzeli, bütün bunları Raspberry Pi 2 üzerinde ışık hızında, hiçbir yavaşlama olmaksızın yapıyor. Daha ne isteyebilirsiniz ki bir Git sunucusundan? Bana kalırsa self-host etmeye istekli her geliştiricinin alet çantasında çoktan yerini almasını gereken bir çözüm Gogs, desteklerinizi de bekliyor. Türkçe dil desteğinin de Crowdin.com üzerinde topluluk desteğiyle sağlanmaya çalışıldığını ve yardımcı olabileceğinizi belirtmekte fayda var. (Henüz %30 civarı bitmiş çevirinin, bu haliyle resmi diller arasında yer almıyor)

Gogs ‘un geliştirilmesi ben bu satırları yazarken süratle devam ediyordu, adından ipucunu alabileceğiniz üzere Go dilinde geliştiriliyor. Fonksiyonel eksikleri olmasına rağmen stabil çalışması, temiz arayüzü ve hızıyla bitmiş bir ürün hissini çok iyi veriyor, ki özgür yazılım projelerin genellikle aşil topuğu burası olur. Gelecek major sürümde benim farkına vardığım tek eksiklik olan Wiki fonksiyonunun da eklenmesi planlanıyor, ihtiyacınız varsa şimdilik bunun için ayrı bir depo, veya DokuWiki gibi hafif bir çözüm değerlendirebilirsiniz.

İlginizi çektiyse gelelim Raspberry Pi üzerinde biraz zahmetli kurulumu ve birkaç ufak tefek ayarına:

Devamını oku…

Debian/LXDE ile Eski Sistemi Diriltmek

Debian/LXDE

Bu yaz balkona yerleşmekte ısrarcıyım, havalar sıcak. Ancak çok afilli yeni masaüstü bilgisayarımı kucaklayıp bir oraya bir buraya götüremiyorum, balkonda oyalanmak için yeni bir dizüstü almak da istemiyorum, ben de elde olanı yeniden değerlendirmeye giriştim. Lenovo S10-3T: hoş tasarımlı, küçük ve dokunmatik ekranlı bir notebook, taşınabilir ve kozmetik açıdan halen başarılı sayılabilir. Ancak içindeki Atom işlemcisi ve Raspberry Pi ile güreşir 1GB RAM ‘iyle çıktığı zamanda bile parlamamış olması, onu 2015 için zor bir tercih yapıyor. (Öte yandan ücretsiz temin edilmiş bir cihaz olması benim için harika bir tercih yaptı) Bu Lenovo Windows 7 ile geliyor ve sinir bozucu seviyede yavaş bir deneyim sunuyor, 8 ve 10 ile de parlak bir tablo çizmiyor. Ubuntu da maalesef farklı bir sonuç vermeyince yolu Debian ile kendi çözümümü yaratmakta buldum. Eski Notebooklar -ve diğer PC’ler- için tarifim şu şekilde:

Böylesine düşük kaynaklı sistemlerde Windows beyhude bir çaba, zira hiç bir şeye karar veremiyorsunuz. Değerli işlem gücü ve RAM, alengirli efektler ve gereksiz araçlar arasında yok oluyor. Sonuçta elinize kalan vasat performansı da kabullenmek yerine eliniz cep telefonuna veya bir tablete uzanıveriyor haliyle. Linux dağıtımlar ise durumuna göre hemen her konfigürasyona öyle bir adapte edilebiliyor ki bir kez daha etkilenmekten kendimi alamadım.

Amacıma ulaşmak için hafif bir Debian kurulumu yaptım. Ağ üzerinden kurulabilen ISO ‘su sadece 250 MB kadar yer kaplıyor ve kablosuz ağ üzerinden birkaç dakika içinde seçtiğiniz paketleri ekleyerek kurulumu tamamlayabiliyor. Hafif olması amacından sapmamak için LXDE/Openbox ile devam ettim, daha hafifleri de var ancak bazı basit fonksiyonlardan vazgeçmek cazip gelmedi, daha düşük konfigürasyonlar için LXDE araçlarından kurtulup sadece basit bir WM ile de yola devam edebilirsiniz. Bu kurulum seçeneğinde yalnızca kablosuz ağ yönetimi için Wicd, ve temel masaüstü görevleri için  Iceweasel (Chrome ile değiştirdim), Libreoffice, Deluge ve LXMusic gibi birkaç yazılım yükleniyor. Kurulumdan sonra da ince kenarlı ve modern görünümlü -ve kurulu gelen- Nightmare temasını seçip, çirkinlik abidesi uygulama barını da transparan siyaha çevirince ortaya beklentimin çok üzerinde bir performans veren ve boşta yaklaşık 200 MB RAM tüketen, modern ve minimalist bir kurulum kaldı. Dokunmatik ekranın kurulur kurulmaz çalıştığını ve kurulu gelen PDF okuyucuda sayfa kaydırmak için kullanılabildiğini söylemiş miydim?

Donanımı zayıf kalan, eski bilgisayarlarınızdan modern çalışma alanları yaratmak birkaç adımda, bu kadar kolay. Debian zaten hafif ve hazır bir dağıtım. Ne yalan söyleyeyim, Linux dağıtımlarına tüm güvenime rağmen ben bile bu kadar kolay olmasını beklemiyordum. Kendi kullanımımda bahsi geçen sistemi Chrome ile Internet işlerim, YouTube, LibreOffice ile yazı yazmak, PDF kitaplar okumak, Sublime Text ile kod karalamak ve SSH/VNC istemcisi olarak kullandım. Tabii bunların hepsini değil, en fazla ikisini aynı anda yaparak. VNC istemcisini, yük gerektirecek işlerim için asıl makinemdeki Linux VM’lerime ulaşmak için yükledim, çok sık ihtiyacım oluyor dersem yalandır, daha bir kez açtım sadece. Çöp diye kenarda yatan bir notebook için harika bir kullanım alanı oluşmuş oldu.

Bir de kendi kullandığım ve şahsen önem verdiğim bir kaç ufak detay ve deneyimim var, onları da paylaşmak isterim:

Devamını oku…

Pushbullet nedir? SSH ve Transmission ile Pushbullet Kullanmak

pushbullet

Pushbullet, tamamen ücretsiz bir push notifikasyon servisi. Google hesabınızla kayıt olup giriş yapabildiğiniz Pushbullet sayesinde, bir metni, dosyayı ya da bağlantıyı, birden çok tanımlı hedefe ulaştırabiliyorsunuz, kendi bildirimlerinizi yapabildiğiniz gibi, bu sayede tarayıcınızdan iPhone ‘unuza bir dosya göndermek de son derece kolay.

Ben Pushbullet ‘i kendi push notifikasyonlarım için aylardır kullanıyorum, bir bildirim oluşturduğunuzda bu bildirimi, Pushbullet sizin için bir iPhone ‘a, Android ‘e, Windows ‘a, Firefox tarayıcıya veya ağdaki başka bir arkadaşa ulaştırabiliyor. Tabii asıl kullanışlılık sizin Pushbullet.com ‘a girip oradan diğer cihazlarınıza bir şey  göndermenizle oluşmuyor, asıl kullanışlı olduğu yer, API sayesinde otomatik bildirimler oluşturabilmeniz.

Kendi kullanım alanlarımdan örnekle, aşağıdaki durumlarda bir bildirim iPhone ‘uma gönderiliyor:

  • SSH üzerinden bir bağlantı kabul edildiğinde
  • Sunucu üzerindeki bir servis başarısız olduğunda
  • Transmission üzerinden bir Torrent ‘in indirilmesi tamamlandığında
  • Belli aralıklarla IP kontrol edilip, sunucunun IP’si değiştiğinde

Bunlar sadece birkaç örnek, bunlar gibi pek çok bildirim oluşturabiliyorsunuz. Mesela SMARTD, bir diskinizde sorun tespit ettiğinde bildirim alabilirsiniz, ya da herhangi bir yazılımınıza entegre ederek olaylardan haberdar olabilirsiniz, bir RSS feed ‘i takip edebilirsiniz, kargo takibinize entegre edebilirsiniz, gibi.

Bunun için ben, aşağıdaki örnekteki gibi, bir curl komutu kullanıyorum, tek komutta bildirim gönderilmiş oluyor:
Devamını oku…

Raspbmc ile Raspberry Pi ile Medya Oynatıcı Deneyimi

Raspberry Pi ve neler yapabileceğinizle ilgili bir yazı yazmıştım zamanında, o yazının ana teması gidip hemen bir Raspberry almanızın şart olduğuydu, bu yazımda önceki anlattıklarıma ek olarak kendi Medya Oynatıcı deneyimimi anlatacağım. Önceden bu iş için pek de kaliteli diyemeyeceğim Ezcool ‘un bir oynatıcısını kullanıyordum, Samba ile Raspberry sunucumdaki 2 Terabyte ‘lık harici diskten görüntü alıyordu. Marka ve ürün çok güven vermese de genel olarak iş görüyordu. Ta ki, nedenini anlamadığım şekilde donmalar başlayana dek.

Bunun üzerine kendim bir şeyler yapabilecek miyim, ona bakayım dedim. Ortaya Ezcool ‘unkinden her anlamda daha başarılı bir sonuç çıktı, üstelik kendi Raspberry sunucumun üzerinde, dolayısıyla SMB ve dertleriyle -Linux’ta mı böyle, genel huyu mudur bilemem, “stabil olmayan” ın sözlük karşılığı Samba- uğraşmaktan kurtulmuş da oldum.

Bunun için kullanacağımız dağıtımın adı Raspbmc. Daha önce Raspberry Pi ‘den bahsettiğim için, kurulumunu burada tekrar anlatmıyorum. Henüz bir Raspberry edinmediyseniz, ilk paragrafta eklediğim yazıyı önce okuyup, sonra bunu okumanızda fayda var.

Raspbmc ‘nin avantajı, Raspberry ‘nize uyumlu bir Xbmc sürümüyle hazır olarak geliyor olması, böylece siz sistemi kendiniz dekore etmek zorunda kalmıyorsunuz. Tabii isterseniz zor yolu seçip, Raspbian ‘ınıza Xbmc kurmanız mümkün. Xbmc ‘sini saymazsanız, Raspbmc ile Raspbian arasında pek bir fark yok, zaten ortak depo kullanıyorlar.

Devamını oku…

Pardus’da Porno Lobisi

Bir arkadaşımın Pardus kitabında (2007 basımı, G. Çetin) farkettiğim küçük bir easter egg. BangBros falan, çogayıp.

O değil de, özlemediniz mi hiç KDE 3 ve arkadaşlarını?

2 Yılın Ardından, MeeGo’yu Nasıl Bilirdik?

n950ven9

2 yıl önce bu günlerde, MeeGo Türkiye ‘de yayınlayacağımız bir inceleme hazırlıyordum, o dönemde MeeGo ‘yu takip ettiyseniz, bunun Nokia N9 incelemesi olduğunu biliyorsunuzdur. Geçen süre, ve tabii ki Nokia ‘nın “stratejileri”, MeeGo ‘yu da, N9 ‘u da bir anlamda tarihin tozlu sayfalarına doğru itekledi, N9, 2 senedir zamanda hareketsiz, yeni bir güncelleme, tünelin ucunda bir ışık olmadan öylece, bir grup seveninin elinde dolaşıp durdu, MeeGo ‘nun çok önde başladığı yarışta zamansız ölümünden sonra hala, N9 ‘un mirasına sahip çıkıp, bayrağı alıp götüren bir ürün ortaya çıkabilmiş değil, diğer yandan MeeGo ‘nun huzursuz ruhu, tabutundan ara sıra fırlayıp, eski kullanıcılarının rüyalarına girmeye, kendini hatırlatmaya da son vermiyor. Akıllı telefonlar, geçen zamanda hem donanımsal, hem de yazılımsal olarak çok ilerlediyse de, gözden kaçan bu güzellikleri, forumdan bir arkadaşın sayesinde ulaştığım UnleashThePhones.com ‘un yazısıyla  bir kez daha anımsadım. Yaklaşık bir yıla yakındır iPhone kullanırken, kendimce en çok özlediklerimi de ben yazayım dedim:

Devamını oku…

Bir Harfi Fazla Yazmak ve PHP5 Oturum Çöp Toplayıcısı

1778_large

Bugün, MeeGo Türkiye’ye göz attığımda bir gariplik fark ettim. Forum başlıklarının tasarımı bozuk görünüyordu. Tabii bu durumda ilk suçlayacağınız muhtemelen tarayıcıdır. Önce bir CTRL + F5, sonra da iPhone ‘dan girdiğimde tasarımdaki aynı sıkıntı hala önümde duruyordu.

Bu noktada yönetici hesabıma giriş yaptım. Daha iyisi, ben giriş yapar yapmaz sağ barın kaybolduğu gibi sayfalar da bozuldu. İşte buradan sonra o can sıkıcı yarım saati okuyorsunuz:

İlk önce Drupal ‘in Cache temizleyicisini denedim. Birkaç dakikalığına işe yaradı da, sonra yeniden bozuldu. Daha sonra Drupal ‘in tüm hataları ve olayları kaydettiği DBLOG ‘a (Yakın zamanlı kayıtlar) ‘a girdim. DBLOG ‘un avantajı, sunucunuza giriş yapıp logları elle kontrol etmeden, buradan PHP hata kayıtlarını görebiliyor oluşunuz. Burada kolaylıkla dikkat çeken PHP hatalarından birine tıkladığımda ise:


taxonomy.module dosyası 21 satırında Can't create/write to file '/tmp/#sql_36a_0.MYD' (Errcode: 28)

Devamını oku…

"Tizen ile Mobil Yaşam" (OYLG '13)


“Tizen ile Mobil Yaşam” Sunumu

Özgür Yazılım Günleri 2013 ‘ün sonuna geldik, ben de İstanbul  Bilgi Üniversitesi’nde Oytun Eren ile beraber yaptığımız sunumdan oldukça memnun ayrıldım. Konuşmanın maalesef bir videosunu çekmemişiz; kısaca, Tizen cihazlarından, geliştirme olanaklarından, nasıl geliştirildiğinden ve geleceğinden biraz bahsettik. HTML5 ve Tizen Türkiye ‘den de birkaç cümlede bahsetmeye çalıştım. Sunumun sonuna doğru yaptığım mini Firefox OS reklamı işe yaramış olacak ki çıkışta Mozilla standını tamamen bizim dinleyicilerimiz istila etmişlerdi. :)

Yanımızda bir de cihaz getirdik, hatta sunum sırasında arkadaşlarımızın da deneme fırsatı oldu, onları da sahneye alıp bir de Tizen ile Mobil Yaşam hatıra fotoğrafı çektirdik. Yukarıdaki fotoğraf işte o an, RD-210 geliştirici cihazından alınmış bir kare, ve Tizen ile çekilmiş ilk fotoğraflardan biri. Sunumda kullandığımız slaytları da hemen altındaki bağlantıya tıklayarak alabilirsiniz. Sunuma katılan, varlığıyla ve sorularıyla yanımızda bulunan herkese tekrar teşekkürler.

Bir sonraki yıl görüşmek üzere,