Kayıtlar

2016 tarihine ait yayınlar gösteriliyor

Ben utanaydım, ama, bunlar gerçekleşmeyeydi

Bir siyaset bilimci, ülkenin en büyük haber sitelerinden birinin sahibi ve sıradan bir müslümanın firaseti ile, AKP'nin, CHP'nin, Tarikatların, Masonların ve özellikle de Cemaat'in yapıp ettiklerinin bu ülkeyi nasıl adım adım felakete götürdüğünü yazmaya çalıştım. Beni haksız para cezaları ve davalar ile sindirdiler. Belgelidir tüm bunlar! Devleti dava ettim, kazandım. Diğer tüm davalardan beraat ettim. Türkiye'ye darbeden hemen sonra dönüşümün en büyük sebeplerinden biri, son duruşmama girmek içindir. Sitemi de bir daha açmadım. Pek çok yazımda, "Ya Rab! Ben yanılayım, beni utandır! Haksız çıkayım, ama öngörülerim gerçekleşmesin" diye yalvardığım oldu! Kürt meselesi konusunda, bir yandan, ılımlı yaklaşımı desteklerken, bir yandan, "Habur Rezaleti"ni eleştirdim, bir yandan da: "Osmanlı Osmanlı diye tutturdunuz! Bari Osmanlı'yı gerçekten anlayabilseniz! Osmanlı'nın fiilen dağıldığı 1914-18'de Balkanlar'daki bir ülkede(sanırım Bu…

Linux mmap / munmap / ftruncate / mmap implementation is buggy!

For over ten years, I've been using mmap for my own bigtable implementation.
Now, I can surely confirm that, in Linux, mmap / munmap / ftruncate / mmap implementation is buggy.
If you create a file, mmap it into memory, munmap it, extend it with ftruncate, and again, mmap it into memory, program gets corrupted in unpredictable way.
I tried every solution.
The unique workaround for this bug is to use Linux specific mremap function instead of munmap / mmap.

The bug is consistently repeated in the following scenario, for multi-threaded applications:

Create 10 files, each 2 MBytes.
MMap each file into memory in three segments(First segment, 4096 bytes memory as header, second 128*1024 bytes, and the third, the rest of the file)

Create NumOnlineProcessors * 2 thread and concurrently:
Write some data into mmap'ed segments, especially, 3rd segments.
Then, extend third segment by
  munmap
  msync
  ftruncate (Current file size + 1 MBytes)
  mmap whole 3rd segments
Repeat this process

Ben sizin anahtar müdürünüzüm!

Geçen, bilişim sektöründen bir meslektaşım, yana yakıla, liyakatsizlikten dem vuruyordu. Epey de geniş çevresi var. Bilişim üzerine eğitimler veriyor, televizyon programları yapıyor. LinkedIn'de yazdığı yoruma aldığı desteğe kendisi de şaşırmış: "Yahu bir dokundum, bin ah işittim. Demek tam zülf-i yare dokunmuşum" yazmış :) O meslektaşıma, Amerikalı siyaset bilimci Wright Mills'in, Türkçeye de "İktidar seçkinleri" olarak çevrilen "The Power Elite" isimli eseri okumasını tavsiye etmiştim. Aslında dokunduğu alan, çok derin ve karmaşık bir alan. Tamamen, siyaset bilimindeki "elit teorisi"nin konusudur. Wright Mills de, elit teorisinde dünyada en saygın akademisyenlerden biridir. Elit teorisi çok su kaldırır. Bitmez, tükenmez tartışmadır. Akademik. Politik. Felsefik. Bitmez. Bitirme tezimi siyasal seçkinler üzerine verdiğimden, hayatım boyunca da konu hakkında kafa yorduğumdan, yine düşüncelere daldım :) Hep konu hakkında bir kitap yazmak is…

Websocket-Extension: NoXORMask IETF RFC Proposal Draft

Websocket is a robust, general, widely accepted and adopted communication protocol described in RFC 6455 (https://tools.ietf.org/html/rfc6455)

The communication starts as a standard http or https request and then upgraded to persistent TCP connection of general use.

In our experience and in comments on Internet, we detected one weakness and  critics which restrict wider adoption of the protocol on Internal Networks: The mandatory masking of the frames sent from client to server, as explained in Section 5.3. of the RFC, titled Client-to-Server Masking.

Every frame sent from client to server needs to carry additional 4 bytes on the header. Frame payload must be "XOR"ed with this 4 bytes prior being sent to server. And server must repeat this process as described in RFC Section 5.3.

XOR Masking is developed for security reasons for communications on Internet over proxies. It may be acceptable on public Internet. But there is no logical reason to force XOR masking which implies …

Ölçeklenebilir mimari

Hepimiz siyasetten bıktık sanırım. Kendi adıma, hiçbir siyasi gruba ait hissetmediğim halde, bu kadar politize olmama çok kızıyorum. Bir "taraf" olup, bundan "ekmek yiyen" yığınları saymıyorum bile. Bence onlar da bıktılar. Hepimiz bıktık. Yıllardır, siyasetin hiç girmeyeceği bir sosyal medya üzerinde çalışıyorum. Aslında daha önce yazdım, çıkardım. Fakat, davalar, problemler ve yazılımda mükemmellik arayışı, projeyi ötelememe sebep oldu. Yavaş, ama sağlam adımlarla tekrar geliştiriyorum. Aslında, geliştirdiğim sadece bir sosyal medya sitesi değil: Performans ve ölçeklenebilirlik olarak dünyadaki benzerlerinin hemen tümüne fark atabilecek bir "framework"! Toplama kodlarla değil; C dili ile tamamen sıfırdan geliştirdiğim, özgün : Async event multiplexer'ı(libevent libuevent benzeri epoll & kqueue edge triggered destekliyor) HTTP sunucusu Websocket sunucusu Ölçeklenebilir cloud veritabanı(tamamen ölçeklenebilir) Mutex, futex, async mutex ve futex u…