Friday, December 24, 2010

monitoring active connections

watch -n .5  "netstat -an | grep ESTABLISHED"

Friday, December 17, 2010

monitoring sphinx status

watch -n .5 /opt/sphinx/bin/searchd --status

Saturday, December 11, 2010

thenounproject.com - free svg symbols

Bir arkadaşım gösterdi  http://thenounproject.com/ da svg formatında çok güzel semboller vardı.

Sitenin amacı kendi sayfalarında da belirttikleri gibi yüksek kalitede popüler sembolleri ücretsiz olarak dağıtmak.

Sitedeki eksik hepsini indirememek sanırım. Şunu yazarak hepsini indirdikten sonra şöyle bir baktım güzel bir arşiv oldu. T-shirt, duvar, kapı her yere yapıştırabilecek svg formatında sembollerim oldu hepsi bu :)


#!/bin/bash
NUMBER=1
while [ $NUMBER -lt 250 ]; do
  wget http://thenounproject.com/site_media/zipped/svg_$NUMBER.zip
  let NUMBER=NUMBER+1
done

Saturday, November 27, 2010

Google App Engine Çalışmalarınızda Memcache (python)

Performans ve hız için App engine üzerinden çalışırken memcache kullanmak isteyebilrisiniz.

Python ile çalışıyorsanız bu şöye yapılıyor.


from google.appengine.api import memcache
....
...
# cache deki veriyi cekmek  
output = memcache.get("memcache-key")
# cache de varmi diye kontrol
if output is not None:
        # cache de varsa onu bas 
        print output
    else:
        # cache de yoksa veriyi cek ve cache yaz 
        output = ....
        memcache.add("memcache-key", output, 120)
        print output

Saturday, November 20, 2010

my .vimrc

Her yeni sistemde temizce böyle ayarlarım hemen.

syntax on
set autoindent
set showmatch
set smartindent
set tabstop=4
set shiftwidth=4
set ruler
set backup
set backupdir=~/.vim/backup
set directory=~/.vim/tmp
set cul
hi CursorLine term=none cterm=none ctermbg=3
if has("autocmd")
  filetype plugin indent on
endif
set nu
set showcmd        
set showmatch     
set ignorecase      
set smartcase        
set incsearch         
set hidden 

Wednesday, November 17, 2010

hello from google cl

google command line tool u deniyorum

Saturday, November 6, 2010

monitoring mysql records real time with "watch" bash command

Son üç ayda en çok kullandığım mysql kayıt gözlemleme komutu şunlar gibiydi

watch -n 2  --differences "mysql dbname -e 'show processlist'"
watch -n 0.5 mysql -e \"select id,coloumn1,coloumn2 from table order by id desc limit 10\;\"

Çok işe yarayandır.
Meseleyi irdelemek için http://en.wikipedia.org/wiki/Watch_(Unix)
http://ss64.com/bash/watch.html
:)

Tuesday, October 5, 2010

"5S Methodology to Get and Stay Organized"


  • Sort (Seiri)
  • Straighten (Seiton)
  • Shine (Seiso)
  • Standardize (Seiketsu)
  • Sustain (Shitsuke)


Sunday, October 3, 2010

sosyal paylaşım sitesi olma süreci hakkında bir paragraf

Şu an popüler olan sosyal paylaşım sitelerinin bazıları başlngıçta bu amaçla kurulmamış sitelerdir. Örneğin, Çin sosyal paylaşım sitesi QQ bir anlık mesajlaşma servisi olarak, Cyworld Kore’de bir tartışma forumu olarak, Skyrock (eski adı Skyblog) Fransa’da hizmet veren bir blog servisi olarak kurulmuşlar ve zamanla hizmetlerine sosyal paylaşım sitelerinin özelliklerini eklemişlerdir. AsianAvenue, MiGente, and BlackPlanet gibi sitelerde başlangıçta etnik toplulukların kullandığı arkadaşlık ilişkisi kurabilme imkanının çok sınırlı olduğu siteler olarak yola çıkmışlar ve 2005-2006 yıllarında kendilerini yeniden yapılandırarak sitelerine sosyal paylaşım sitelerinin özelliklerini eklemişlerdir.
şurdan göz atarken alıntı yaptım : http://www.socialmediatr.com/blog/sosyal-paylasim-sitelerinin-tanimi/
başlığımı da böyle uzun tutarak başlık yeteneğinden yoksun biri olduğumu göz ününe serdim
 analiz yeteniğim hakkında da olumsuz izleni oluşturdum :) :P

Monday, September 20, 2010

"two elephant problem" için yaklaşımlar

"İki fil problemi" için yaklışamlara da değinen bu yazıdan alarak :


İki fil problemine karşı bir çok yaklasim stratejileri vardir. Yeni fili dahil edip, diğerini göndermek en radikal ve karışık yaklaşımdır. Projenin yeni bir versiyonu topluluğa sunuldu ve uygulanmaya hazır ve topluluğun değişimi kabul edip etmemesi ile baglantılı. Bu projenin tehlikeli kısmı ilk filin ayrılmaya karar verecek olabilmesidir. Bu yaklasim KDE 4.0'ı yaparken geliştiricileri tarafından kullanılmış bir yaklaşımdır. Buna tepki olarak kullanıcılar
KDE nin alternatif masaüstü için olan eski versiyonlarını kullanmaya devam etmişlerdir.Daha yeni yeni KDE kullanici kazanmaktadır.


Diğer bir yaklaşımsa yeni filin ortama tanıtılmasında topluluğun onu bir parçası olarak kabul edip edemeyeceği konusundaki karmaşayı azaltmak içindir. Bu projedeki sıkıntı ise filleri ayirmak ve onları tekrar birleştirmek cok zordur ve yeni bir versiyon icin olan herhangi bir görüs kabul görmeyebilir. Frankenstein fili işe yarayabilir ancak özgün planların seçiciliği kaybolabilir ve reddedilebilir. Bu GNOME Shell in önizlemesini, versiyon 2.28'de GNOME 3ün önemli kismini alan GNOME gelistiricileri tarafindan kullanılmıştır.Bazı raporlara göre, ön izleme ile çalışmak zordur ve bunun islemesini sağlamak için sarf edilen caba topluluğun ön izlemesinin yararlarından daha önemli olabilir.

Thursday, September 16, 2010

Two Elephant Problem

Açık kaynaklı bir proje çekirdek kodunda bir kullanıcının arayüz kütüphanesini yenilemek gibi büyük değişiklişkler yapmak istiyorsa, iki fil problemi ile karşılaşılır. İlk fil problemi var olan ve bunun daha önce uygulanmışa olan tanışıklığıdır. Geliştiricinin meydana getirmek istediği ikinci fil problemi ise projeye dahil etmek istenilen değişikliktir. Zor tarafı ise ikinci problemi birinciye uyarlamak ya da olduğu gibi problemli bırakmaktır.

Walker-Morgan'ın yazısında bu probleme karşı yaklaşımlardan da bahsedilmiş. Bir sonraki yazıda bu yaklaşımları irdeleyeceğim.

Orjinal metin :  http://www.h-online.com/open/features/The-Two-Elephant-Problem-822771.html




Sunday, September 12, 2010

Google Wave meselesi için son sözlerim


Google Wave üzerine bir çok teknik ve sosyal deneyler yaptık. Hepsi de harikaydı. Elimizde değerlendirmek üzere bir çok da veri oldu. Ancak bu yıldan sonra hizmet vermeme kararı moralimi bozdu açıkcası - link. Google Wave üzerine daha fazla deney yapmayı bırakıp Google Docs ve Etherpad üzerinden deneyler yapmaya yöneleceğim.
Kendi wave sunucumu da kolaylıkla kurabilirdim aslında, zira yıl sonuna gelmeden tam anlamıyla açık kaynak bir proje olacağı söyleniyor. Bu konuda fikrim değişebilir.

Asıl mesele bu tarz hizmetlerin sonu hep böyle oluyor. Yani herhangi bir kar amacı olmayan hatta bir gelir politikası dahi olmayan tam anlamıyla ücretsiz collaborative çalışma imkanı sunan hizmetler. Hala hizmet verenler ise profesyonel anlamda hizmet verip "pro" üyelikleri ve kuruluşlara özel destekleri ile hizmet veren servisler oluyor. Gerçi Google'un neden Wave'i kapatacaklarına dair yaptığı açıklamayı gayet anlamlı bulsam da insanlar adına utanmıyor değilim :). Ne yalan söyleyim ben de bir çok Google fanı gibi bu projenin inanılmaz derece tutacağını düşünüyordum.

Bir de kendimce çok kısa bir değerlendirme yapayım. Projenin ilgi görmemesinin nedenleri arasında ki en büyük maddelerin şunlar olabilecğeini düşünüyorum
1. Evet gerçek zamanlı ancak Etherpad kadar hızlı değil. Etherpad 0,5sn de bir eşleme yaptığını söylüyoru bence bu rakam sanki Googl Wave de daha düşük gibiydi.
2. Tester iken yaşadığımız sık sık browser çökmelerini herkesin kullanımına açıldıktan sonra da yaşamaya başladık. Kullanıcı bunu asla affetmiyor.
3. Yavaşlığı sadece yazarken gezerken değil gezinirken dahi vardı.

Bu tarz platformlar hızlı ve ararlı olmalı. Blogger'ın yavaşlaması ve hatta bir ara sık sık hatalar vermesine karşın çok büyük bir tepki gelmezken Wave'in yavaş olması ve browser çökmelerine neden olması kullanıcı tarafından affedilmedi. Teknik ya da teknik olmayan portallarda genelde bu yavaşlık meselesi konuşuldu.



Friday, September 10, 2010

kullanıcıya seslenmek gerek

Kullanıcıya sadece "Free" demek yeterli değil daha etkilisi "Free to You" gibi konuşan bir ifade kullanmaktır

Monday, August 30, 2010

İnternette Benzerlik İlkesi

"Eğer insanların bizim gibi olduğunu hissedersek, onları daha çok sevme eğilimi gösteririz. Benzer olanları sevmeyi daha kolay buluruz ya da ortak gecmisimiz ve degerlerimizi paylasabileceklerimizi. Hatta bu kıyafetlere kadar özetlenebilir.Bizim gibi giyinen insanları severiz.Sevdigimiz ve bize benzer olan insanlari satın almayı tercih ederiz."

Neuro Web Design: What Makes Them Click? p89

Sunday, August 1, 2010

The Impact of Avatar



In the case of appearance-based prejudices, a user's choice of avatar can shape social interaction in virtual worlds. In this context, the importance of avatar choice and the effects of visual embodiment on social interaction in multicultural cooperative groups are clearly crucial areas of investigation. We investigated the effects of negative social attitudes based on avatar appearance in multiethnic groups collaborating within virtual worlds.

Sunday, July 18, 2010

Monitera -media monitoring

Daha  önce kısaca  gnip'den bahsetmiştim. Gnip gerçek zamanlı olarak bir çok sosyal ağı tarayıp amacımıza uygun olarak verileri istediğimiz formatta bize verebiliyordu.

Gnip bir çok ağ ile doğrudan iletişim halinde ve sürekli yeni ağları bünyesine katıyor. Gnip kadar geniş olmasa da monitera.com da oldukça faydalı bir araç.

Monitera'yı sosyal medya kampanyalarınızın ölçümünde ve raporlamasında kullanabilirsiniz. Tüm müşteri hesaplarını tek bir ekrandan yönetebilir ve müşterilerinize özel kullanıcı tanımlayabilirsiniz. 
http://www.monitera.com/ 

Thursday, July 15, 2010

subdomainler için facebook insights

Bir sitenizin bir çok subdomaini var ve hepsini facebook insights ile takip etmek istiyorsanız bunun kolay bir yolu yokmuş efendim. Tek tek eklemek gerekmiş.

Şurda diyor ki :


As a domain administrator, you can now access sharing metrics and demographic information per domain and per URL so you can optimize your content for sharing and better tailor your content to your audience. To get started, you will need to associate your domain with a user ID or a Facebook application or Facebook Page that you administer. You can do this by clicking the green "Insights for your Domain" button on the Insights dashboard and adding the meta tag that is generated to the <head> section of the root page on your domain. If your site utilizes subdomains, the root file of each subdomain must be claimed separately.

Monday, July 12, 2010

Anket verileri önemlidir

Doğru aracı  seçmek te önemlidir. Eğer hızlı bir anket yapcaksanız ve verileriniz çok çeşitli değilse google forms kullanabilirsiniz. Ancak google forms çoğu zaman analiz sırasında yetersiz kalabiliyor. Özellikle multiple seçenekli anketler için sonuçları analiz etmek google docs ile pek kolay olmuyor.

Başka bir anket servisi ararken bir arkadaşımın tavsiyesiyle şu servisi buldum : http://www.surveey.com/

Hemen raporlamasına baktım. Anket sonuçlarımı spss için export edebilmek de cezbedici.





Tek sorulu ya da çok sorulu anketler oluşturabilirsiniz.
Çok çeşitli soru tipleriyle istediğiniz sayıda soru ve sayfadan oluşan anketler oluşturabilirsiniz.
Verilen cevaba göre şekillenen anketler oluşturabilirsiniz.
Sizin için oluşturulmuş çeşitli görünüm şablonlarından istediğinizi seçebilirsiniz.
Anketlerinizde kendi görsellerinizi kullanabilirsiniz.
Hazır raporları kullanabilir ya da cevapları dışarıya aktararak kendi raporlarınızı hazırlayabilirsiniz.
Periyodik tekrarlanan anketler oluşturabilirsiniz.

Wednesday, July 7, 2010

Zend Studio 5.5 User Guide

Zend Studio 5.5 i diğer tüm versiyonlardan çok severim. Madem kullanıyorum bir göz atmakta fayda olduğunu düşündüm :)



Zend Studio 5.5 User Guide

Tuesday, June 22, 2010

Google Command Line Tool

Google Cl diye bir şey çıkmış. Gerçekten harika.

İşte örnekleri


  • Blogger
  • $ google blogger post --title "foo" "command line posting"
  • Calendar
  • $ google calendar add "Lunch with Jim at noon tomorrow"
  • Contacts
  • $ google contacts list name,email > contacts.csv
  • Docs
  • $ google docs edit --title "Shopping list"
  • Picasa
  • $ google picasa create --title "Cat Photos" ~/photos/cats/*.jpg




Konuyu irdeleyin 

Wednesday, May 26, 2010

hız önemli mîrim

json_encode ve serialize arasındaki hız farkını bir de ben test etmek istedim hepsi bu.
Bendeki sonuç şuydu
JSON encoded in 0.17906808853149 seconds
PHP serialized in 0.4260368347168 seconds
json_encode() was roughly 137.92% faster than serialize()


Konuyu irdeleyin :
http://www.google.com.tr/search?sourceid=chrome&ie=UTF-8&q=json_encode+vs+serialize

<?php
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
$testArray = fillArray( 0, 4 );
//print_r($testArray );    

$start = microtime( true );
json_encode( $testArray );
$jsonTime = microtime( true ) - $start;
echo "JSON encoded in $jsonTime seconds<br>";

$start = microtime( true );
serialize( $testArray );
$serializeTime = microtime( true ) - $start;
echo "PHP serialized in $serializeTime seconds<br>";

if ( $jsonTime < $serializeTime )
    echo "json_encode() was roughly " . number_format( ($serializeTime / $jsonTime - 1 ) * 100, 2 ) . "% faster than serialize()";
else if ( $serializeTime < $jsonTime )
    echo "serialize() was roughly " . number_format( ($jsonTime / $serializeTime - 1 ) * 100, 2 ) . "% faster than json_encode()";
else 
    echo 'Unpossible!';


function fillArray( $depth, $max )
{
    static $seed;
    if ( is_null( $seed ) )
        $seed = array( 1,'a',2,'b',3,'c',4,'d',5,'e',6,'f',7,'g',8,'h',9,'i',0,'j' );
    
    if ( $depth < $max )
    {
        $node = array();
        foreach ( $seed as $key )
         $node[$key] = fillArray( $depth + 1, $max );
       
        return $node;
    }
    return 'empty';
}
?>