Zeynel Öztürk

Üzgünüm ama herkes kod yazmamalı

Herkes elbet kendince yemek yapabilir ama bu, herkes aşçı olsun demek gibi bir şey

Güncelleme: 09.09.2018 11:55

Gelen yorumlardan yazımın tam anlaşılmadığını görüyorum. Bir örnekle daha açıklayıcı olabileceğimi umuyorum.

Herkes kitap okumalı, yazmalı ama herkes yazar olmamalı.
Herkes matematiği bilmeli ama herkes matematikçi olmamalı.
Herkes temel programcılığı bilmeli ama herkes programcı olmamalı.
Herkes futbol oynamalı ama herkes futbolcu olmamalı.

"Olmamalı" kısmını "olamaz" diye de değiştirebilirsiniz. Burada size bir elbette bir şey "olmayın" demiyorum, ne istiyorsanız çok çalışın ve olun; sadece herkesin aynı şey olmasının iyi olmaması / olmasının pek mümkün olmayışı konu.


--

Muhtemelen birden fazla nedenden dolayı programcılık, "herkesin bilmesi gereken" bir şey haline gelmeye başladı. Afişlerde, eğitimcilerin dilinde, birçok yerde halkımızın çoğu için gizemli bir şey olan programcılığın "çocukların geleceği için çok önemli" olduğu var.

Bu iddiayı programcıların ve ölmeden önce Steve Jobs gibi bazı üst düzey teknoloji yöneticilerinin de dillendirmesi, yazılım dünyasından uzak olanlar için gizemli olan programcılığı gözlerde biraz daha yükseltti. İşi bilenler de bazen tam düşünmediğinden, bazen farkında olmadan sansasyonu sevdiğimizden bundan etkilendi. Peki hiç "uyanık" Jobs'un piyasayı ucuz iş gücüyle doldurmak istiyor olabileceğini düşündünüz mü?

Benim için ilginç olan nokta, bütün işi programcılık olan bazı insanların, yani çeşitli koşullar ve mantıkları kafalarında sıkça hesaplayanların, bu iddiayı kuvvetle desteklemesi ve kendine ters düşmesi. Neden olduğunu birazdan açıklayacağım.

Hayır, Her Şey Kod Yazmak Değil

Ben bu iddianın bir miktar sansasyon ve elbette pazarlama içerdiğini düşünüyorum. Gizemli, ne olduğu bilinmeyen ancak yapanın "olağanüstü" ve hatta "deli" gibi göründüğü, bolca paralar kazandırdığı düşünülen bir iş, haliyle ilgi çekecektir.

Ancak çok basit bir kural var. Herkes iyi programcı olsa bile, arz fazlası işin değerini düşürecektir.

Programcılığın belirli dallarda ders olarak gösterilmesi elbette çok güzel ve gerekli bir şey. Birçok meslekte programcılığın, kod yazmanın yeri olacaktır. Ancak ben de programcıyım ve her çocuğun buna yatkın olmayabileceğini görüyorum. Bunun yanında programcılık kendine has zorluklarına sahip, sürekli öğrenmenizi gerektiren,  sorunlarla sürekli olarak boğuşmanızı gerektiren, bazen tüm öğrendiklerinizi gereksiz bırakabilen bir meslek. Tüm bunlar elbette herkese göre olmayacaktır. Yani bu işi gerçekten seviyor ve istiyor olmanız gerek.

Dünyanın vasat programcılara değil, en azından ortalama ve üzerinde programcılara ve çok iyi programcılara ihtiyacı var. Vasat ve altı programcılar (veya örneğin düşük ücretle çalışanlar veya işini sevmeden yapanlar) tarafından geliştirilen özensiz bir proje, ileride bir kabusa dönüşebileceği gibi ciddi maliyetlere de yol açabilir.

Yukarıda programcı arkadaşların bazılarının kendiyle ters düştüğünü bu nedenle söyledim. Başkalarının açıklamasız kodlarını anlamaya çalışırken herkesten progamcı olmayacağını anlayan dostlar, bence "herkes programcı olmalı" demeden önce tekrar düşünebilirler.

Her Programcı Hacker Değildir

Kulağa çok saçma gelen bir konuya değinmeden geçmeyeceğim. Progamcı arkadaşınıza hacker gibi davranıyorsanız ve o da "bilmiyorum" demiyorsa belki bozuntuya vermek istemiyordur. Güvenlik konusunda uzman bir yazılımcıya hacker'lık soruları sorabilirsiniz elbette, ama her programcı güvenlikle çok ilgili olmayabilir. Aslında programcı arkadaşınızın hacker'lıkla uzaktan yakından ilgisi olmayabilir.

Daha önce söylediysem bile tekrarlayayım: Hacker'lar da olağanüstü varlıklar değiller, çoğu zaman belirli araçları, birçok zaman "sosyal mühendislik" denen "insanları kandırma yöntemlerini" kullanıyorlar.

Antivirüsler veya herhangi bir yazılım, bazı kitaplarda iddia edildiğinin aksine "10 saniyede" hack'lenemezler. Bazı yazılımlar, güvenlik açıkları olsa dahi hiç hack'lenemeyebilir.

Steve Jobs da Yanılır, Elon Musk da

CEO'ları olağanüstü yaratıklar sınıfına koymak sadece bizde değil bütün dünyada olan bir şey. Ama en azından her söylediklerinin doğru olduğunu düşünmeyin. Okurlarımız, yanlış çıkan tahminlerle ilgili eğlenceli yazılarımızı bilirler. "Herkes kod yazmalı" diyen Jobs iyi bir reklamcı olabilir ancak sizi kandırıp size ürünü daha pahalıya satması, bence bir hayranlık sebebi olmamalı. Musk iyi bir girişimci, teknoloji takipçisi olabilir ancak her şeyi bilen, hatta Bitcoin'i icat eden isim değil (evet, bu da söylendi). Hatta şu sıralar yatırımcılarının üzerindeki baskısından dolayı olsa gerek, birilerine sosyal ağlarda sebep belirtmeden "sapık" demekle meşgul .

https://defkey.com/tr/2018/09/06/neden-herkes-kod-yazmamali

Google'a bir öneri

Google, lütfen yazım denetimini ve Türkçeni biraz iyileştir!

Android'in en son sürümü Türkçe yazım denetimi konusunda hala yetersiz. Dilimizde sözcükleri eklerle sıkça değiştiriyoruz ve bu, ortaya birçok farklı kelimenin çıkması demek. Eklerde kullanılan sesli harf, kelimenin köküne göre farklılık gösteriyor. Tüm bunlar, Google'ın web hizmetlerinde ve Android'de kullanılan sözcük denetimini yetersiz hale getiriyor.

Microsoft bu işi başarmış

Türkçe sözcükleri anlamanın imkansız olmadığını Microsoft'un Office yazılımlarında görüyoruz. Ne kadar nadir kullanılan bir sözcük türetirseniz türetin, Word'de doğru yazdığınız sözcüğün yanlış olarak tanımlandığına çok nadiren rastlıyorsunuz.

Özellikle Android'de yazım denetimi sözclüğünün yetersiz olması, yanlış önerilerle karşılaşmamıza neden oluyor - bu ise bazen yazım önerilerini kapatmaktan başka çare bırakmıyor.

Google önerim şu: Türkçede eklerle türetebileceğimiz kelimelerin sayısı çok fazla. Yönteminiz, sadece bugüne kadar başkalarının yazdığı sözcükleri taramak ise, bunun pek işe yaramadığı ortada. Daha iyi bir listeye ihtiyacınız var.

Yazılımcılar için Türkçe sözcük işleme

Türkçe kelimelerle çalışmak, yukarıda bahsettiğim nedenlerden dolayı İngilizce kelimelerle çalışmaya benzemiyor. Sitenize gelen bir kullanıcı, arama kutusuna "masaüstü temizle" yerine "masaüstü temizliği" de yazabilir. Bu gibi durumları ele almak yazılımcı için zaman alıcı olsa da,GitHub'da bulduğum bu C# ve VB.NET kitaplığı işinize yarayabilir.

Bunun yanında bu adresteki kelime listeleri, kelimelerin kökünü bulmanızı kolaylaştırabilir. Yalnız buradaki listeler ne kadar kapsamlı olsalar da, ekleriyle birlikte tüm kelimeleri içermiyor gibi görünüyor. Bu konuda elinizde daha iyi bir kaynak varsa lütfen yorumlarda benimle paylaşın.

Yaşayan ölüler

Öldüler ama hala yaşıyorlar, tabi buna yaşamak denirse.

CHIP Online'da 7 seneye yaklaşan çalışma dönemim, teknolojiyle ilgili dışarıdan pek anlaşılmayacak tecrübeler edinmemi sağladı. Bunlardan sadece bir tanesi "müthiş" diye tanıtılan, ancak henüz herkesin bilmediği, konsept aşamasındaki şeylerin kaybolup gitmesinin gayet muhtemel olduğu. Bazen kendim bile inanmadığım şeylerin haberini yazdığım oldu, kendi kendini radyo dalgalarıyla şarj eden telefon gibi.

Bir de bazı teknolojiler için belki defalarca "öldü" dememize rağmen ölmek bilmediğini hep beraber gördük. Daha doğrusu bu teknolojiler çoktan öldüler, ancak çok zor şartlarda yaşamaya devam ediyorlar. Aklıma hemen şunlar geliyor.

  • Windows XP
  • BlackBerry OS
  • Windows Phone
  • Windows 10 Mobile
  • Android'li tabletler
  • Galaxy Note 7 (bu sizi de öldürebilir)
  • Project Ara
  • AKK
  • Her yerde tek şifre kullanma
  • MP3 indirme
  • iPhone 5C
  • Google+

Listeyi teknolojinin dışına doğru taşırmak da mümkün, ancak bu durumda işin ucunun nereye varacağını kestirmek zor. Bu teknolojiler belki kısa, belki uzun süre daha ortalıkta dolanacaklar. Sesleri çıktığında canlandıklarını sanacağız, ancak muhtemelen rakipler çoktan almış başını gitmiş olacak.  Bu arada, hepsinin gitmesinden yana olmadığımı da söylemeliyim.

"Boot Configuration Data is missing" çözümü

Bilgisayarınız "Boot Configuration Data (BCD) is missing" hatası nedeniyle Windows'u bile yüklemiyorsa, işte çözümünüz

Bilgisayarınızı açtığınızda "Boot Configuration Data file is missing" hatasıyla karşılaştıysanız ve Windows 10/Windows 8/Windows 7'niz açılmıyorsa, bu sorunu çözmek için bir Windows kurtarma medyasına veya kurulum diskine ihtiyacınız olacak.

"Your PC needs to be reparied

The Boot Configuration Data for your PC is missing or contains errors.

File: \boot\bcd
Error code: 0xc000000f"

Yukarıdaki "Boot Configuration Data (BCD) is missing" hatası, sabit diskinizde bulunan, bilgisayarınızın işletim sistemini açmasını sağlayan bölümün zarar gördüğünü söylüyor. Bunun bilgisayarınızı düzgün kapatmamaktan, donanımsal hatalara birçok sebebi olabilir, ancak panik yapmanıza gerek yok. Ciddi donanımsal bir sorununuz yoksa, aşağıdaki adımları izleyerek sorunu büyük ihtimalle onarabileceksiniz.

1. Bilgisayarınızı bir kurtarma USB'sinden veya DVD'sinden başlatın. Kurulum USB'sini veya DVD'sini de kullanabilirsiniz. Bunların hiçbiri elinizin altında yoksa, aynı işletim sistemine sahip bir başka bilgisayarda oluşturmanız gerekecek.

USB'yi veya DVD'yi bilgisayarına taktıktan sonra, açılış sırasında ESC tuşuna basıp, USB veya DVD'den başlatmayı seçmeniz gerekiyor. Burada basacağınız tuş ve izleyeceğiniz yöntem, PC'nizin marka ve modeline göre biraz değişebilir.

2. Dilinizi seçin ve sorun giderme seçeneğine tıklayın.

3. Gelişmiş Seçenekler'e tıklayın.

4. C: yazın ve Enter'a basın.

5. bootrec /rebuildbcd yazın ve işlemin tamamlanmasını bekleyin.

6. exit yazarak komut satırından çıkın ve bilgisayarınızı baştan başlatın.

Bu yöntem sorunu çözmediyse, bir de aşağıdaki adımları deneyin.

1. Üstteki üç adımı tamamlayın.

2. Bu kez Başlangıç Onarma seçeneğini kullanın.

3. Windows sisteminizde hata bulmasa bile, ön-yükleme dosyalarını onarmış olabilir. En azından bende böyle oldu. Şimdi sisteminizi baştan başlatmayı deneyin.

İyi şanslar! Sorunu çözmeye yönelik alternatif önerileriniz varsa, lütfen bizimle yorumlarda paylaşın.

https://twitter.com/zeynel84ozturk

Sandisk SSD'yi Sanitize ile hızlandırma

Sandisk SSD ile yaptığım Sanitize sonrası hız testi sonuçları

SSD’ler, normal mekanik sabit disklerin aksine, birleştirilmekten pek hoşlanmıyorlar. Bunun SSD'leri hızlandırmadığı testlerle kanıtlandığı gibi, veri yazma işlemlerinden dolayı ömürleri azalıyor. Zaten bunun farkında olan Windows XP’den sonraki işletim sistemleri, SSD’lerde disk birleştirme yerine optimizasyon işlevine yer veriyor.

NAND flaş belleklerden oluşan SSD’ler’de yer alan denetimler, bellek hücrelerinin zarar görmemesi için birkaç teknikten faydalanıyorlar. Bunlar arasında bellek hücrelerinin eşit oranda eskimesi için verileri her zaman yeni bloklara yazmayı amaçlayan “garbage collection” var. "Sorun" ise şurada başlıyor: İşletim sisteminiz, SSD’nizin kendi içerisindeki “dosya sistemini” tam olarak görmüyor. Burada işler biraz karışabiliyor ve SSD’nizin dahili sistemi karışık hale geldiğinden, zaman içinde biraz daha yavaş çalışmaya başlayabiliyor. Bu yavaşlık, aslında çoğu zaman SSD'nizin donanımının eskimesinden kaynaklanmıyor.

Burada konu SSD’nin çalışma mantığı olmadığından detaylara girmeyeceğim. SSD’lerin performansının onları Secure Erase işleviyle tamamen temizleyip hücreleri “fabrika ayarlarına” döndürdükten sonra bir miktar arttığı biliniyor. 128GB’lık Sandisk SSD’mde yaptığım Sanitize (Secure Erase’in benzeri bir işlev) işlemi öncesi ve sonrasındaki hız testi sonuçlarını sizlerle paylaşmak istiyorum.

Bu iş için SSD’nize özel araçlardan faydalanmanız gerekiyor, yani diski biçimlendirmek SSD’nizin hücrelerini “boş” olarak işaretlemeye yetmiyor. Üreticiniz Secure-erase komutu sunmuyorsa, Parted Magic içerisindeki DriveErase aracı kullanılabilir. Bu işlemlerin tüm diskinizdeki verileri geri getirilemez biçimde sileceğini unutmayın. Devam etmeden önce her şeyin yedeğini aldığınızdan emin olun.

İçerisinde Windows 10 yüklü SSD diskimin imaj yedeğini Macrium Reflect aracılığıyla harici bir diske kopyalayıp, Sandisk'in masaüstü aracıyla hazırladığım USB belleği yoluyla, Sanitize ile (cesaretle) sildikten sonra, yine Reflect ile imajı başarıyla geri yükledim. Windows’u açıp HDTune okuma testini çalıştırdığımda ise, tüm bu işlemlerden önceki inişli çıkışlı grafiğin stabil hale geldiğini gördüm. Minimum okuma hızında önemli bir artış olsa da ortalama ve maksimum okuma hızlarındaki değişim önemsiz görünüyor. Yaklaşık 3 senedir iş laptop'umda kullandığım bu SSD’de daha önce hiç Sanitize işlemi yapmadığımı ve diskteki boş alanın 15GB civarında olduğunu söyleyeyim.

Sizin tecrübeniz farklı olabilir, ancak çok büyük bir performans artışı beklemeyin. Bunun yanında üreticiler bu işlemi en fazla 6 ayda bir yapmanızı öneriyorlar. Çünkü diskinizi temizleyip Windows’u baştan yüklemek veya imaj dosyasını geri yüklemek, onun ömründen küçük bir kısmı götürmeniz anlamına geliyor.


HD Tune sonuçları. Solda işlemden önce, sağda Sanitize'dan sonra. Minimum okuma hızındaki artış (25MB/sn'den 150MB/sn'ye) ve CPU kullanımındaki düşüş (yüzde 8,9'dan yüzde 4,1'e) dikkat çekiyor. Maksimum okumada neredeyse fark yok, ortalama okuma hızındaysa ilginç biçimde birkaç MB'lık düşüş var. Grafikteki iniş çıkışlar, Sanitize'dan sonra ortadan kalktı. 
Büyütmek için tıklayın.


Sanitize'dan önce.


Sanitize'dan sonra. İşlemler ilginç biçimde yazma rakamlarına yansımadı.

Takip Edin