08.Haziran.2011
Çarşamba
:: 22:22:22 |
|
Üniversitelerin bir mühendislik bölümünden (bilgisayar mühendisleri candır) mezun oldunuz, veya kendinizi "yeaaa ben istesem mühendis olurdum ama fen edebiyatta daha çok hatun var yeaa" diyerek kandırıp başka bir bölümde kendinizi bir mühendis gibi yetiştirdiniz, temel yazılım mühendisliği nosyonlarına sahip olduğunuzu düşünüyor, analitik düşünebiliyor "bilgisayar", "yazılım", "kodlama" falan diyince kalbiniz pırpır ediyor, adrenaliniz yükseliyor, Web geliştirmeye ilgi duyuyor ama "ah ulan bi öğreten olmadı" mı diyorsunuz?
Tart yeni medya mutfağı siz değerli, öğrenme aşkıyla tutuşan müstakbel developer'lar (ki biz onlara tart aşçısı diyoruz) için 4.5 haftalık "ücretsiz" bir eğitim serisi hazırladı. (bkz: Bizim zamanımızda böyle şeyler yoktu)
Birçoğu universitede veya herhangi başka bir eğitim kurumunda para vererek bile alamayacağınız eğitimleri içeren bu 4.5 haftalık, yoğun, yorucu ama bir o kadar da eğlenceli ve öğretici eğitimlerin sonunda sizlere "i know kung fu" dedirtmek, aranızdan 12 kadar çekirgeyi de dolgun bir ücretle aramıza katmak, medya mutfağımızda pişen ürünlere aşçı yapmak istiyoruz.
"aaa lan bak bu süper işte" diyenler, http://www.tart.com.tr/yazkampi/ adresinden eğitimleri inceleyebilir ve başvuruları yapabilir. Yaptığınız başvurular 25° altındaki oda sıcaklığında ve ışıktan korunarak özenle saklanacaktır.
|
|
57489 kere okundu
[#]
|
23.Mayıs.2011
Pazartesi
:: 17:45:41 |
|
Hani bazen, html kodlarken charset tanımlamayız(var mı hâla tanımlamayan?) veya olur da ne bileyim, charset tanımlamasının daha da üstünde kullanıcı tarafından değiştirilebilen bir şeyler bırakırız (title???). İşte o zaman, XSS (Cross site scripting) açıklarına maruz kalabilirmişiz az önce okudum, şaşırdım.
Tarayıcıların "otomatik dil seçimi", sayfa içinde bazı karakterler arayıp, o karakterleri belli karakter kodlamaları ile eşleştirmesiyle gerçekleşiyor. Yani, siz HTTP headerlarda veya meta charset ile karakter kodlaması belirtmezseniz, ve kodlarınızın içinde utf-8'e özel bir karakter varsa, tarayıcı tüm sayfayı utf-8 gibi yorumlayabilir.
Bu açık da bu davranışın kötü kullanılması ile oluşuyor aslında. Şöyle ki; Devamı
|
|
54440 kere okundu
[#]
|
21.Mayıs.2011
Cumartesi
:: 21:02:54 |
|
Tart mutfağında pişen bir başka private shopping sitesi olan Keyfimoda.com ile tanışın. Eminim tanısanız sizin de hoşunuza gidecek.
Brand New Tart'da yapmaya başladığımız tüm ürünler gibi bu da HTML5 ve CSS3 valid. Aynı zamanda JavaScript kodları, geliştirme sürecinde JSLint valid. CDN'ler eklendikten sonra YSlow'dan yine A aldığını da belirtmek gerek elbet.
Keyfimoda'yı, özellikle videolu ürünleri çok seveceğinizi umuyoruz :)
|
|
61527 kere okundu
[#]
|
16.Mayıs.2011
Pazartesi
:: 06:51:43 |
|
Dün, Altan ve Memo'yu da alarak 40.000 kadar insanla, yakın zamanda uygulamaya girmesi planlan internet filtresini protesto ettik.
|
|
56716 kere okundu
[#]
|
27.Nisan.2011
Çarşamba
:: 07:01:53 |
|
Ek$igator an itibariyle, 11,070 kayıtlı üye tarafından 7,931 farklı başlığın takip edildiği ancak, son zamanlarda sözlüğe gereksiz istekler yapan, kimilerince pek sevilen bir sub-etha üyesi.
Gereksiz istekler yapma sorunu aslında, bir concurrency problemiydi. Aynı başlık, birden fazla kullanıcının takibindeyse, başlığın içeriğinin sözlükten alınması süresince (yaklaşık 3-4 saniye) gelen istekler tekrar sözlüğe iletiliyordu. Aslında burada yapılan ilk istekte veri alınmaya başlanmıştı, ama diğer isteklerin bu süreçten haberi yoktu. Bu hatadan dolayı da sözlük yöneticileri, ek$igator'ın sözlüğe erişimini geçici olarak engelledi.
Bu concurrency sorununu çözmek için de geçen sene hakkında bir belge yazdığım RabbitMQ implementasyonunu gerçekleştirdim.
Bu sayede, sözlükten içerik alma istekleri bir kuyruğa alınacak, bir python betiği de bu kuyruktaki işleri işleyip ilgili cache'leri oluşturacaktı. Bu tam şoparmene göre bir işti! ve http://github.com/yuxel/eksigator adresinde bu implementasyon hayat buldu.
Artık sözlüğe gereksiz istekler gitmeyecek ve eskiden senkron yapılan, kullanıcının takip ettiği başlıkları sözlükten fetch edip ekrana gösterme (her başlık için 3-4 saniye, 20 başlık varsa 1-2 dk!!!) işlemi, asenkron hale gelecek bu sayede maksimum bekleme süresi 10 saniyeye düşmüş olacaktı.
Bu da böyle bir anımdı.
|
|
63283 kere okundu
[#]
|
21.Nisan.2011
Perşembe
:: 13:20:41 |
|
Depo yönetmek stresli iş pirim. 1 saattir kıçımdan ter akıyor. Neyse, konuya gireyim.
Bir git deposuna, yanlış (içersinde 800 kadar yanlış commitin olduğu) bir merge yaptığınız ve bu merge'ü bir de push'ladığınız zaman etraftaki insanlara "olm durun, pull etmeyin" diye, sürüm yöneticinize de "abi dur, yusf yusf, sürüm çıkma, sakın çıkma" diye bağrışmaya başlıyorsunuz. Ve biraz araştırdıktan sonra, master'daki commitleri ovverdide etmenin yolunu bulup insanlarla paylaşmış oluyorsunuz.
Böyle bir durumda, lokal deponuzda
git reset --hard HEAD^1
ile merge'den önceki hale döndükten sonra
git push origin +master:master
ile, remote'daki depoyu override edebiliyorsunuz, sonra ter siliyorsunuz.
Bu iş çok stresli iş be blog!
|
|
55111 kere okundu
[#]
|
17.Nisan.2011
Pazar
:: 15:54:11 |
|
Bugün 2. toplantısı yapıldı bu oluşumun. Amaç "Bilgisayar Mühendisleri Odası" kurmak. 4 sene boyunca, otomoto teoriyle, işlemci tasarımıyla, assemble ile, calculus ile hayattan bezdirilmiş insanların "ayrıcalıklı" olmayı geçtim, en azından eşit olmasını sağlamayı amaç edinmiş bir oluşum. Devamı
|
|
52649 kere okundu
[#]
|
15.Nisan.2011
Cuma
:: 20:39:17 |
|
6-7 ay oldu Tart'a gireli. Arnavutköy'de pek güzel bir ofisimiz vardı, kediler flan negzeldi. Sonra Arnavutköy bize dar geldi, Taksim'e taşındık. 180 derece istanbul manzarası falan :)
Tart, işleyişinde hâla bazı eksikleri olsa da, bir şirkette gördüğüm en güzel PHP ve (kendim yazdım diye demiyorum) JavaScript kodlarının olduğu yer olarak tarihe geçti bile. Devamı
|
|
61069 kere okundu
[#]
|
11.Nisan.2011
Pazartesi
:: 18:51:28 |
|
Tart'daki yaklaşık 4 aylık bir emeğin ürünü Modajenik.com bugün yayın hayatına başladı. Güzel işler yaptık modajenik'i kodlarken.
Frontend geliştirmesine liderlik(ne kötü bir laf) ettim 4 ay boyunca. Başta Altan olmak üzere, Gökhan ve Fatih'in de katkılarıyla çok güzel bir front-end çıkardık.
Nasıl bir şey mi ortaya çıkardık?
* Test ettiğimiz tüm tarayıcılarda(explorer 6'yı tarayıcıdan saymıyoruz :p) düzgün çalışan,
* YSlow'dan cdn'leri tanıttıktan sonra "A" alan,
* çok fazla özelliğini 'henüz' kullanmasak da "HTML5 valid" (sanırız Türkiye'deki tek e-ticaret sitesi :p),
* 6 satır explorer hack'i (opacity?) hariç CSS3 valid,
* JavaScript tarafında neredeyse hiç harici plugin kullanılmadan, hepsi Tart mutfağında pişmiş jQuery plugin'leri ile yapılmış JSLint valid JavaScript kodları
* Markup içinde 0 satır inline css, Google Analytics kodu hariç 0 satır inline JavaScript
* ExtJS ile ortaya karışı bir admin paneli
Tabii ki bunlar bizim için yeterli değil, hatalarımızın, eksiklerimizin farkındayız ve hem kendimizi, hem ürünleri geliştirmeye devam ediyoruz :)
Bizi takip edin anacım!
|
|
55185 kere okundu
[#]
|
10.Nisan.2011
Pazar
:: 13:05:27 |
|
Galiba, dahili ilk hata konsolu ile gelen tarayıcıdır Opera. Ama bu "ilk"liğini mâlesef koruyamamıştır. Firefox firebug ile dünyayı değiştirmiştir.
Nasıl ki "cep telefonu olmadan birbirimizi nasıl buluyorduk yeaaa" diye serzenişte bulunuyorsak, "firebug olmadan, nasıl frontend kodluyorduk daha önce yeaaa" diye de serzenişte bulunuyoruz yıllardır.
Velhasıl, Opera biraz aklını başına aldı geçtiğimiz yıllarda, CEO değişti flan, ve Opera, Dragonfly'ı duyurdu, bunu da açık kaynak yaptı.
Henüz, bir sürü eksiği ve "oha epic fail" diye karşılayabileceğimiz şeyi var Dragonfly'ın ama gelişmeye devam ediyor.
Bu gelişmeye az da olsa katkımız olunca da, Opera beni "contributor list"e eklemiş :) Tamam, geçen seneki iş görüşmesinde, bir methodu senkron yazdım, bir methodu da çok iyi implemente etmedim diye işe almamış olabilirler ama olsun seviyorum kerataları ;)
Kendilerine teşekkür ediyor, "remote debugging"e ihtiyaç duymayan bir dragonfly isteğimizi tekrarlıyoruz.
Aha bu da resmi
|
|
56884 kere okundu
[#]
|
25.Mart.2011
Cuma
:: 20:56:45 |
|
Dün, geliştirmekte olduğumuz bir e-ticaret portalının önyüzünü kodlarken çok garip bir olayla karşılaştık.
Basitleştirilmiş olarak, aşağıdaki gibi bir senaryomuz vardı.
Devamı
|
|
57608 kere okundu
[#]
|
16.Mart.2011
Çarşamba
:: 20:53:02 |
|
Modajenik.com'u hazırlarken, HTTP 1.1 RFC 2616'daki " A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy"den dolayı, CDN kullanma kararı aldık.
Resimler, http://img.modajenik.com, stil dosyalarını http://css.modajenik.com, JavaScript dosyalarını da http://js.modajenik.com'dan gelecek şekilde ayarlamıştık.
http://modajenik.com üzerinden yapılan isteklerde hiçbir sorun yoktu. Taa ki URL şeması, bazı sayfalarda (ödeme sayfası) https olarak değişene dek. Devamı
|
|
62171 kere okundu
[#]
|
13.Mart.2011
Pazar
:: 11:05:53 |
|
Git ile sürüm kontrolü yaptığınız bir sunucuda, yaptığınız çoğu işlemden önce veya sonra, bazı hook'larla, bazı kontrolleri yapabilir (yazdğınız kod belli bir standarda uymuyorsa push'a izin vermemek gibi), veya gerçekleşen bir işlemden sonra bir yere mail atabilir, bir dosyayı başka bir sunucuya taşıyabilir, bir kuyruğa "dosyalar geldi, sen bunları deploy et" diyebilirsiniz.
Örnek olarak, "sunucuya yapılan push'lardan sonra, sunucudaki bir dizine git, bu dizinde 'git pull' çalıştır, ki değişiklikler anında yayında olsun" gibi bir senaryo için, "post-receive" hook'unu kullanabilirsiniz.
post-receive, sunucuya yapılan push'lardan sonra, her obje fetch edildikten sonra çalışır. örnek hook'lar, sonunda ".sample" olarak bulunuyor. Bu senaryo için post-receive.sample dosyasını post-receive olarak değiştirdikten sonra, dosyayı düzenlememiz gerekiyor. Dosyanın en üstündeki "#!/bin/bash" shebang'inden de anlıyoruz ki, burada bash komutları yazabiliyoruz. "âla" diyip, hemen, şöyle bir kural yazdım Devamı
|
|
57373 kere okundu
[#]
|
05.Mart.2011
Cumartesi
:: 01:10:23 |
|
Mustafa ile oturup 1 haftada yazdığımız, garip sosyal konum bilgilendirme servisi
Yiyin gari : http://cevremdenevar.com/
|
|
60374 kere okundu
[#]
|
03.Mart.2011
Perşembe
:: 04:28:03 |
|
Konserini kaçırmadığıma en sevdiğim gruplardan birisi de röyksopp. Onlar da Senior'daki en güzel parçalardan biri olan Forsaken Cowboy için bir single çıkarmış. Kendinden "keyboard milk"'li geliyor single, âla.
|
|
60537 kere okundu
[#]
|
03.Mart.2011
Perşembe
:: 04:14:22 |
|
Konserine gidemediğime en çok üzüldüğüm grup, Daft Punk. Yine yerinde durmamış Tron Legacy için efsanevi bir soundtrack hazırlamış. Albüm yüzünden filmi izleyeceğim o derece. Bir yerlerden bulun dinleyin efem.
|
|
63542 kere okundu
[#]
|
26.Şubat.2011
Cumartesi
:: 03:27:17 |
|
Bugün, Özgür Web Teknolojileri Günleri'ne de imza atan, Yeditepe Üniversitesi Bilgisayar Topluluğunun ev sahipliği yaptığı 7. Bilgisayar Mühendisliği Öğrencileri Kongresi'ne katıldık. "Mezun olalı 6 sene olsa da hala içindeki öğrenciyi öldürmemiş bir insanım" desem de inanmayım. Yemişim öğrenciliği, RMS geldi bugün!
7-8 sene önce Türkiye'ye geldiğinde öğrenciydik, gelip göremedik reisi. Bugun gittik dinledik kendisini.
Özgür yazılımın "gerekliliğini" zero-indexed olarak 4 maddede sıraladı (0,1,2,3) Free Software Song'u canlı okudu, "google docs gibi servisler sizi yönetir. yazılım sizi yönettiği sürece özgür değilsiniz!" buyurdu.
"Patent ofisleri, bizim for loop, if else statemetn dediğimiz şeylere 'icat' diyor, bunlara karşı savaşmalıyız" dedi, "nasıl savaşacağız, koca ibm, koca microsoft bunlar?" diye sorduğumda da "toplanın, mahalleden, kahveden adam toplayın, you'll be free hackers" dedi.
Bir de bizimle resim çektirdi
|
|
56086 kere okundu
[#]
|
15.Şubat.2011
Salı
:: 16:56:02 |
|
Yaklaşık 9 sene önce başlayan, GNU/Linux maceramda her daim KDE daha önde oldu Gnome'dan. Herkes, "KDE çok yavaş yeaaa" derken, KDE her zaman benim bilgisayarımda çok daha hızlı çalışır olmuştu.
1 sene kadar önce KDE4'e geçtim. Çok şey eksikti. "QT4'e port edelim, stabil olmasın ama port edelim, geleceğe yatırım yapalım" diyen KDE ekibi, galiba benim gibi sadık bir kullanıcıyı kaybetti.
Gnome çokgzel lan!
|
|
48973 kere okundu
[#]
|
|
|
Takvim |
|
|
< Ekim 2023 > |
P | S | Ç | P | C | Ct | Pz |
| | | | | | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
|
|
|
|
|
|