Windows NT’nin “Format Dialog” Özelliği
(twitter.com/davepl1968)- 1994 sonlarında Microsoft, Windows95 UI kodunu Windows NT’ye taşırken, NT ile Windows95 arasındaki farklar nedeniyle disk biçimlendirme için ayrı bir UI’a ihtiyaç duydu
- Dosya sistemi, etiket, küme boyutu, sıkıştırma, şifreleme gibi biçimlendirme seçenekleri kâğıda döküldükten sonra VC++ 2.0 Resource Editor ile dikey bir seçim listesi oluşturuldu
- Daha iyi bir UI gelene kadar kullanılmak üzere yapılan geçici iletişim kutusu, yaklaşık 30 yıl sonra bile o dönemki hâliyle duruyor
- Aynı çalışma sürecinde cluster slack için kabul edilebilir aralığın keyfî biçimde belirlenmesi, FAT birimleri için biçimlendirme boyutu sınırının 32GB olmasına yol açtı
- Geçici olarak check-in edilen bir uygulama bile uzun vadeli ürün davranışına ve kısıtlarına dönüşebileceğinden, “temporary” çözümler eklerken dikkatli olmak gerekiyor
Perşembe Sabahı Yapılan Windows NT Format Dialog
- 1994 sonlarında Microsoft, Windows95 kullanıcı arayüzü kodunun önemli bir bölümünü Windows NT’ye port ediyordu
- Format özelliği, NT ile Windows95 arasındaki farkların büyük olması nedeniyle ayrı bir özel UI gerektiren alanlardan biriydi
- Disk biçimlendirmede seçilecek öğeler önce kâğıt üzerinde düzenlendi
- Dosya sistemi
- Etiket
- Küme boyutu
- Sıkıştırma
- Şifreleme
- Ardından VC++ 2.0 ve Resource Editor ile seçim öğeleri, gereken sıraya yakın olacak şekilde dikey bir yığın hâlinde yerleştirildi
- Bu UI, tamamlanmış bir tasarımdan ziyade, daha iyi bir UI gelene kadar kullanılacak geçici bir uygulamaydı
Geçici Uygulamanın Bıraktığı Uzun Vadeli Etki
- Yaklaşık 30 yıl sonra bile söz konusu iletişim kutusu, o Perşembe sabahı oluşturulan hâliyle duruyor
- FAT birimleri için biçimlendirme boyutunun 32GB ile sınırlanması da aynı dönemde alınan keyfî bir karardan kaynaklandı
- O sırada cluster slack’in ne kadarına izin verileceğine karar vermek gerekiyordu
- Bu karar, FAT birimi biçimlendirme boyutu sınırına dönüştü
- “temporary” check-in’ler, niyetin aksine ürünün uzun vadeli davranışı ve kısıtları olarak kalıcılaşabilir
1 yorum
Hacker News yorumları
Windows NT4 kaynak kodunda, 13 Şubat 1995’te format iletişim kutusu kodunun bir kısmını ilk kez onun yazdığı doğrulanabiliyor; yani 1994 sonu–1995 başı ifadesi genel olarak doğru
Ancak NT4 FAT32 desteklemiyordu; FAT birimleri de 64K kümelere izin verdiği için o dönemdeki pek çok sistemden daha büyük, 4GB’a kadar çıkabiliyordu. NT4’ün FAT formatında küme denetimi ya da seçenek yoktu; küme boyutu birim boyutuna göre belirleniyordu
Üstelik FAT32 birimlerindeki 32GB sınırı iletişim kutusunda değil, dahili format fonksiyonu tarafındaydı. Windows 2000’de 32GB’tan büyük bir sürücüyü FAT32 olarak biçimlendirmeyi deneyebilirsiniz, ama biçimlendirmenin sonunda hard-coded sınır yüzünden başarısız olur. Aynı fonksiyonu kullanan komut satırı aracı format.com için de durum aynıdır
Onun kendi katkısını neden sürekli abarttığını bilmiyorum. Microsoft’un Info-Zip’ten lisansladığı Zip klasör kodunu da, entegrasyon sırasında dokunduğu için onun yazdığına inananlar çıktı. Şimdi bir influencer olmaya çalışıyor gibi; abartı da böyle insanların yaptığı bir şey sanki
1994 sonunda FAT32 geliştirme aşamasında mıydı bilmiyorum, ama ne Windows NT 4’te ne de ilk Windows 95’te vardı. Windows 95 OSR2’ye girdiğinde bile format komutu 128GiB bölümleri sorunsuz kabul ediyordu; gerçi Windows 95, NT değil
Asıl neden Windows 2000’in dahili format fonksiyonu gibi görünüyor. GUI, format komutu ve diskpart’ın hiçbiri 32GiB üstünde dosya sistemi oluşturamıyor. O dönemde zaten bu boyutun üzerinde sürücüler vardı; bunun neden böyle yapıldığı belli değil. Linux’taki mkdosfs gibi bir şey kullanırsanız Windows 2000+’ın VFAT sürücüsü 2TiB birimleri bile kabul ediyor ve bu kadar büyük birimlere Windows 2000 kurulabiliyor
Açıkçası bir obfuscation aracından geçmiş gibi görünüyordu ve asıl yazarın Microsoft’un değişiklik ya da iyileştirme yapmasını zorlaştırmak için bunu bilerek yaptığını düşünmüştüm. Hâlâ o kodun kâbuslarını görüyorum
Öyleyse Corvette nereden çıktı: https://www.tomshardware.com/software/windows/dev-shows-off-...
O kod XP’nin bazı sürümlerinde de kalmış gibi görünüyor: https://github.com/tongzx/nt5src/blob/daad8a087a4e75422ec96b...
ZIP desteği konusunda Zip klasörlerinin kendi kaynak kodunu bulmak zor. Bunun yerine başka bir şirket olan Schlumberger Technology Corp.’tan alınmış kod parçaları var: https://github.com/tongzx/nt5src/blob/daad8a087a4e75422ec96b... yorumlara inanırsak 1996’da eklenmiş kod
Dave Plummer gerçekten harika biri. Tarihin en yaygın kullanılan çekirdeklerinden birini yaparken yaşadıklarını bu kadar sakin anlatması hoşuma gidiyor
Windows için Görev Yöneticisi, Windows NT için Space Cadet Pinball portu, Windows için Zip dosya desteği, Amiga için HyperCache[4] gibi pek çok yazılım geliştirmiş; ayrıca yazılım mühendisliği alanında 6 patenti olduğu söyleniyor
https://en.wikipedia.org/wiki/Dave_Plummer
Yaygın bir tuzağı iyi gösteriyor. Bir sorunu geçici çözümle “çözdüğünüzde”, daha iyi çözümün önceliği hâlâ çözülmemiş tüm sorunların altına düşer.
Böyle çözülmemiş sorunlar her zaman yeterince çoktur; bu yüzden kimse geçici çözüme tekrar dönüp bakmaz.
Nerede duydum bilmiyorum ama şirkette geçici çözüm göndermek yerine baştan düzgün yapmaya ikna etmek için sıkça kullanırım.
“Dosya sistemi, etiket, küme boyutu, sıkıştırma, şifreleme vb. disk biçimlendirmeyle ilgili seçilebilecek tüm seçenekleri kâğıda yazdım” akışından “zarif UI gelene kadar idare edecek geçici bir UI idi” sonucuna pek varılamıyor gibi.
Gerekli tüm seçenekleri basit bir arayüzde gösteriyorsa, daha “zarif” arayüzde ne olması gerekiyor ki?
O iletişim kutusu hâlâ durmakla kalmadı, HP USB Disk Storage Format Tool gibi araçları da etkiledi. 32GB FAT32 sınırını aşmak için her zaman kullandığım araçtı: https://www.majorgeeks.com/files/details/hp_usb_disk_storage...
Şu hâliyle mükemmel; umarım “zarif UI” ile değiştirmezler.
Biçimlendirme iletişim kutusunun yerine gelen yeni UI’ı oldukça beğeniyorum. Ancak Disk Manager işlevlerini ikame eden kısmı, disk düzeninin grafiksel gösterimi olmadığı için biraz eksik kalıyor.
Varsayılan görünüm: https://i.imgur.com/56yZ8gZ.png
Gelişmiş görünüm bölümü: https://i.imgur.com/fKb3R8c.png
Mevcut bölümü biçimlendirme: https://i.imgur.com/DmbX3FQ.png
Mükemmel değil ama aynı yerleşimi büyük ölçüde koruyup OS temasına uydurmuş; eski Disk Manager’da birkaç sayfalık sihirbaz olan bazı seçenekleri de eklemiş. “start” yerine “format”ın daha doğrudan olması, “close” yerine “cancel”ın daha uygun olması gibi küçük iyileştirmeler de var. Tabii genişliğin %33 artmasını dünyanın sonu gibi görecek kişiler de olacaktır.
Yine de yeni bölüm boyutunu hâlâ MB cinsinden girdirmesi muğlak. Yerelleştirilmiş sayı ayırıcıları koyuyor ama gelecekte sayılar daha da büyüyecekken milyonlarca MB’ı önemsemek biraz tuhaf.
Geçici çözüm ve kalıcı çözüm ayrı şeylermiş gibi değil de, kötü çözümler ve iyi çözümler var diye düşünüyorum. İyi çözüm, hızlı uygulanmış olsa bile yeterince iyi olduğu için kalmaya devam eder.
Kötü çözüm de bir süre tek ya da gerçekçi seçenekse kalabilir ve sonrasında gelen her şeyin onunla geriye dönük uyum sağlaması gerekir.
Avrupa’nın en büyük ve en eski bankalarından birinde çalıştım; operasyon ortamı çoğu zaman böyle geçici çözümlerle doluydu.
Genellikle önceki geçici düzeltmenin yarattığı büyük bir sorunu hızla düzeltmek için yine geçici olarak yapılmış şeylerdi.
“Yeterince iyi” geçici çözümlere dikkat etmek gerek. Şirketin çekirdek loglama bileşeni bir stajyer tarafından yazılmıştı ve adında POC geçiyordu.
Veri formatı da bir stajyerin yapacağı türdendi; herkes bunu doğru düzgün fark ettiğinde ise çok fazla veri yazılmıştı ve düzeltmenin bütçesiyle emeği, sorunun kendisinden daha büyük hâle gelmişti.
Her şeyi her zaman mükemmel yapamayacağımı; en önemli olana öncelik verip daha az önemli olanları bir ölçüde geçiştirmem gerektiğini söyleyerek kendimi teselli ederim.
Eski deyişteki gibi, geçici çözüm kadar kalıcı bir şey yoktur.