20 Mart 2017 Pazartesi

Google & Biz

Google'ın hakkımızda ne kadar çok şey bildiğinin bir göstergesi olan MyActivity sitesi; sizin Google üzerinden hangi günde hangi veriyi arattığınızın datalarını loglamaktadır. Siteye giriş yapmak için tek ihtiyacınız olan şey kendi Google hesabınıza girip aşağıdaki linki tıklamak.  

19 Mart 2017 Pazar

HTML Editörleri

Geliştirilmiş çok sayıda HTML editörü bulunmaktadır. Bunlar arasında sıklıkla kullanılanları aşağıda listelenmiştir. Bu editörler sadece HTML betik dili için değil diğer pek çok web tabanlı dil içinde kullanılabilir. Örnek (JS,PHP,CSS,vb)

Ücretsiz HTML editörleri
Notepad++ (https://www.notepad-plus-plus.org)
Atom (https://atom.io/)
Sublime (https://sublime-text.en.softonic.com/download)

Ücretli HTML editörü
CofeCup Html Editör (www.coffeecup.com/html-editor)

17 Mart 2017 Cuma

Sinyalin yorumlanması

Bireyin görmesi fiziksel ve algısal sınırlara sahip olan yüksek düzeyde karmaşık bir etkinliktir ve ortalama bir insan için temel bilgi kaynağıdır. Görme kabaca 2 aşamaya ayrılabilir:
Dış dünyadan gelen uyarıcıların fiziksel karşılanması, görsel algılanması Bu uyarıcıların işlenmesi ve yorumlanmasıdır. Görme ışıkla başlar. Göz ışığı alan ve elektrik enerjisine dönüştüren bir mekanizmadır. Dünyadaki ışık nesnelerden yansır ve görüntüsü gözün arka tarafında retina üzerinde baş aşağı şekilde odaklanır. Gözdeki algılayıcılar bu görüntüyü beyine iletecek olan elektrik sinyallerine dönüştürür.

Gözün boyut, derinlik ve göreli uzaklıkları nasıl algıladığını anlamak için retina üzerinde görüntünün nasıl oluştuğunu bilmemiz gerekir.

Nesneden yansıyan ışık retina üzerinde baş aşağı bir görüntü oluşturur. Bu görüntünün boyutu görüş açısı olarak belirlenir. Eğer gözün önündeki bir noktadan nesnenin üstündeki bir noktaya bir doğru, aynı noktadan nesnenin altındaki bir noktaya bir doğru çizersek, bu iki doğru arasındaki açı bize görüş açısını verir.

Görüş açısı hem nesnenin büyüklüğünden hem de göze olan uzaklığından etkilenir. Eğer iki nesne aynı uzaklıkta ise büyük olan daha büyük görüş açısına sahiptir. Benzer şekilde aynı büyüklükte fakat farklı uzaklıktaki nesnelerden ilerideki daha küçük görüş açısına sahiptir.

Bir nesnenin görüş açısı büyüklüğünü algılamamızı etkiler. Eğer görüş açısı çok küçükse bütünü algılamamız zorlaşır.

Parlaklığı Algılama
Işık düzeylerine gösterilen öznel tepkidir.
Nesnenin yüzeyine düşen ışık miktarı ve yansımadan yani parlaklığından etkilenir.
Göze çarpan farklılıklar ölçülebilir.
Görüş keskinliği titreşerek değişen parlaklıkla artar. Göz bunu sabit olarak bir ışığın hızlıca açılıp kapanması olarak algılayacaktır.
Rengi Algılama
Renk yoğunluk ve doyumdan oluşur.
Renk ışık tayfının dalga boyu tarafından belirlenir(mavi kısa, yeşil orta, kırmızı uzun)
150 farklı rengi ayırt edebiliriz.
Yoğunluk rengin parlaklığı, doyum ise renkteki  beyazlığın miktarıdır. Yoğunluk ve doyumun çeşitlenmesiyle 7 milyon farklı rengi algılayabiliriz.
Kadınların %1’i erkeklerin%8’i renk körüdür ve en çok kırmızı ile yeşili ayırt edememektedirler.

 



İnsan Bilgisayar Etkileşimi Nedir?

İnsanların bilgisayarla etkileşimini inceler. Disiplinler arası bir alandır. İnsanın ve bilgisayarın etkileşimi arayüzler aracılığı ile sağlanır. Kavram tarihsel adlandırma sıralaması ile insan makine etkileşimi, bilgisayar insan etkileşimi ve son olarak da insan bilgisayar etkileşimi ile adlandırılmaktadır. Bilgisayar bilimlerinin yanında pek çok alanla ilgilidir. (Tasarım,antropoloji, psikoloji,felsefe,yapay zeka gibi) Bu arayüzler yazılımın bir aracı olabileceği gibi çeşitli donanım bileşenleri de olabilir.

İnsanlar bilgiyi işlemede kapasiteleri ile sınırlıdırlar ve tasarım için bu önemli bir unsurdur. İnsan etkileşimli sistemler ile ilgili bütün tartışmaların merkez karakterinin insan olduğunu söyleyebiliriz.
Burada geçen insan kavramını sadece tek bir kişi olarak  düşünmemeliyiz. Herhangi bir kurumda çalışan ve aynı işle uğraşan insanlar, çalışma grupları gibi bir dizi insan da bu kavramı belirtebilir.

Bilişsel psikolojinin alt basamağında yer alan insan psikolojisi her ne kadar etkileşimli tasarım konuları ile ilgili değilmiş gibi dursa da ve bu konuya uzak görünse de aslında oldukça ilgilidir. Çünkü etkileşimli bir tasarım yapabilmek için öncelikle kullanıcının becerilerini ve sınırlılıklarını bilmek gerekmektedir.
İnsanlar dünyayı nasıl algılıyor?
Bilgiyi nasıl işliyor ve nasıl saklıyorlar?
Problemleri nasıl çözüyorlar?
Fiziksel olarak nesneleri nasıl kullanıyorlar?

Bu konuda mevcut modellerin olduğunu söyleyebiliriz. Örneğin 1983 yılında Card,Moran ve Newell’ın tanımladığı “İnsan İşlemci Modeli”dir. Bu modelde algısal sistem, hareket sistemi ve bilişsel sistem bulunmaktadır ve bütün bu sistemlerin her biri kendi işlemci ve belleklerine sahiptir.


15 Mart 2017 Çarşamba

IBM'in Quantum Bilgisayarında Kod Yazın

Bundan 5-10 yıl öncesine kadar sadece teorik olarak anlatılan quantum bilgisayarları artık gerçek.
Quantum bilgisayarları klasik bilgisayarların aksine sadece 1 ve 0 ile çalışmaz. Hem bu deyerleri hemde bunun arasında bulunan sonsuz sayıda değerden birini (quantum çakışması ile) alabilir. Quantum bilgisayarlarda QBit (Quantum Biti) sayısı arttıkça ortaya çıkabilecek olasılık sayısı exponansiyel olarak artmaktadır. 2n (n= QBit) bu olasılık imkanı quantum bilgisayarlarını şuanda kullandığımız bilgisayarlarla kıyaslanmayacak kadar çok büyük bir hız avantajı getirmektedir. Şuanda Dünya üzerinde bildiğimiz en büyük quantum bilgisayarı 20Q Bitine sahiptir. Önümüzdeki yıllarda Quantum bilgisayarları; arama algoritmaları, şifre kırma çalışmaları, big data çalışmaları, DNA analizi çalışmaları gibi diğer pek çok alanda kullanılması düşünülmektedir. Ayrıca Quantum bilgisayarlarının çalışabilmesi için 0 Kelvin  (–273,15 Co) soğukluğuna ihtiyaç duyulmaktadır. (süper durum olasılığı için)


IBM'in Quantum Bilgisayarı

IBM Quantum deneyimini başlattı.  Herkes için kuantum hesaplama isimli bu  inisiyatifin temel taşı gerçek, çalışan bir quantum bilgisayarını herkesin kullanımına sunmak. Yazdığınız kodları IBM'in sağladığı 5Q Bitlik (5 Quantum Biti) makine üzerinde cloud olarak çalıştırabilirsiniz (kodları internet üzerinden IBM'in quantum bilgisayara aktarabilirsiniz sırası gelen kod o bilgisayar üzerinde çalışır). Quantum bilgisayarına kod yazımını kolaylaştırmak için (gerçekten oldukça karmaşık bir iş) IBM 5Q Biti gitar tellerine benzeyen bir araç ile kullanımımıza sunmuş. IBM'in bu girişimi öncesi sadece birkaç üniversite veya kurum quantum bilgisayarını kullanabiliyorken bugün https://quantumexperience.ng.bluemix.net/qstage/#/editor isimli internet adresini açan ve üye olan herkez bu deneyimi yaşayabilir.

Ilk Kodlar

IBM'in Quantum bilgisayarını kullanmak için bir arama algoritması olan Grover algoritmasını kullandık. Grover algoritması, yüksek olasılıklı bir kara kutu işlevinin benzersiz girdisini kullanarak belirli bir çıkış değeri üreten (aranan sayıyı yüksek bir olasılık ile bulan) bir quantum algoritmasıdır. Ilk kodlar için bu algoritma IBM'in verdiği editör kullanılarak sembollerle aşağıdaki ekrana yazılmıştır. Bu iş için sadece 2QBit kullanılmıştır. (Oluşturulan kodlar yan tarafta gözükmektedir.)

 

Oluşturulan ve IBM'in Quantum bilgisayarında çalıştırılan kod, her seferinde 4 farklı değer içerisinden bizim istediğimiz değeri tek seferde bulmaktadır. Klasik bilgisayarlarda bu arama işlemi 1/4 olasılıkta gerçekleşirken quantum bilgisayarı aradığımız veriyi 4 olasılık arasından hep ilk tahmininde bulmaktadır. Nasıl? diye soruyorsanız aşağıdaki videoda quantum bilgisayarlarının nasıl çalıştığı en basit haliyle anlatılmıştır (ingilizce).




14 Mart 2017 Salı

Sanal Gerçeklik için Üretilen Yazılımlar ve Uygulamalar

Sanal Gözlük için Üretilmiş bir Bilgisayar Oyunu



Sanal Gözlük ile Google Street View


Sanal Gözlük Paint


Holoportations


Microsoft HoloLens (Fiyatı 3000$)



The Virtuix Omni (Fiyatı 10.000$)

İlk sanal gerçeklik platformu. Sistemin web adresi: http://www.virtuix.com/





13 Mart 2017 Pazartesi

Yazılımları Test Ederek Para Kazanın

Yazılım üretiminde karşılaşılan en önemli problemlerden biri olan yazılım hatalarının bulunması ve bulunan bu hataların düzeltilmesi hayati derecede önemlidir. Yazılımlarda bulunan hataların tespiti için yazılımların test edilmesi gerekmektedir. Yazılımların test edilmesi yaklaşımı temel olarak Black Box ve White Box denilen test yöntemleri ile gerçekleştirilmektedir.

Yazılımları White Box testti  için geliştirilen bazı otomatik test araçları olsada (aşağıda listesi verilmiştir.) yazılımların test edilmesi oldukça maliyetli bir iştir.
  • Açık kaynaklı test araçları: Selenium, Appium, Jubula, SoapUI, Robotium, Calabast.
  • Ticari araçlar: HP QTP, TOSCA, IBM Rational Functional tester, Ranorex

Yukarıda verilen araçlar haricinde, yazılımları bir fill kullanarakta; yazılımlar test edilebilir ve yazılımlarda bulunan hatalar ortaya çıkarılabilir. Yazılımları kullanarak test etmeniz için geliştirilmiş çeşitli web uygulamaları bulunmaktadır. Bu sistemlerdeki uygulama testleri yapılarak aylık 100 ila 200$ civarında gelir elde edilebilir.


TestBirds

TestBirds sitesi; website testti yada mobil app testti yapabileceğiniz bir web uygulamasıdır. TestBirds sitesi kullanılarak gelen testleri (işleri) belirlenen zaman içerisinde yaparak ücret kazanmak mümkündür. Sistem üzerinden gerçekleştirilen testlerin kabulüne göre en az 5 Euro kazanılmaktadır.(Yaptığınız testtin kalitesi ve verilen testlerin zorluğuna göre ücret 10 kat artabilir.) Ayrıca yazılımları test ederken hatalar bulursanız bulduğunuz hatanın önemine göre 0.5 Eruo ile 5 Euro arasında ek miktarlar hesabınıza yansıtılmaktadır. 
Test Birds (www.testbirds.com) sitesine kayıt olduktan ve bilgilerinizi sisteme girdikten sonra, yazılımları hangi araç ile test edeceğinizi belirtmek için sisteme 1 adet araç tanımlamanız gerekmektedir. TestBirds sitesinde hem mobil uygulamalar hemde web site testleri yapıldığı için 1 PC ve 1 Mobil araç tanımlamanız elde edeceğiniz geliri arttırmak açısından avantajlı olacaktır.(İlk başta sadece bilgisayar tanımlayın)
Sistemde para çekme limiti 10 Eurodur ve direk olarak verdiğiniz IBAN adresine ücretler yatırılmıktadır. (Çekme isteği verildikten sonra kazandığınız tutar direk olarak banka hesabınıza yansımaktadır.)
Bu sistem kullanılarak kazanılan tutarın yanı sıra elde ettiğiniz deneyim sayesinde uluslararası alanda iş yapma beceriniz artacaktır.


Aylık 100 Euro gibi bir ücret kazanılabilir. Ayrıca yazılım testleri yapılarak kazanç elde etmek için kullanılacak çok sayıda alternatif web uygulamasıda bulunmaktadır.
Diğer Alternatifler
https://www.usertesting.com/ (Test başı kazanılacak tutar 10-15 Euro Testlerin tamamlanma süresi 45-60 dakika, sistem tarafından küçük bir sınava tabi tutulduktan sonra para kazanmaya başlıyorsunuz.)
https://www.userlytics.com/tester-signup (Test başı ücret; 10$ ile 100$ arası. Sistemde bulduğunuz her ilave hata için ek üçretler kazanabilirsiniz.)
https://www.userlytics.com/tester-signup (Aylık 200$ kadar ücret kazanabileceğiniz başka bir test plantformu)
(Mobil uygulamaları veya web sayfalarını test ederek use caseler tamamlayarak para kazanabileceğiniz bir başka sistem aylık 100$ kazanabilirsiniz.)
(Her bir test için 10$ kazanabileceğiniz bir sistem. Mobil uygulamaların testti için geliştirilmiş bir yapıya sahip. Her bir test için 10$ kazanabilirsiniz testlerin yapılış süresi 45-60 dakika  arasında değişmektedir.)
Burada verilen bilgiler tamamiyle bilgilendirme amaçlı olup asıl detaylar sistemlerin web sitelerinde bulunmaktadır.

7 Mart 2017 Salı

Örnek 9: ctime() Fonksiyonu ile Tarih Yazdırma


Tarih/Saat Faonksiyonları (time.h) –clock() Fonksiyonu






Örnek 10: clock() Fonksiyonu




Tarih/Saat Fonksiyonları (time.h) –difftime() Fonksiyonu





Örnek 11: difftime() Fonksiyonu



Tarih/Saat Fonksiyonları (time.h) –asctime(), ctime(), localtime() Fonks.



Tarih/Saat Fonksiyonları (time.h) –asctime(), ctime(), localtime() Fonks.

Fonksiyonlarda kullanılan tm yapısı aşağıdaki gibidir:
struct     tm {
    int    tm_sec;    /* saniye,    (0 - 59) */
    int    tm_min;    /* dakika,    (0 - 59) */
    int    tm_hour;   /* saat,      (0 - 23) */
    int    tm_mday;   /* ayın günü, (1 - 31) */
    int    tm_mon;    /* ay,        (0 - 11), 0 = Ocak */
    int    tm_year;   /* yıl - 1900 */
    int    tm_wday;   /* haftanın günü, (0 - 6), 0 = Pazar */
    int    tm_yday;   /* yılın günü,(0 - 365) */
    int    tm_isdst;  /* gündüz  (-1/0/1)     */
};


Örnek 8: asctime() ve localtime() Fonksiyonları ile Tarih Yazdırma