11 Eylül 2018 Salı

Ahilik Teşkilatında İlkeler ve Kurallar

Merhaba sevgili ziyaretçiler. Bu yazımda teknik olmayan ancak kesinlikle önemli gördüğüm bir konu olan Ahilik sisteminin öğretilerinden bahsetmek istiyorum. Ahilik yüzlerce yıl önce Türkler tarafından oluşturulmuş ve yüz yıllar boyunca sosyal adalet ve ekonomik refahın ülke sathına yayılmasını sağlamış en köklü ve sağlam sosyo-ekonomik sistemdir. Bugün ülke olarak ekonomimizde ve sosyal hayatımızda ulaşmayı hedeflediğimiz yüksek refah seviyesinin yol haritasının Ahilik öğretisinde gizli olduğunu düşünüyorum. Ahilik öğretisinin, felsefesinin ve sisteminin doğru anlaşılması ve gündelik yaşantımızdan ticari ilişkilerimize kadar eksiksiz tatbik edilmesi şarttır. Ahilik kültürü/sistemi Türk örf adetlerinin ve İslam ahlakının senteziyle ortaya çıkmış ve yüzyıllarca Türk-İslam ekonomisini ve sosyal yaşantısını düzenlemiştir.

Böylesine mükemmel bir sistemin halen ülkemizde uygulama alanı bulamamış olması çok üzücü ve büyük bir eksikliktir. Umarım çok uzun vadede olmamak kaydıyla ülkemiz için Ahilik sistemi adına birşeyler yapılır.

Kaynakçada vermiş olduğum siteden Ahilik teşkilatının temel bazı ilke ve kuralları ile ilgili birkaç satır birşeyler buldum ve burada sizlerle paylaşmak istedim. Konuyla ilgili akademik birçok çalışma da mevcut. Ulakbim'in Dergipark.gov.tr adresinde kelimeye göre arama yaparak birçok makaleye ulaşılabilirsiniz.

20 Kasım 2013 Çarşamba

Hatalı Sayaç Probleminin C# ile Çözümü

Merhabalar bu yazımın konusu bazen matematik problemlerinde denk geldiğimiz hatalı bir sayacın bir hanesini hatalı gösterdiğinde sayaç kaçı gösterirdi gibi bir problemi çözmeye yönelik (tam ifade edemedim ama soru aşağıda var). Üniversiteye hazırlanan kuzenimin gittiği hazırlık kursunda sorulan ödüllü soruyu çözmek amacıyla geliştirmiş olduğum uygulama benzeri problemlere de uyarlanabilir. Soru kısaca şu şekilde:

10 Kasım 2013 Pazar

Adobe Connect Videoları Nasıl İndirilir?

Adobe Connect
İnternet üzerinden online eğitim sürecine katılanlar Adobe Connect'i iyi bilirler. Bu sistemde yapılan her sunum, konferans ya da ders sunucuda kaydedilir ancak kullanıcıya verilmez. Sonradan izleme şansınız ancak internet bağlantısı ile ve kayıtlar sunucudan silinmediği sürece vardır.

Peki ya bu kayıtları sonradan off izlemek istersek ne olacak? Adobe Connect bu konuda kullanıcının URL yoluyla imdadına yetişiyor. Mesela ders oturum URL'si

https://www.example.com/p10101010/ olsun. Bu URL'nin sonuna
https://www.example.com/p10101010/output/filename.zip?download=zip
gibi ekleme yaptığınızda videoyu zip formatında indirebilirsiniz.

6 Kasım 2013 Çarşamba

Camtasia Studio Dosyalarını (.camrec) Avi'ye Dönüştürmek

Bilindiği üzere Camtasia Studio yeni sürümlerinde çekilen görüntüyü .camrec uzantısıyla kaydediyor ve bilinen formatlara çevrim işlemi de nispeten zahmetli. Benim gibi üşengeçler için ise bu bir külfet olabilir. Göstereceğim yöntemle .camrec dosyalarından ilgili video dosyasını doğrudan alabileceksiniz. Bunun için öncelikle 7zip isimli uygulamayı indirip kurmanız gerekiyor. Buradan en son sürümünü indirebilirsiniz.

25 Ekim 2013 Cuma

Dünya'yı Değiştiren 18 Matematiksel Denklem

2012 senesinin başlarında, matematikçi Ian Stewart "Bilinmeyenin İzinde: Dünya'yı Değiştiren 17 Denklem" başlıklı kitabını yayımladı ve insanlığın tarihinde keşfedilen 17 matematiksel denklemi, bilimsel yoğunluğundan kurtararak, herkes tarafından anlaşılabilir bir hale soktu. Prof. Dr. Ian Stewart'a bu kitabını neden yazmaya karar verdiği sorulduğunda şöyle yanıt veriyor:

23 Ekim 2013 Çarşamba

SpiderMonkey Javascript Motoru - Basit Bir Uygulama

Önceki yazıda bahsettiğimiz üç temel bileşenin her birinin gerektirdiği ilgili JSAPI fonksiyonlarını açıklayacak olursak:

  • Runtime: Runtime'ı oluşturmak için JS_NewRuntime, işimiz bittiğinde yok etmek için JS_DestroyRuntime kullanılır. Uygulamanın SpiderMonkey'le işi bittiğinde ayrılmış kaynakları tamamen bırakmak için  JS_ShutDown kullanılır.
  • Context: Context'i oluşturmak için JS_NewContext ve JS_DestroyContext kullanılır. ECMAScript standartlarına azami uyum için uygulamaların JSOPTION_VAROBJFIX'i JS_SetOptions'u kullanarak aktifleştirmeleri gerekir. En son Javascript dil özelliklerini almak için ise JS_SetVersion kullanılabilir. Ayrıca her context için hata raporlama JS_SetErrorReporter kullanılarak sağlanabilir.
  • Global Nesne: Bu nesneyi oluşturmadan önce JSCLASS_GLOBAL_FLAGS opsiyonuna sahip bir JSClass'a ihtiyacımız var. Aşağıda verilen örnekte metotları ve özellikleri olmayan çok basit bir JSClass (global_class isminde) tanımlanmıştır. Ardından global nesneyi oluşturmak için JS_NewGlobalObject'i kullanmamız gerekiyor. Daha sonra bu global nesnemizi standart javascript global nesneleriyle doldurmak için JS_InitStandardClasses kullanılır.

3 Ekim 2013 Perşembe

SpiderMonkey Javascript Motoru

SpiderMonkey Mozilla isimli kuruluşun geliştirmekte olduğu bir Javascript motorudur. Buradan anlaşılacağı üzere bir API (Application Programming Interface) kütüphanesidir ve geliştirici, uygulamalarında javascriptin sunduğu kolaylıklardan bu Api aracılığı ile faydalanabilir. Bu, Browserlara özgü Dom nesnelerinin uygulama içerisinde kullanılabileceği anlamına gelmemeli zira Dom, browser spesifik bir yapıdır. SpiderMonkey ise bazı temel javascript veri tiplerini, sayılar, nesneler ve dizileri vs. ve bazı temel javascript metotlarını geliştiriciye sunmaktadır. Uygulama geliştirici kendi bileşenlerini (nesneler, sınıflar, metotlar, diziler vs.) kendisi oluşturur ve SpiderMonkey'e bunları kullanacağını bildirir.

Anlaşılır olması açısından bu hususla ilgili bir iki örnek vermek gerekirse Excelde (vbscript ile) yapılan uygulamalar ya da günümüz oyunlarında (lua vs. ile) farklı modların geliştirilebilir olması sundukları script desteği sayesinde olmaktadır. Bu sayede kullanıcı uygulamayı ileri düzeyde özelleştirebilmekte ve uygulamanın çekirdeği üzerinde yeni uygulamalar geliştirebilmektedir. Heyecan verici değil mi :) O zaman sözü uzatmadan hemen yazımıza geçelim.

13 Temmuz 2013 Cumartesi

Harf Notu Hesaplama Programı

Lisans yıllarında not hesaplamak için kağıt kalemle uğraştığım zamanlar aklıma gelince neden ufak bir program geliştirmediğimi düşündüm geçenlerde. Un var yağ var şeker var e neden helva yapmayalım dedim kendi kendime ve biraz da can sıkıntısını atmak için Visual Studio'da ufak bir program geliştirdim. Yarım saatlik çalışmanın ürünü program Gazi Üniversitesi'nin harf notu sistemine göre hesaplama yapmakta. Program çok basit sadece sağ tarafındaki "+" tuşuna basarak eklemek istediğiniz kadar ders ekliyorsunuz. Ardından dersin kredisini yazı giriş alanına giriyorsunuz, harf notunu seçiyorsunuz ve "=" tuşuna bastığınızda sonucu hesaplıyor. Evet sözü uzatmadan programı da vereyim. Kaynak kodu içinde. Programı Buradan indirebilirsiniz.

25 Mayıs 2013 Cumartesi

İleri Biyolojik Bilgisayar Geliştirildi

ScienceDaily.com adlı internet sitesinin haberine göre İsrail Teknoloji Enstitüsü Technion'daki bilim adamları yalnızca biyomoleküller kullanarak ileri bir transdüser geliştirdiler. Bu makine sayesinde genetik kodlar manipüle edilebiliyor ve akabindeki hesaplamalara girdi olarak kullanılabiliyor. Sitede buluşun ilerde birey gen tedavisi ve klonlama gibi konularda biyoteknoloji alanında yeni olanaklar oluşturabileceğinin altı çiziliyor.

29 Aralık 2011 Perşembe

C ve C++'ta İşaretçiler (Pointers): İşaretçi Türleri ve Diziler

Evet işaretçilere kaldığımız yerden devam ediyoruz. Şöyle bir işaretçi değişken bildirimi yaptığımızı düşünelim:

   int *ptr;

Bu işaretçinin gösterdiği değişkenin türünü neden tanımlamamız gerektiği üzerine düşünerek konumuza başlayalım.

Bunun nedeni,

   *ptr = 2;

yazdığımızda derleyicinin ptr ile gösterilen bellek konumuna ne kadar bayt kopyalayacağını bilmesi içindir. Eğer ptr bir tamsayı (integer) işaretçisi olarak bildirilmişse 2 bayt kopyalanacak, eğer uzun tamsayı (long) olarak bildirilmişse 4 bayt kopyalanacaktır. Aynı şekilde ondalıklı (float) ve çift duyarlıklı ondalıklı (double) sayılar için de uygun miktarda bayt kopyalanacaktır. Fakat işaretçinin gösterdiği türün tanımlanması derleyicinin, kodu farklı yöntemleri kullanarak yorumlamasına izin verir. Mesela bellekte bir satırda on tamsayıdan oluşan bir bloğumuz olsun. Bu on tamsayıyı tutmak için 20 bayt bellek ayrılacaktır.

27 Aralık 2011 Salı

C ve C++'ta İşaretçiler (Pointers)

Merhabalar, uzun zamandan beri blogumla ilgilenemedim. Bir süredir C ve C++'da önemli bir konu bir bel kemiği konusu olan İşaretçiler (Pointers) konusunda internette araştırmalar yapıyordum. İşaretçiler birçokları için korkulu bir rüya. Ancak işaretçiler konusu anlaşılmadan tam anlamıyla bir C programcısı olmak çok zor hatta imkansız. Bu konuda internete bulduğum bir dökümandan biraz yazmak istiyorum.

İşaretçiler kapsam olarak çok geniş. Ancak yazı kısa tutulmuş ve en basit konu olan değişken kavramından başlayarak aşama aşama ilerlenmiş. Son olarak fonksiyon işaretçileriyle konu tamamlanmış.

Hazırsak başlayalım.

3 Ağustos 2011 Çarşamba

CSS Float Nedir?

Bu yazıda örnek kullanım şekilleriyle bu temel CSS konusu üzerinde duracağız.

Float Nedir?
 Float basitçe kendisini taşıyan taşıyıcının sağ ya da sol tarafına kaydırılabilen bir kutudur (mesela bir div).

Bu kutu float uygulanarak sağ tarafa kaydırılmıştır.
Float'ın en temel özelliği, içerik parçalarını üst üste değil de yan yana düzenlemeye imkan sağlamasıdır (tablo kolonlarına benzer ancak daha iyi bir düzenleme imkanı sağlar). Bu da yazı kolonları ya da yandaki kutu gibi sayfaki elemanları ileri düzeyde konumlandırmaya imkanı sağlar.

Floatlar img elemanına ait align=left ve align=right özelliklerine de kısmen benzemektedir.

28 Ocak 2011 Cuma

Hantal Bilgisayarı Hızlandırmak

Eğitim gördüğümüz kurumdaki bilgisayarların yavaş olması çoğu zaman çileden çıkarıcı bir hal alıyor. Aslında sabır zorladığı için eminim manevi açıdan epey yol kat ettirir ama aciliyet gerektiren işlerde bu hantal şeylere biraz hareket katmak gerekiyor. Özellikle ram kaynaklı yavaşlamalara çözüm olarak kısa bir araştırma sonucu ulaştığım Ram Booster isimli ram düzenleyici programı paylaşmak istedim. Program sayesinde kullanmış olduğum hantal taş devrinden kalma bilgisayar bile şaha kalktı. İnşallah ihtiyacı olanların faydalanacağını umuyorum. Programı indirebileceğiniz internet sayfasına ulaşmak için tıklayınız.

25 Şubat 2010 Perşembe

Lua ve C++'ın Birlikte Kullanımıyla İlgili Kısa Bir Ders

Lua'nın kullanımı oldukça kolay. Bu derste C++ içerisinde Lua callbackleriyle çalışan bir host programı nasıl yazacağımızı göreceğiz.

Statik Lua kütüphaneleri C'de yazıldığı için bunları programımıza aşağıdaki gibi import ediyoruz:

extern "C" {
   #include "lua.h"
}

int main()
{
   lua_State *L = lua_open();
   lua_close(L);
   return 0;
}


Yukardaki örneği derleyebilmek için bazı sistemlerde lualib.h ve lauxlib.h kütüphanelerini koda dahil etmeniz gerekmekte.

extern "C" {
   #include "lualib.h"
   #include "lauxlib.h"
}

23 Ocak 2010 Cumartesi

Hoşgeldin Firefox 3.6



Firefox 3.6 beta sürümü yayınlandı. Ve sonunda eklenti kurulumundan sonra Firefox'umuzu yeniden başlatma derdinden de kurtulduk. Fazla inceleme fırsatı bulamadım ama ilerleyen zamanlarda kurcalamaya devam edeceğim. En göz(üm)e çarpan özelliği ise tema desteği olmuş. Çok şık ve cicili bicili temalar da yine Firefox'un kendi sitesinden indirilebiliyor. Yine ilerleyen zaman içinde firefox için tema oluşturma konusunu da kurcalayacağım. Tabii ki edindiklerimizi de her zamanki gibi buradan paylaşacağız. Şimdiden hayırlı olsun..

19 Ocak 2010 Salı

Drupal mi? Deneyelim Bakalım..

Daha önce birçok İYS (CMS)'nin tadına bakmış birisi olarak bu İYS'lerdeki ortak sorunun tema geliştirme konusunda yeterince esnek olmayışı diyebilirim. Bu yazılımların içeriği yönetmesine diyeceğim yok ancak esnekliği konusunda tatmin edici sonuçlar alamadım. Nasıl yani? Şöyle ki; her içerik yönetim sisteminin kendine has xml/html karışımı bir dili ve kendine has komutları var. Dolayısıyla içerik yönetimi konusunda sundukları avantajı aynı oranda kişiselleştirilebilirlik konusunda sunmaktan çok uzaklar.

18 Ocak 2010 Pazartesi

Dosya Dönüştürmek İçin Bir Web Sitesi

Dosya dönüştürme işlemi şüphesiz birçok bilgisayar kullanıcısının ihtiyaç duyacağı elzem konulardan biridir. Ben de bugün daha önceden Open Office Calc uygulaması ile oluşturmuş olduğum .ods çalışmamı Microsoft Office Excel .xls dosya biçimine dönüştürmek zorunda kaldım. Birçok siteyi gezmeme rağmen işe yarar basit bir program bulamadım. Aramalarım sonucunda bu işi halledebilecek bir internet sitesi buldum. Kör istedi bir göz Allah verdi iki göz misali bir durum oldu.

Ayrıca sitenin bence en büyük özelliği ve güzelliği, birçok video paylaşım sitesinden direkt bağlantıyla görüntüyü istediğiniz biçimde kaydetmeye olanak sağlaması.

14 Ocak 2010 Perşembe

Excel'de Hazırlanmış Verileri Visual Basic 6.0'da ADODC Kullanarak Almak

Excel'de hazırlanmış verileri Visual Basic 6.0'da hazırlanmış uygulama içerisine ADODB Bağlantısı kullanarak almak için güzel bir örnek. Faydalı olacağına inanıyorum.. Kolay gelsin..


11 Ocak 2010 Pazartesi

Microsoft Internet Explorer'da Javascript Kodlarında Hata Ayıklama (Javascript Debugging)

Uzun zamandır kafama takılan fakat bir türlü araştırmaya fırsat bulamadığım İE'de Javascript hata ayıklama (debug) konusunda sonunda ufak çaplı bir araştırma yaptım. Web tasarım ve geliştirme yapan birçok kişinin de merak ettiği bir konu olduğu kanısındayım. Bu yazıda 4 basit adımda bu işi nasıl yapabileceğimizi anlatacağım. Sözü fazla uzatmadan uygulamaya geçelim.