Ali Özgür


Coding and other software development stuff

Farewell Subversion, Hello Git

Subversion to Git Migration

At Istanbul Bilgi University Software Development Team we have been using Subversion for nearly 10 years. I was the person who introduced Subversion to the team in 2005. During all those years we have created lots of repositories, to give you the exact number we have 121 repositories. Around 100 of these repositories include source code for different systems, applications or modules. Around 20 of those repositores are just junk. We have a repository per system, application or module. I guess this bit of information is enough to give you an idea about the overall migration work we need to perform.

Read More ...

Yönetici - Yazılımcı İlişkisi Üzerine

Yöneticiler yazılımcının fikirlerine nasıl yaklaşmalı

(Turkish) Bu yazımda Yazılım ekip veya birim yöneticilerinin yazılımcılar ile ilişkisi üzerine kısa bir tespitimi paylaşmak istiyorum.

Read More ...

Custom API Authentication

Poor man's API authentication with API keys and some cryptography

In this blog post I will show you the details of a custom and minimal solution we have developed for Web API authentication.

Read More ...

Book Review : JIRA Development Cookbook

Recently we have reorginzed our Jira and implemented a User Request project to get the user requests in a single Jira project with all components in place. With this implementation user requests are assigned to our team managers then they decide how these requests will be mapped to internal projects. We also implemented a custom workflow and at some point (User Test) the user request is assigned to the reporter (our users). When our users complete the tesing and indicate success or failure the request is assigned back to the team managers. This implementation is working pretty well. Our users no longer create issues in our internal projects and the team managers can control the workload and schedule of their teams. With this implementation we can also give to the point reports to the management. In future we plan to be able to dedicate a virtual budget for each department our users work for so that we can calculate a virtual cost and time spent reports for each department.

Read More ...

Türkiye kendi mobil işletim sistemini geliştirebilir mi?

(Turkish)

Son günlerin gündemde tutunamayan konusu Fatih Projesi ciddi vaadleri olan ve ülkemizin geleceğini yakından ilgilendiren bir proje. Bu proje kapsamında yapılması planlanan çalışmalar şu 5 ana başlık altında toplanmış

  1. Donanım ve Yazılım Altyapısının İyileştirilmesi
  2. e-İçeriğin Sağlanması ve Yönetilmesi
  3. Öğretim programlarında Etkin BT Kullanımı
  4. Derslerde BT Kullanımı İçin Öğretmenlere Hizmetiçi Eğitim
  5. Ağ Altyapısı ve Geniş Bant İnternet Kullanımı ile Bilinçli ve Güvenli BT Kullanımının Sağlanması

Bu maddelerin hepsi Türkiye’de verilen eğitimin kalitesini farklı açılardan arttıracaktır ancak benim değinmek istediğim konular özellikle 1. madde kapsamında yapılması planlanan çalışmaları kapsamaktadır.Donanım ve Yazılım Altyapısının İyileştirilmesi başlığını ayrıntılı bir şekilde incelediğimizde dersliklerin dizüstü bilgisayarlarla donatılmasının amaçlandığını görüyoruz. Basında çıkan haberlerden takip ettiğimiz kadarıyla Milli Eğitim bakanlığı ve hükümet dizüstü bilgisayarlardan çok tablet bilgisayarlara odaklanmış durumda. Bu çerçevede dersliklerin (aslında öğrencilerin) tablet bilgisayarlar ile donatılması çalışmasında hükümet’in özellikle Apple ve Google ile temaslarda bulunduğunu ayrıca yerli bilgisayar üreticileri nezdinde de temasların ve çalışmaların yapıldığını biliyoruz. Bu çalışmaların ve temasların hepsi bu tür bir girişim öncesi karar verme aşamasında önemli ve değerli faaliyetler. Ancak benim kişisel fikrim eğitim’e yönelik tablet bilgisayar donanımının ve bu donanım üzerinde çalışacak işletim sisteminin tasarım ve geliştirmesinin TÜBİTAK çatısı altında kurulacak ekipler ve kamuya ait bir üretici firma tarafından geliştirilmesinin zorunlu olduğu yönünde. Bu çalışmanın tamamen yerli kaynaklar kullanılarak yapılabileceğine inanmama neden olan bazı gerçekleri aşağıdaki gibi özetleyebilirim

Hemen hemen tüm tablet üreticileri kullandıkları donanım parçalarını Çin’de anlaşmalı şirketlere ürettirmektedir. Ancak bu üreticiler kullanacakları donanım’ın tasarımını kendileri yapmakta veya tasarım şirketlerine yaptırmaktadırlar. Bana göre bizim ülkemizde bu donanım bileşenlerini tasarlayabilecek insan kaynağı mevcuttur. Hükümet bu projenin bir başarı hikayesi olmasını istiyorsa derhal bu donanımın tasarımını yapabilecek kişileri tespit etmeli ve gerekirse yurt dışında Apple, Google, Motorola, HTC, Samsung, Sony gibi ciddi üreticilerde çalışmakta olan mühendisleri TÜBİTAK bünyesinde bu çalışmaya katılmaları için ikna etme çalışmalarına başlamalıdır.

Türkiye TÜBİTAK çatısı altında bence çok başarılı bir işletim sistemi olan Pardus’u geliştirmeyi başarmıştır. Çok önemli bir başarı hikayesi olan ve başarılarını sürdüren Pardus yapılanmasına benzer bir yapılanma kendi tablet işletim sistemimiz için de hızla devreye alınmalıdır. Hatta kendi tablet işletim sistemimizi Pardus’un kapsamını genişleterek geliştirmeliyiz. Günümüzün en başarılı mobil işletim sistemlerinden biri olan Android’in çekirdeği ile Pardus’un çekirdeğinin Linux olduğunu göz önüne alırsak bunu başarmak için Amerika’yı yeniden keşfetmemize gerek kalmayacaktır. Diğer yandan bu çalışmada açık kaynak kodlu olan Android kodunu inceleyip gerekli düzenlemeler ve yenilemeleri de rahatlıkla yapabiliriz. Örneğin Android’in Java temelli ve Dalvik kullanan yapısına benzer C# temelli ve Mono bileşenlerini kullanan bir işletim sistemi geliştirebiliriz.

Tasarımı TÜBİTAK tarafından yapılan donanım’ın montajının yapılması, donanım bileşenlerinin üretimin Çin’de yaptırılması, servis desteğinin organizasyonunun sağlanması gibi konularda faaliyet gösterecek %100 devlete ait bir kamu şirketi kurulmalı. Türkiye gibi bilmem kaç haneli büyüme rakamlarını yakalamış ve bilmem kaç miliyar dolar ihracat hedefi olan bir ülkenin bu tür bir kamu şirketi’nin finansmanını sürdürülebilir bir yapıda sağlayabileceği açıktır. (Bu şirket’in özelleştirilmesinin önüne yasal engellerin daha kurulma aşamasında konulması da bence kesinlikle gereklidir)

Uygulama mağzası ve milli eğitim bakanlığının dijital eğitim materyallerine erişime imkan sağlayan içerik mağzası gibi hizmetler sadece yerli yazılım firmalarına ihale edilebilir. Bu şekilde tablet işletim sistemlerinin kalbi sayılan uygulamaların ve içeriğin yönetimi merkezi bir yapı ile daha kolay sağlanabilir.

Geliştirilen tablet donanımı ve işletim sistemi ticari uygulama ve içeriğe kapalı olmalı sadece eğitim amaçlı ücretsiz içeriğe odaklanmalıdır. Böylece donanım ve işletim sistemi üzerinde ticari bir baskı unsuru oluşması veya oluşturulması engellenebilir.

Milli Eğitim bakanlığı Fatih Projesi kapsamındaki tüm okullara hizmet verebilecek bir data center kurarak okullara LMS gibi hizmetleri ortak bir kaynaktan merkezi olarak sunabilir.

TÜBİTAK çatısı altında üniversitelerin de iş birliği ile Türkiye kendi LMS‘ini (Learning Management System) geliştirip işletebilir

Teknolojiyi tüketirken çok yakından takip eden fakat özellikle devlet’in vatandaşlarına sunmakla yükümlü olduğu hizmetlerin sağlanmasında teknoloji yokmuş gibi davranan bir ülke olarak yukarıda belirttiğim hayalin gerçekleşmesi zor görünebilir. Fakat Fatih Projesi belirlenen takvimde uygulamaya geçirilebilirse belki de dünyada bu çapta dijital eğitime geçen ilk ülke olabiliriz. Bence ülke olarak bu fırsatı iyi değerlendirimeli ve özellikle %100 yerli kaynaklarla bu projenin hayata geçirilmesi için yapabileceklerimizi küçümsememeliyiz.

Hindisatan teknoloji’nin eğitimde daha etkin kullanılması için çalışmalarına uzun süredir devam ediyor ve Aakash isimli devlet destekli tabletin geliştirmesinin bitmek üzere olduğu duyuruldu.

Read More ...