Unity ve Kullanıcı Deneyimi

Bugünden 5 saat, önceki günden 2 saat en az 7 saattir Unity kullanarak, -sadece 1 düğmeden oluşan- basit bir mobil oyun/uygulama denemesi yapmaya çalışıyorum.

Jeff Han‘ın EFSANE Ted sunumundan sonra, kaç yıl boyunca bu teknolojiye dokunmayı beklemiştim. Steve Jobs‘un ortalığı karıştıran sunumunu ise virüsü bulaştırdığım bir arkadaşımla birlikte izlemiştik ve sabırsızlıkla Iphone’un Türkiye’ye gelmesini bekledik.

 

 

Uzunca bir süredir, bu dokunmatik ekranlar beni cezbetse de; kodlardan, robotlardan, tasarımdan borsa ve coinlerden zaten yemek yiyecek zaman bulamazken bir de başıma “uygulama yapma” işi bulursam eyvah eyvah… diyordum.

Ve sanki kaçınılmaza yolculuk gibi.. Kıramayacağım bir  arkadaşım kanalıyla, uygulama şöyle dursun mobil oyun işi geldi buldu beni.

Şu anda sadece görsel tasarım tarafındayım ama bir başka kaçınılmaz daha yaklaşıyor gibi 🙂

Henüz ışınlanma gerçekleşmediği için  dosya göndermek ya da drive’daki dosyanın linkini iletmek için iş dünyasındaki en güçlü iletişim aracı halen e-mail. Email’in aynı anda hem güzel hem de kötü tarafı ise EşZamanSızlık.

Bazen hazırladığım bir görselin, telefonda oyunun içinde nasıl göründüğünü test etmek istiyorum ancak Unity’nin başındaki arkadaşla denk gelişebildiğimiz zamanlar az.

Programı kurup kendim bakayım dedim.

Vee.. Aleyküm Selam programcı kafası!


Programcı kafası:
Bir şey çalışıyorsa, çalışıyordur.
Başka bir şeye gerek yoktur.

I never liked that and I’ll never like

Üniversitelerin programcılık bölümlerinde Ambalaj ve Ergonomi dersleri, spesifik olarak da
UI: User Interface: Kullanıcı Arayüzü ve  UX: User Experience: Kullanıcı Deneyimi konuları zorunlu olmalı bence.

Apache gibi internetin göbeğinde  bir teknolojiye bakalım:

Yani, kullandığımız her 3 siteden 1’i, adresini yazıp enterladığımızda, bize Apache ile cevap veriyor. Görüleceği üzere “internetin göbeğinde” tabiri laf olsun diye söylenmiş bir tanım değil, harbiden öyle.

 

Peki bir de Apache’nin kendi sitesinde, dağıtım sayfasına bakalım:

 

Programcı kafası diyecek ki; “İşte ne güzel hepsi sade bir şekilde, klasörler halinde”. Ben de diyeceğim ki “Daha oraya gelmeden, HTML default ayarları böyle olmak zorunda değil ki!”. Atıyorum varsayılan font, Roboto ya da OpenSans benzeri etli tırnaklı ya da etsiz tırnaksız fontlar ya da bunların kombinleri pek ala olabilirdi. Hatta H1, H2, ve H3 default fontları farklı olabilirdi. Abartayım 🙂  HO1, HO2 ve HR1, HR2 gibi elementler bile olabilirdi.

Unity‘de de benzer durum var. Bi tane kurulum başlatıcı indiriyorum. Ama bu başlatıcı nasıl bir bir işletim sistemini kullandığıma bakıp, ona göre kurulum dosyaları indirmek yerine, bir süre çalışıyor ve
“E ama siz 32bit kullanıyormuşsunuz, 64bit çalışmaz ki” diyor 🙂
“İyi de başlatıcı kardeş, bu TAM olarak Senin Görevin. Bana uygun, en son versiyonun dosyalarını indirmek ve kurulumu başlatmak.” 

“Peki” deyip, kendime uygun kurulum dosyasını indirip, kurulumu başlattım. Bu esnada bana ne amaçla kullanacağımı falan sordu, Android ve VR seçtim.

Kurulum bitince, bi tane asset-görsel ekleyip “Build”‘e bastım.

Ne dese beğenirsiniz, Android Studio hangi klasörde diyor.  Bu bir şaka olmalı. Ama değil. Şaka gibi olan şey programcı kafası. Güzel abim, sen sordun, ben de dedim ki “Android için kullanacağım”. Bu sana lazımsa neden paketin içinde yok veya indir miyorsun? Hadi çok kibarsın, izinsiz bir şey yapmıyorsun. En azından “bu da lazım indireyim mi” diyen bi buton sun, ben de basayım.

Neyse, Android Studio’un ilgili versiyonunu indirdim. SDK klasörünün nerede olduğunu söyledim. Bu sefer de JDK soruyor.. Allahım ya!

Onu da bulup indirdim. Hadi görelim artık diye bastım. Yine hata! Hem bu sefer başka programlarla alakalı değil, Unity’nin kendi içinde, işlemlere başlayıp onca beklettikten sonra değil, basit bir kontrolle, Önce com.Uretici.urun ekranı açarak çözebileceği bir hata..

Şunu kabul ederim: “Kardeşim adamlar 1500$’lık programı bedava veriyorlar. Ve bir an önce projenin ayağa kalkması için, süse püse ya da ek zaman gerektirecek aksiyonlara gerek olmadan bir önce çıkması için “koşan” bir program çıkarmışlar, ne güzel.”

Evet bu çok mantıklı ve kabul etmenin ötesinde desteklerim de.  Fakat 2005‘ten bu yana var olan bir programda, yukarıda bahsi geçen türde Kullanıcı Deneyimini iplemeyen özellikler olmamasını bekliyor insan..

Diğer yandan .. hata kodu çalışıyorsa kontrol yapılıyor işte, öyle önceden çalışacak bir ekrana gerek yok. değil mi :))

 


Görseller: Üçüncübinyıl, Apache, Netcraft,

Işınlanma sorunları

 Hişş.. Çaktırma.

Işınlanmayı bulduk(?) ama bazı sorunlar yüzünden halka açmakta tereddüt ediyoruz 🙂

Öyle edebi olarak veciz olmayan ama hayli matematiksel bir sözü tırnak içine almak istiyorum:


Önde gitmiyorsan, arkada kalırsın

Kabul pek affilli değil ama gayet doğru. Işınlama da eli kulağında ve hemen geldi geliyor bir teknoloji değil ama yine de biliyoruz ki, her şey önce hayalde başlar. Nitekim, “nitekim” kelimesine aşina olanlar bilir ki Kara Şimşek’te hayal edilmiş pek çok teknolojiyi şu anda bizzat kendilerimiz kullanıyoruz.

Son Dakika

Sayın seyirciler sonunda oldu: Atanamayan öğretmenler Işınlanmayı başardı. Malum binlerce üniversite mezunu genç öğretmen adayı atanmayı bekliyordu, beklerden bari boş durmayalım deyip bir araya geldiler. Ve bir arkadaşlarını memleketine ışınlanmayı başardılar.

Bir cevtelin uzunluğu nasıl ölçülür?

Klasik fizikte X = V x t gibi bir formülümüz var malum. Söz konusu buluş klasik fizikle uyumlu ise V hızı saniyede 300.000 kilometreyi geçemediği için mesela Mars’a ışınlanmak 3 dakikadan fazla sürecektir. “Sana sevgi pıtıcığı Plüton’dan baktım ey aziz İstanbul” demek içinse 7 saate ihtiyaç olacaktır. Bi dönüşü var etti 14 saat.

Olmaz. Olmamalı. Işınlanma klasik fiziğe göre bulunmuş olursa evet çook ultra bir şey olur ama yine de adına ışınlama denir mi tartışmak lazım.

Peki. Dolanıklık, süper poziyon, aynı anda iki yerde birden bulunma gibi Quantum  gariplikleriyle bulunmuş olsun.

 

 

Bu durumda t=0 değeri için Mekan olgumuzu da yitirmiş olacağız. Dünya’nın ya da daha özelde Kansas’ın nerede olduğunu bilemiyorsak; Kansas’a gitmek yerine Kansas’a ebediyen bye bye diyebiliriz.

Cetvel problemi gibi, “Nereye gitmek istiyorsun?” sorusu gizli cümle olarak “Neredesin?” sorusunu da barındır. Diyelim ki kampanyadan yararlanıp 3 fiyatına 5 kullanımlık Işınlama paketi satın aldım. “San Francisco”ya ışınlamak istediğimde, ışınlanma merkezinin beni nereden alacağını bilmesi gerekir ki Uşak’tan alıp San Francisco’ya ışınlasın.

 

Keman kutusunun Organik maddeleri tanıması

Öyle merkezi bir sistem değil de Keman Kutusu büyüklüğünde alıp eve götürebileceğimiz kadar küçük ve ucuz bir cihazla ışınlama mümkün olmuş olsun.

 


(Bu arada, uzun zamandır kullandığım bir Film puanlama listem var. Ve Predestination bu listeye zirveden giriş yapan çok ender filmlerden. İşi gücü bırakıp bu yazıdan hemen sonra izlemeniz lazım. Çocuk/bebek/patron gibi laftan anlamayan kısıtları olanlar, unutmamak için hemen şu anda alarm kurun 😉 o kadar yani.)

 

Bu cihazın, BEN’im tırnağımın ucundaki elektron ile ona oda sıcaklığını hissettirmekte olan elektronu ayırt edebiliyor olması lazım. Ki benzer şekilde 120 cm üzerimde turan tavanın atomlarıyla birlikte beni ışınlamasın. Aksi halde San Francisco maceramın daha ilk saniyelerine beyin kanamasından gidebilirim 

Bilim kadınları bi koşu laboratuvara gidip organik ve in-organik maddeleri tanıma modülü geliştirsin. (ne oldu? bilim adamları deyince ayrımcı olmuyor muydu?)

Evet bu, boyumuzdan büyük işlere kalkıştığımız için daha ışınlanırken tepemize taş yağma sorununa çözüm olabilir. Lakin ki o cihazın yine de ortamda bulanan diğer-organik-kişiler ile ben-organik-kişisini ayırt edebiliyor olması lazım. “Aa bu parmaklar, soyulmuş mandalin? Tüh ya! Tam ışınlanırken kardeşim odaya girmiş” demek istemeyiz. Hatta sinek, kelebek, karınca gibi diğer minik canlıları da ayırt etmesi lazım ki George Langelaan ve David Cronenberg, “e biz size bunu ta 1986’da söyledik” diye başımıza artizlenmesinler.

 

Işınlama Merkezi

Ev ve iş yeri gibi alelade mekanlarda bu iş olmayacağını anladığımıza göre mega steril ortamlar şart. Önceki adımdaki “Merkezi” sisteme geri döndük. :|S

Böyle merkezlerin bizi, bizim dışımızdaki diğer her şeyden ayırt ettiğini düşünelim. Bu durumda, ışınlanacak olduğumuz, hedef bölgedeki ışınlanma merkezinde, yararlı bakterilerin vücudumuza geri enjekte edilmesi gibi önemli detayların da düşünülmüş olması lazım.

Atom by Atom

Bu süreçleri irdelerken atladığımız bir şey var. Kişiyi Ağyar’dan ayıt ettik ama ışınlanan kişinin kendi topuğu(ndaki atomlar), sırtına ışınlanırsa ne olacak?

Demek ki, tek tek her bir atomun eterdeki(?) yerini not edip, karşı tarafta müthiş bir hassasiyetle bu konumlara göre yerleştirmemiz gerekiyor.

Dolanıksak aynı mıyız?

Neden hep atomları ayırıp-bileştirmeyi düşünüyoruz ki? Belki de tamamen farklı bir bakış açısıyla yapılacak.

Örneğin; Dolanıklık kullanarak. bir elektrona ait bilgiler karşıdaki başka elektrona aktarılırsa -ki ŞUAN 1400+ km menzilde bu yapılıyor!– ve tırnak ucundan saç ucuna tüm her bir parçacık için bunu yaparsak pek ala karşıda bir klonumuz olabilir. De, O biz olur muyuz? Ya da kendimizden 20 tane olduğunda krediyi kim çekecek kim geri ödeyecek?

İyi de öğretmenlerimiz arkadaşlarını ışınlamayı başardıklarına göre, demek ki bi şekilde çözmüşler olayı. Biz onlardan daha mı iyi bileceğiz. Hikmete malik insanlar sonuçta.

Peki.

Sonrasına bakalım.

Muhtemelen buluşun hemen sonrası, önce maceraperest zenginler, “na na.. ♫ bi ordayım bi burada” tarzı videolar çekecektir. Kendisi de istediği halde erişemeyenler  video altına “görgüsüzlük” yorumları yaparken, US. Air Force çoktan Kremlin’in bahçeye bakan odasında bitiverecek sistemlerini geliştirmiş olacaktır.

Oda demişken, o ex kişinin odanızda bitivermesini sanırım hiç istemezsiniz değil mi?

Hadi Jaimie Alexander gardını 😉 bi şekilde alır da diğer ünlülerin durumu vahim..


screenertv

 

Diğer yandan, insanlar yerine nesnelerin ışınlanması durumunda,
“Tek Tıkla kapında” sloganı fena halde gerçekçi olurken, ışınlamaya adapte olamayan pek çok kargo firması net bir şekilde batacaktır. Afrika’nın su sorunu ve yurt dışındaki ilaç sorunu gibi problemler büyük ölçüde çözüme kavuşacaktır. Ve daha zilyon şey.. Ama İstanbul trafiği ne olur onu bilemem 🙂

Bir de tersten düşünelim

Neden hep gidiyoruz ya da bir şeyler gönderiyoruz. Birileri bunu getirmek için de kullanamaz mı?

İran, bir noel arefesinde İngiltere’nin nükleer silahlarından bir kaçını aparırsa mesela?

Ya da Çin, Kanada’nın altın madenlerini kendine ışınlarsa?

Işınlanma Kalkanı

Işınlamanın yere daha sağlam basan ayak sesleri duyulmaya başladığında, Işınlanma Kalkanı üretmek de güzel olabilir. 


Görsel ve Işın/klon/lama haberi

Küçültme ve Işık Yelkeni

Steemit’i bilen ama çeşitli aksilikler sonucu üye olamayan bir arkadaşım mesaj atmış:

“Senin nesne  küçültme teknolojisiyle birleştir, al sana ‘Işınlanmanın Ayak Sesleri‘ “
Ve bir de link göndermiş:

Yıldızlar arası seyahat için yeni bir yöntem
Caltech araştırmacıları, nesneleri ışıkla hareket ettirebilmek için bir yöntem geliştirdi. Nesnenin yüzeyine çizilen bir desen, nesneyi dengede tutuyor.

Önce haber hakkında, bildiğim bir bilgiyi paylaşayım: Söz konuşu buluş Caltech’in icadı değil. Zira Güneş Sistemi ve Samanyolu dışına çıkmak için Çip boyutunda Işık Yelkenli Uzay Gemileri fikri öne sürülmüş, Mark Zukerberg, Stephen Hawking ve Rus Milyarder Yuri Milner tarafından (100 Milyon$) desteklenmişti. Belki de çoğumuzun okul yıllarında yapmış olduğu Radyometre deneyindeki mantığın, uzaya uygulanmış hali de diyebiliriz.

 

Caltech’in getirdiği yenilik ise şu; Işıkla hareket ettirilecek cismin üzerinde bir desen çizmek. Bu desen sayesinde, ilgili cisim minik hareketler yaparak, ışık demetinin doğultusundan çıkmıyor.

Arkadaşın “birleştir” diye atıf yaptığı diğer teknoloji ise, -ultra haberlere alışık bir bünye olarak, uzun süredir görmediğim “Beklenmeyen Süpriz Gol” tadında- okuduğum bir haberdi.
“Yapay zekanın çizdiği resmi uzmanlar ayırt edemedi”
“Honda, Boston Dynamics’e Bale yapan Ballessimo ile yanıt verdi”
vb. haberler çıksaydı karşıma “Beklenen Süpriz” olurdu ve o kadar şaşırmazdım. Ancak MIT’den gelen gol, hiç beklemediğim bir yerdendi:

MIT, nesneleri binde biri ölçeğine küçültmeyi başardı

Ne? Nasıl yani? WTF!

 

 

 

Yani arkadaşın bahsettiği birleştirme şu; Nesneleri 1000’de bir ölçeğinde küçült, sonra da üzerine ışık tutup gönder.

Diyelim ki yukarıdaki birleştirme yöntemiyle yahut ilginç quantum garipliklerini kullanarak ya da henüz kimsenin aklına gelmeyen bir yöntemle Işınlama gerçekleştiğinde, bu kuşkusuz Galaksi tarihindeki en mühim gelişmelerden birisi olacaktır.

ABC paşanın oğlunun hangi vilayette kadılık yaptığını,
sonra neden oradan Manisa’ya geçtiğini,
sarayındaki çeşnibaşıyı neden kovduğu
gibi müdahale edemeyeceğimiz bir zaman diliminde geçtiği için BOŞ gelen konuları konuşmaktansa, şimdimizi ve sonramızı direk etkileyen ya da etkileme ihtimali olan HOŞ konuları konuşmayı tercih ediyorum.

Vakti zamanında yeğenlerime “Işınlama olsa ne güzel olur? mu Acaba? Yoksa sorunlu mu olur? Işınlanma sorunlarına çözümler” konularında beyin jimnastiği yapmıştık, benzer temalı bir yazı da görüşmek üzere..


Görsel

 

openSSL echo hatası verirse

SSL’in Open SSL olabiliyor olması windows kullanıcıları açısından pek de iyi olmamış. Zira çoğu durum ya da çoğu program windowsa göre değil Linux’e göre düzenlenmiş ve anlatılmış.

Böyle bir durumda Arama-Bulma Kabiliyeti diye bir şey varsa,
(-ki bence var; ve aranacak terimleri değil, çıkacak sayfada cevap için geçmesi beklenen olası terimleri gogıllamakla gelişen bir kabileyet. tabi yanında zaman aralığı, site: title: eksi- vb.. araçlarla kombin yapmak da buna dahil-)

bu kabileyeti hakkını vererek kullanmak gerekiyor.


Önceki yazılar: HttpS openSSL NodeJS Windows, SSL Sertifikacı Sertaç’a Güven(dir)mek, Görsel


İkinci yazıdaki pek çok şey olduktan sonra ya da ilk bazı da ilk adımlar gerçeleşip sonrakiler gerçekleşmediğinde

subjectAltName = @alt_names

[alt_names]

ile ilgili sorun yaşıyor olabilirsiniz.

Ve genelde konsoldan openSSL komutları verirlen “echo” hatasıyla birlikte kendini gösterebilir.

Bu durumda komut satırına yazılacak komutları da çok uzatmayacak şekilde v3.ext dosyası oluşturmak belki çözüm olabilir.

Bi text editörü açıp içine şunları yazın ve v3.ext adıyla kayıt edin.

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost

Ardından cmd konsolda şunları yazıp enterlayın;

openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config cat server.csr.cnf

 

Sıra geldi az localhost için yukarıda kayıt etmiş olduğumuz v3.ext dosyasını belirerej server.crt dosyasını oluşturmaya. Bunun için yine konsolda şu kodları yazalım:

server.crtopenssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext

Önceki adımlarda girdiğimiz şifreyi istedikten sonra .crt dosyamız hazır olacak.
yani localhostumuza özel sertifika dosyamız.


Yey!.

Dosyamız var tamam da, webden istek gelen portları dinleyen programımıza da bunu söyleyelim ki,
kullanıcının tarayıcısına bunu bildirsin, karşılıklı doğrulama yapılsın ve Yeşil Kilit simgesi çıksın 😉

// Tabi bu genel mantık olarak, güvenli bir şeyler yapmaya çalıştığımız için küçük de olsa bazı nüsanslarda hata çıkması gayet olası.

var fs = require('fs')
var https = require('https')
var express = require('express')
var cOptions = {
key: fs.readFileSync('server.key'),
cert: fs.readFileSync('server.crt')
}
var app = express()
var server = https.createServer(cOptions, app).listen(443)

Bu örnekteki sunucu programımız NodeJS. O yüzden app.js ya da root için hangi ismi kullanıyorsanız o dosyaya yukarıdaki kodları eklediğinizde -ve her şey yolunda gittiyse-;

http://locolhost adresine girdiğinizde hem Kilit hem de SSL sertfikanız görünüyor olacak 😉

Mail’den taşan Name Server

Şu adrese gir: http://98.137.246.8
ve
şuna http://216.58.212.3
ve
şuna da http://185.122.201.130

NŞA‘da sitelere bu şekilde girmemiz gerekiyor
Herkesin telefonunu akılda tutmak gibi zor

Bu yüzden
google.com gibi akılda kalıcı bir şey yazsam da o yine
http://216.58.212.3 adresine gitse..
ya da
raspberrypi.org yazınca http://93.93.130.214 adresine gitse..

Güzel.
Ama zilyon tane site adı ve adresi var.
hangi isime hangi ip karşılık geliyor
bunun bir listesi olması lazım.
İşte bu isim/domain yazınca ip adresini söyleme işi “name servis etme” işi oluyor.

 

 

raspberrypi.org yazıp enterlayınca
önce benim bilgisayarıma soruyoruz. raspberrypi’in adresi ne?
o bilmiyorsa, “pc’nin bağlı olduğu yerel ağa/routera” sor diyor.
yerel ağ router kendisi bilmiyorsa, “TurkTelekom/SuperOnline”a sor diyor
Telekom’a soruyoruz, o da bilmiyorsa ROOT isim sunuculara sor diyor.
Root isim sunucular .com .uk .tr gibi top levellerine göre
second level sunuculara yönlendiriyor. onlara soruyoruz.
diyor ki NS1.GuzelHosting.com ‘a sor
GuzelHosting soruyoruz. “raspberrypi.org’un ip adresi ne?”
“haçan ben biliyrim onu” diyor.  “93.93.130.214 adresine git.”

tabi bunlar ping saniyeleri içinde olup bitiyor.
93.93.130.214 artık bağlanacağımız makina.

Bu IP, çok çoğu zaman Hosting şirketindeki, sitenin bulunduğu makinanın IP adresi.
nadir durumlarda benim şu an üzerinde yazıp çizdiğimiz laptop’un ip adresi de olabilir 😉

====================
ben olsam şu ana kadar anlatılanları kağıda/telefona çizerdim..
üşenme, “şimdi” çiz yani 😉
====================

 

 

 

 

 

 

 

buradan sonrasını çizdikten sonra devam et.

 

 

 

 

 

 

Atıyorum a2hosting.com yüzlerce makinasından birisini ya da çoğu zaman birisinin 50’de birini bana kiralıyor. index.html dosyalarım, sitedeki resimler o makinanın harddiskinde duruyor.


farkında olduğumuz ama şöyle söyleyince daha afiLLi duran olay:
dünya üzerinde -paylaşıma açık olan- tek tek her bir resmin ulaşılabilir bir adresi var (sen çok yaşa Tim Berners Lee). Ve kaç nolu makinanın içinde olduğunu bilmesem de adresini bildiğimde ona ulaşabiliyorum.

DNS – DomainNameServer’lar; raspberrypi.org için ns1.a2hosting.com ‘a sorun dediğinde
ns1.a2hosting.com makinası (ya da  yedeği olan n2..) raspberrypi.org a karşılık gelen ip’yi
kullanıcıya gönderiyor.
kullanıcı artık diğerlerine uğramadan direk 93.93.130.214 ile iletişim kuruyor.

Diğer taraftan
Sen de kendi kendi bilgisayarının ip adresini kolayca 93.93.130.214 yapabilirsin.
http://bit.ly/ipgirme

Böylece ben adres satırına raspberrypi.org yazdığımda direk senin bilgisayara bağlanmış olurum.
localhost gibi bir site sunuyorsan, onu görürüm.

hatta 93.93.130.214:5000 ile 5000. porttan, Arduio ile ölçütüğün, sıcaklık ya da nabız
bilgilerini yayınlıyorsan;
evinin sıcaklığını ve kalbinin atışını görürüm 😉
//çok romantik oldu 🙂

Bi dakka!
Elektrik gider gelir ve/ya modem resetlenirse?
-Telekom/Superonline’dan Sabit IP hizmeti almadı isen-
Evet IP adresin değişir.

Ama DNS sunucuların yeni IP adresini bilmesi lazım. (ki doğru yönlendirme yapsın)

Bu durumda No-IP, DNYU, afraid.org gibi servislere kayıt olup olabilirsin. Verdikleri programı yüklediğinde, IP adresin değiştiğinde program, hemen bunu adana merkeze 🙂 bildiriyor. Onlarda raspberrypi.org  93.93.130.214’te demek yerine yeni IP adresin olan  182.92.236.130 ‘u söylüyorlar.

Dolayısı ile domain adresinin NameServer bilgilerine buralardan alacağın
n1.no-ip.com , n2.dnyu.com gibi..
name-serverları girersen, onlar da pc’de kurulu olan programlarından öğrendikleri senin güncel ip
adresine yönlendirecekler.

TaTa!
Kendi sunucun hazır 😉


Blog yazısı gibi olmadı biliyorum. Zira sevdiğim birisinin sorusuna cevap emaili yazarken, yazı gelişince nette de bulunsun istedim 😉
Görsel

SSL Sertifikacı Sertaç’a Güven(dir)mek

Çocukluğu ya da gençliği, klasik telefonların doğasını merak etme zamanına denk gelenlerin bileceği üzere; Telefon sesi, maraton başlama düdüğü gibidir. Bu yüzden telefon çaldığında herkes depara çıkardı 🙂 Kısa bir süre sonra -hat ile telefon’un başka şeyler olduğu anlaşıldığında- telefon çeşitleri ve renkleri çoğaldı. Evin diğer odalarında 2. telefonlar belirmeye başladı. Ve şöyle, grup diyalogları türedi:
#Alo
+Alo, -Alo
#Selam ben Rıza
-Selam Rıza abi, ne var ne yok? +Rıza dayı selam nasılsın?
-Fulya sen kapat kızım baktım ben +Tamam anne, dayıcım görüşürüz
#Fulya’cım görüşürüz, iyi bak kendine

Bu evdeki ikinci telefon misali, dışarıdan birilerinin telgraf hatlarına dahil olduğunu düşünün. Ve.. Hacker’lığın icadı. Evet, yakın tarihteki ilk Hacker’ların işi telgraf ardından telefon hacklemekmiş.


görsel


 

Yukarıdaki konuşmaya dışarıdan birinin katılmasını istemediğimiz gibi, Bankamızın ya da Borsamızın web sitesine girerken de üçüncü kişilerin aradaki diyaloğu görmesini istemeyiz. Hatta bunun öncesinde, bankamızın adresi  diye girdiğiniz yerin Gerçekten bankamızın sitesi olduğundan emin olmak isteriz.

Haliyle tarayıcıdaki adresin httpS ile başladığını görüp, iletişimin şifreli olarak gidip geldiğini,
Sertifika alıp almadığına göre de, gerçek banka ile temasta olup olmadığımızı kontrol etmemiz gerekir.


Peki, bu tür güvenli olması istenilen siteyi, siz yapıyorsanız?
Doğal olarak, ilgili kodlarınız/kütüphaneleriniz, TEST ve Geliştirme esnasında bile güvenli bağlantı gerektiriyorsa?

o halde önceki yazıdan devam edelim.

Son durumda elimizde şunlar vardı:

Test ortamımızı oluşturmak için bir nevi şunu yapacağız. RapidSSL, GeoTrust ya da Comodo gibi şirketlerin yanına biz de “Sertifikacı Sertaç Ltd.” yi kurmuşuz da biz de sertifika veriyor gibi bir sertifika üreteceğiz. Ve pc’ye/tarayıcıya, Sertaç’ın sertifikasına güven diyeceğiz.

Bunun için rootSSL.pem doyasını yönetim konsoluna tanıtacağız.

Adımlarımız şöyle;

başlat > mmc > enter

Konsol ekranı açılacak

 

Dosya > Ek bileşen ekle kaldır >

Listeden Sertifikalar > Ekle

Bilgisayar hesabı > ileri >

Yerel bilgisayar > Son

Bu işlemin ardından Sağ bölmedeki Konsol Kökü listesi altına
Sertifikalar (YerelBilgisayar)
gelmiş olmalı. Öyle iste Tamam’a tıklayalım.

Solda sadece +Sertifikalar (Yerel Bilgisayar) yazıyorsa, başındaki artı + işaretine basarak genişletelim.
Ardından Güvenilir Yayımcılar > sağ tık > Tüm görevler > Al..

Sihirbaz(?) başlayacak..
dosyamızın yerini göstermemiz lazım.

Dikkat! Gözat.. a tıkladığımızda, varsayılan olarak gelen türler .cer ve .crt bu yüzden önce Tüm Dosyalar’ı seçelim

Ve projemizin olduğu klasöre gidip, rootSSL.pem dosyasını seçelim.

Tamam/Aç’a tıklayıp, ardından İleri >

Tüm Sertifikaları aşağıdaki depolama alanına yerleştir:
Güvenilir Yayımcılar
İleri >

 

Son

~”Sertifika Alma Başarılı” mesajını görmemiz lazım.
Öyle ise, ne mutlu 😉 Sonraki yazıda görüşüz..
Değilse.. Start pain! pardon, start again 🙂

HttpS openSSL NodeJS Windows

Çok sevdiğiniz bir arkadaşınız var diyelim. Onu görmek için bir şeyleri bahane edip şehirler arası ya da ülkeler arası  yolculuklar yapabilirsiniz. Hatta hafta içi bir günde Çatalca’dan Pendik’e gitmeyi bile göze alabilirsiniz o derece.

Lakin arkadaşınızın ailesi çok ters kafa insanlar. “Keşke.. ” caps’lerine kapacak olacak cinsten.

Yeğenimle çok keyifli bir şeyler için uğraşıyoruz. Fakat uğraştığımız şey caps’lik aile birlikte paket olarak geliyor: Malesef NodeJS gerektiriyor.

“Ne var canım bunda, internet diye bir şey var. Öğrenmeyi bilen herkes biraz gayretle yeni bir programla dili de öğrenir Japonca da öğrenir..” denilebilir. Evet öyle ama öğrenmeye çalıştığınız dil de kelimeler ve cümleler farklı olsa tamam ama ya zaman algısı farklı ise..

tomorrow demekle now demek aynı kapıya çıkıyorsa?

Zaman kavramı karışınca  işlerin nasıl karıştığına bi örnek daha vereyim;

Soğanlar pembeleştikten SONRA, içinden 100’den GERİYE doğru say sıfıra GELİNCE, ÖNCE tarhanayı koy SONRA 2 bardak su ilave et.

Şimdi yeniden sorayım; tomorrow demekle now demek aynı kapıya çıkıyorsa, Tarhana çorbasını Nasıl yaparsınız?


Çoğu Normal dilde 26. adımdaki işlem, 26. adımda gerçekleşirken NodeJS’de bu yok. O yüzden sıralı bir şeylere ihtiyacınız varsa -ki %98 böyle- sürekli iç-içe-iç-içe-iç-içe-iç-içe fonksiyonlar kullanmalısınız.

Böyle bir ortamda iken bir de SSL+HttpS+NodeJS üçlüsünün çalışması için gibi bir internetteki kaynakların %90’nın Linux’a göre anlatım yaptığını sizin de Windows sunucuda çalıştığınızı düşünün..

 

 


Notlar:

–NodeJS indir kur

–Windows için -32/64bite göre-,  “openssl windows 32bit” tarzı aramalar yaparak openSSL’in güncel versiyonunu indir.

–Kurulum olduğu klasörde C:\OpenSSL-Win32\ bulunan dosyalar arasında \bin\ klasörü içinde
openssl.cfg ya da openssl.cnf dosyası bulunduğundan emin ol. Yoksa başka kaynaklardan yeniden indir.

–OpenSSL’in yer konum altından çalışabilmesi için, Ortam değişkenlerine PATH ekle.
Bilgisayarım > sağtık > özellikler > gelişmiş > Ortam değişkenleri > Sistem değişkenleri > Path > Düzenle
Satır sonuna ;C:\OpenSSL-Win32\  ekle.

–ilgili proje klasörüne Shift+Sağtık > Komut penceresini burada aç, diyerek konsolu aç

–RootSSL.key oluşturmak için şunu yaz
openssl genrsa -des3 -out rootSSL.key 2048

Sonrasında şifre soracak, iki defa şifre gir.

bu işlemin sonunda ilgili klasörde rootSSL.key dosyası oluşmuş olacak.

Bunun içinde az önce üretmiş olduğumuz Özel Anahtar bulunuyor olacak.

 

–Şimdi bu özel anahtarı kullanarak rootSSL.pem dosyası üretelim.

openssl req -x509 -new -nodes -key rootSSL.key -sha256 -days 1024 -out rootSSL.pem

ve pem dosyamız oluuşş..a madı.

–Konsolda şunu yazıp bulamadığı dosyanın yerini tarif edelim:
SET OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg

Sessizce ve tepkisizce çalışmış olmalı.

–Bir üstteki .pem üretme kodumuzu yeniden deneyelim:

–Common Name kısmında server/domain adı yerine localhost girilebilir.

Böylece klasörümüzde şu dosyalar mevcut olacak.

 

Macera ne yazık ki buradaki tıkır tıkır işlemeyebilir. Zira netteki hiç bir tutorial bana uymadı. Olayın mantığını kavrayıp; ne lazım ve bunun için nerede ne yapılması gerekiyor buna göre işlemleri yapmak en sağlıklısı.

–devam edecek–
görsel

Dingo’nun Uzaydaki Ahırı

Burası Dingo’nun Ahırı mı?

Vakti zamanında,(~1870+) Taksim’de Dingo isminde bir vatandaş yaşarmış. O zamanlar tramwayları atlar çekermiş. Tepebaşı tarafından Taksim tarafına doğru yokuş olduğu için, bu yokuş öncesi Azapkapı’da, tramwaylara ilave atlar koşulurmuş. Duruma göre bazen 6-7 tane bazen 8-9 tane.


google map

Bir rivayete göre Taksim sonrası daha az ata ihtiyaç olduğu için, diğer bir rivayete göre yorulmuş olan atların dinlenmesi için Taksim’deki Dingo’nun ahırı kullanılırmış. Kaç at gelip kaç at gidiyor, hangisi ne zaman geliyor hangisi ne zaman gidiyor belli olmadığı için bi keşmekeş yaşanırmış.

O zamandan günümüze “Dingo’nun Ahırı /-mı burası?” tabiri, deyimleşerek Türkçe’ye yerleşmiş.

Yolunuz Taksim’e düşerse,
-Google beni yanıltmıyorsa- 150 Yıllık Dingonun Ahırı tam olarak şurada. Ve hala tramwaylar için kullanılıyor.


görseller: #1, #2


Dingo’nun yeni Ahırı: Türksat Uydusu

Kızmak yerine gülmek, kahrolmak yerine kahkaha atmak gibi trajediyi komediye dönüştürebilenlerdenseniz kolay ama değilseniz; irrite edişine dayanması zor olan şu sözlere bi bakalım:

Yıllardan beri, gerek Türkiye’deki vaazlarımdan gerekse dünya çapında yapmış olduğum vaazlarımdan tanıyorsunuz. Ve herhangi bir ürünün reklamında da görmediniz. Değerli kardeşlerim, …  Şey-i Şifa isimli bu mamulü yapan, cami cemaatinden olan kardeşlerime inandım. … Prostat rahatsızlığı olanlara, yan rahatsızlıkları dahil olmak üzere birebirdir kardeşlerim.

..buna bağlı olarak bir yan hastalık da cinsel rahatsızlıktır. Cinsel rahatsızlık için de bu kardeşlerimiz gayret göstermişler. Şifa bilimci olan bu kardeşlerimiz -ki ben çok güvenirim onlara- şöyle bir ürün de yapmışlar. Emin olun kardeşlerim çok dua edeceksiniz bana. Bunu ve bunu alıp, kullanıp “şifa bulmadım” diyene henüz rastlamadım. Hakikaten SÜBHANALLAH diyorum, başka bir şey diyemiyorum kardeşlerim.

..Sabah-akşam bir çay kaşığı, Euzübillahimineşşeytanirracim Bismillahirrahmanirrahim, işte böyle.. immhh bayılıyorum bu tada. Bu tada bayılıyorum. … bana çok dua edecekler.. kardeşlerimize de dua etsinler… Allah onları muvaffak etsin.

..Hocamızın da buyurduğu üzere.. bu mamül, prostat rahatsızlığını Allah’ın izni ve keremiyle bitirecektir. ..Allah’ın şifalı bitkileriyle oluşan bu ürünümüz… Müslümanın müslümana ilacı olarak yapılmaktadır. Tamamıyla  Helal ve Mübarek olan bu bitkiler.. ..Kesin çözüme kavuştuğuna… tam şifa olacak set gönderiyoruz ki kazancımız helal olsun.. …

Neresinden tutsan insanın elinde kalacak olan bu konuşma, gayet bilinçli bir şekilde belli bir yaşın üstünü hedef alarak hazırlanmış NET bir dolandırıcılık. Kabir azabından koruyan kefenden (hem de ısrarla) ya da kilisenin cennetten arsa sunan endüljans‘ından bir farkı yok.


wikizeroo

Atatürk üzerinden, Osmanlı üzerinden, şehitler üzerinden, baş örtüsü üzerinden, ünlüler üzerinden kendine siyaset ya da şöhret devşirenleri gördük/görüyoruz. Yüzsüzlük abidesi çirkinlikler..

Yukarıdaki dolandırıcılığı yapanlar ise Dini, sözüm ona sağlık ve cinsel ürün ticareti için kullanıyorlar.

Gösteriş sakalı yahut fesi ile gezenlerin çoğunun, kendileri açısından bir sorun yok. Para ya da şöhret varsa, Her Şey yapabilirler.

Bazı beyinlerinin haysiyet bölgeleri, 16300 küfür geldi diye seviniyor bunu biliyoruz. N’apalım bunlar da evrimin yanlış mutasyonları -yahut Allah öyle yaratmış- deyip geçiyoruz..


Benim takıldığım nokta şu;

  1. 1646’da Sigaraya fetva veren Şeyhülislam Bahai Efendi diyelim ki zararlarını bilmiyordu.. Son 50 yıldır sigaranın zararını bilmiyorduk denilebilir mi?
    Diyanet, sigarayı haram ilan etmek için 17 Şubat 2019’a kadar beklediği gibi, Dini ticarete alet edenleri uyarmak, diğer devlet kurumlarını harekete geçirmek için 50 yıl daha bekleyecek herhalde(?)
  2. Dingo’nun Ahırında geziyormuş misali, elini konulunu sallayarak  TÜRKSAT uydusu üzerinden suç işlenirken, bu kanallara lisans veren görevliler; kendi cihazları üzerinden yasalara aykırı Nitelikli Dolandırıcılık yapıldığını görmemek için, her sabah bi at alıp mesai bitimine kadar tura mı çıkıyorlar acaba?
  3. RTÜK, muhalif gazetecileri mimlemeye uğraşmaktan, filmin 27. dakikası 39. saniyesinde arka planda bi yazı var mı diye incelemekten yahut daha kutsal başka görevlerinin yoğunluğundan, 7/24 ve Ulu Orta suç işleyenleri görmüyor galiba(?)

AHMT: Kombi() fonksiyonu upgrade

Yürüyen İnternet yazısı ile uçuşa geçip 🙂 HTTP benzeri ya da ötesi kendi protokollerimizi yapabileceğimizden bahsetmiştik.

Yeniden AHMT’e dönelim. Hareket algılayıcı taraf ile direk kombiyi kontrol edecek tarafın, Radyo sinyalleriyle Kablosuz haberleşmesi için AHMT’e nRF2401L ilave etmiştik.


Bkz: #1, #2, #3#4#5#6#7#8#9#10#11#12#13#14, yürüyen internetgörseller


 

Kütüphane kısımını düzenledik ama Fonksiyonları da buna göre düzenlememiz lazım ki bir bütün olarak sistemimiz sağlıklı bir şekilde çalışabilsin.. // madem öyle ilgili kısımlara bütün olarak bakalım..

Let we do

Tanımlama kısmında şu kodları ekleyelim:

#include
#include
RH_NRF24 nrf24;

void setup(){ içine } şunları ekleyelim:

while (!Serial); // Leonardo için
if (!nrf24.init())
Serial.println("kurulum hatasi");
// Defaults after init are 2.402 GHz (channel 2), 2Mbps, 0dBm
if (!nrf24.setChannel(1))
Serial.println("radyoKanali hatasi");
if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm))
Serial.println("nRFhiz hatasi");

Kombi fonksiyonumuzu şu şekilde yeniden düzenleyelim:

void kombi ( byte alt, byte ust ) { /* alt ve üst sıcaklık değerlerini kullanıyoruz */
byte dereceDeger = derece();
if ( dereceDeger < alt ) { yanson(2); Serial.print("kombi Yandi: "); uint8_t data[] = "AC"; Serial.print( "AC" ); nrf24.send ( data, sizeof( data ) ); nrf24.waitPacketSent(); /* Radyo sinyali olarak gonderelim */ /* digitalWrite (role, LOW); */ } else if ( dereceDeger >= ust ) {
Serial.print( "kombi Sondu: ");
uint8_t data[] = "KAPA"; Serial.print( "KAPA" );
nrf24.send( data, sizeof ( data ) );
nrf24.waitPacketSent();
/* digitalWrite ( role, HIGH ); */
}
else {
yanson(30);
Serial.print( "-kombi else-" ); /* digitalWrite ( role, LOW) ; */
}
}

 


kombi() fonksiyonu içindeki digitalWrite ( role, LOW ) ve digitalWrite ( role, HIGH ) kısmı, inceleyen gözle bakan birisi için ters gelmiş olmalı.

Gelmediyse de açıklama yapayım 🙂
Zira bu basit terslik yüzünden başka bir projede bir kaç gün kaybetmiştik.

Aslında orta okulda öğrenmiştik..

“Hojcaam bu gerçek hayatta ne işimize yarayacak kii” sesleri eşleğinde öğretmenler şunu hemen hepimize anlatmıştı:
Bunun gibi __/ __  bir devre açık demek.. ama bu aynı zamanda elektrik geçmediği için lamba kapalı demek. Lambayı açmak için devreyi kapatmamız lazım.

Dolayısıyla, Role’ye LOW gönderiyoruz.
yani içindeki mıknatıs-devre düzeneğini kapatacak,
veyani üzerinden elektrik geçmeye başlayacak,
veyani röleye bağlı olan kombi çalışmaya başlayacak 😉

HIGH durumu için de tersi elbette..