1 puan yazan GN⁺ 2025-04-29 | 1 yorum | WhatsApp'ta paylaş
  • Windows 7 ve Windows Server 2008 R2’de düz renk masaüstü arka planı kullanıldığında, oturum açma sırasında Welcome ekranı en fazla 30 saniye boyunca kalabiliyordu; bunun nedeni hazır sinyalinin eksik olmasıydı
  • Oturum açma sistemi; görev çubuğu, sistem hizmeti bileşenleri, masaüstü penceresi ve arka planın görüntülenmesi gibi unsurların tamamı hazır bilgisini bildirene ya da 30 saniye geçene kadar Welcome ekranını değiştirmiyordu
  • Arka plan kodu, yalnızca bitmap arka plan olduğunda Report(WallpaperReady) çağrısını yaptığı için bitmap olmayan düz renk arka planda bekleme koşulu sonuna kadar doluyordu
  • “Hide desktop icons” grup ilkesi de aynı kalıpla, Report(DesktopIconsReady) çağrısı koşul bloğunun içine alındığında simgelerin hazır bildirimi atlanabiliyordu
  • Gerçekte oturum açma süresi her zaman 30 saniye uzamıyordu; Welcome ekranı, aslında 5 ya da 25 saniyede bitecek hazırlık sürecinden bağımsız olarak 30 saniyelik zaman aşımına kadar ekranda kalıyordu

Düz renk arka planda Welcome ekranının uzun süre kalmasının nedeni

  • Oturum açma kimlik doğrulaması tamamlandığında Windows, kullanıcının masaüstü ortamını hazırlıyordu
    • Görev çubuğunun oluşturulması
    • Çeşitli sistem hizmetlerinden sorumlu bileşenlerin yüklenmesi ve başlatılması
    • Masaüstü penceresinin oluşturulması ve simgelerin gösterilmesi
    • Masaüstü arka plan penceresinde duvar kâğıdının yüklenip ekrana çizilmesi
  • Oturum açma sistemi, her bileşenin hazır olduğunu bildirmesini bekliyordu
    • Tüm bileşenler hazır olduğunu bildirirse Welcome ekranından çıkılıyordu
    • Ya da 30 saniye geçince Welcome ekranından çıkılıyordu
  • Düz renk arka plan sorunu, arka planın hazır olduğu bilgisinin bitmap yükleme kodunun içinde yer alması nedeniyle ortaya çıkıyordu
    • Bir bitmap arka plan tanımlıysa dosya bulunuyor, belleğe yükleniyor, ekrana çiziliyor ve ardından Report(WallpaperReady) çağrılıyordu
    • Düz renk arka plan gibi bitmap yoksa ilgili kod yolu hiç çalışmıyor, bu yüzden WallpaperReady bildirimi de yapılmıyordu
    • Oturum açma sistemi hiç gelmeyecek bu bildirimi beklerken 30 saniyelik sınıra ulaşıyordu

Grup ilkesinde de aynı hazır sinyali eksikliği tekrarlandı

  • İlgili destek belgesinde, “Hide desktop icons” grup ilkesi etkin olduğunda da 30 saniyelik gecikme yaşanabileceği belirtiliyor
  • Grup ilkeleri çoğu zaman mevcut kodun üzerine sonradan eklendiği için, tüm akışın “ilke izin veriyorsa çalıştır” türü bir koşul bloğuna alınması kolay olabiliyor
    • Başlangıçta masaüstü simgelerini başlatan kod, masaüstü klasörüne bağlanıyor, simgeleri listeliyor, ekrana ekliyor ve ardından Report(DesktopIconsReady) çağrısını yapıyordu
    • Grup ilkesi desteği eklenirken bu bloğun tamamı ilke koşulunun içine alınırsa, simgeleri gizleme ilkesi etkin olduğunda hazır bildirimi de hiç çalışmıyordu
  • Bu durum, oturum açma işleminin kendisinin gerçekten 30 saniye daha uzun sürdüğü anlamına gelmiyordu
    • Sistem performansına bağlı olarak tüm hazır bildirimlerinin tamamlanması normalde 5 saniye de sürebilirdi, 25 saniye de
    • Sorun olduğunda ise Welcome ekranı, gerçek hazırlık süresinden bağımsız olarak 30 saniyelik zaman aşımına kadar kalıyordu
  • Belgedeki zaman damgasına göre bu sorun, Windows 7’nin Temmuz 2009’daki çıkışından birkaç ay sonra, Kasım 2009’da düzeltildi
  • Bitmap arka planlardan kaçınılmasının nedenlerinden biri de geçmişte 4 MB veya 8 MB bellekli ortamlarda yalnızca duvar kâğıdının yaklaşık 0.75 MB yer kaplamasının ciddi bir yük sayılmasıydı

1 yorum

 
GN⁺ 2025-04-29
Hacker News yorumları
  • Düz renk arka planları tercih eden biri olarak, bu kadar basit bir zevkin sık sık tuhaf tavşan deliklerine açılması beni hep şaşırtıyor.
    Güncel macOS’te özel bir düz renk arka plan ayarlamaya çalışınca yalnızca göz kamaştırıcı beyaz bir ekran çıkıyor: https://discussions.apple.com/thread/256029958?sortBy=rank
    GNOME, düz renk arka plan ayarlama arayüzünü tamamen kaldırdı; ama birkaç ayar anahtarını elle değiştirirseniz teknik olarak hâlâ mümkün ve o anahtarlar da sürümden sürüme rastgele değişiyor gibi görünüyor: https://www.tc3.dev/posts/2021-09-04-gnome-3-solid-color-bac...
    Sonuçta bu, az sayıda kullanıcı için yarım yamalak bırakılmış bir özellik gibi görünüyor; ya düzgün desteklemek ya da temizce kaldırmak daha iyi. Sadece RGB değerlerini girmek istiyorum, ama mevcut durumda sallantılı arka plan rengi mantığı yerine iyi bakımı yapılan tek bir duvar kâğıdı sistemi bence daha iyi.

    • KDE’de kontrol ettim; duvar kâğıdı ayarlarında wallpaper type: plain color seçilince renk seçici ile belirlenebiliyor.
      Uygulanacak ekranı da gösteriyor ve tüm ekranlara tek seferde uygulamak için boolean bir seçenek de var.
    • En son Android Galaxy telefon kullandığımda, tamamen siyah bir arka plan kullanmak için Galaxy Store gibi bir yerden siyah bir görsel indirmem gerekmişti.
      Modern telefon ekranlarında hem güç tüketimi açısından mantıklı hem de göze hoş geliyor; ama varsayılan bir seçenek ya da ayarlarda tek dokunuşluk bir anahtar olması gereken şey, güvensizlik, arama ve kabullenişten geçen angarya bir işe dönüşmüştü.
    • GNOME’un düz renk arka plan arayüzünü kaldırıp yalnızca ayar anahtarlarını elle değiştirmeyi bırakması gerçekten GNOME’a özgü deneyimin zirvesi.
    • Yakın zamanda macOS’te de düz renk ayarlamıştım, ama birkaç kez varsayılan orman fotoğrafına geri döndü.
      Eski OS X’te 20 yılı aşkın süre sorunsuz çalışan bir özellikti; bu yüzden System Preferences’ın yeniden yazılmasıyla ilgili gibi görünüyor.
    • Ben de düz rengi tercih ediyorum ama değiştirmenin pek anlamı kalmadığını hissettim.
      Masaüstü kısayolları nesiller boyunca suistimal edildiği için masaüstünü göstermek ekran alanı israfına dönüştü; dikkatli olsanız bile sonunda dağınık bir çorak araziye dönüşüyor. Windows’ta özellikle böyle; ben de masaüstünü hiçbir amaçla kullanmamaya ve birden çok monitörde pencereleri hep açık tutmaya alıştım.
  • Son 25 yıldır Windows dünyasından uzak durup son yıllarda kurumsal ortama dönünce, Microsoft araçlarında bu kalıbı sürekli görüyorum.
    Güvenlik sorunu nedeniyle Teams yüklenmezken bildirimlerde mesajın tüm içeriğinin görünmesi ya da Word’ün bulut sürümünde birkaç kelime yazdıktan veya tüm belgeyi yapıştırdıktan sonra güvenlik denetiminin yetişip duyarlılık etiketi ayarlamamı istemesi gibi.
    Bu, Microsoft’un web uygulaması yazılım mimarisinin çok kötü olduğuna dair bir işaret gibi görünüyor; masaüstü uygulamaları da istisna değil gibi.

    • Bu yalnızca Microsoft’a özgü bir sorun değil. Eski Google Photos’un da, uygulamanın fotoğraflara erişim izni yokken kendi fotoğraflarımdan yapılmış yapay zeka ile oluşturulmuş albüm önizlemesi bildirimi gönderdiğini hatırlıyorum.
      Ardından izin isteği gelmişti; reddedince önizleme kaybolmuştu.
    • Microsoft ürünleri için hep %80 tamamlanmış diye şaka yaparım.
      Bariz kullanım senaryolarında çok iyi çalışırlar; ama kapsanmamış bir sınır durumuyla karşılaşınca hemen tuhaf sorunlara çarparsınız. Geliştiricilerinin yeteneksiz olduğuna dair bir şöhreti yok; bu yüzden sebep şirket kültürü ya da çalışma biçimi olabilir. Devasa kullanıcı tabanında %80, iş açısından optimum da olabilir. Yine de dış geliştirici olarak mümkünse Microsoft ürünlerinden uzak durmama yol açıyor.
    • En sinir bozucu olan, Windows makinelerin derin uyku yeteneğini kaybetmiş olması.
      5 yıl önce kusursuz şekilde uyuyan dizüstüler artık CPU’su, fanı ve sabit diski sürekli dönen 24 saatlik zombilere dönüştü.
      Yazıda anlatılana benzer aptalca bir değişikliğin, düzgün çalışan bir özelliği bozduğuna; ayrıca 10 yıllık bir dizüstünün uykudayken bile yapay zeka çalıştırıp gizlice dinlediklerine dayalı reklam önermesini sağlayacak son saçma fikirlere engel olmasın diye kimsenin bunu düzeltmediğine eminim.
  • Bu, o dönemlerde başlamış olabilecek bir pratikle bağlantılı: açılış ekranını yalnızca belirli bir süre gösterip, yazılım tamamen başlamadan kullanıcı ortamını önce göstermek.
    Hem işletim sistemlerinin hem de uygulamaların, “uygulama çok uzun sürüyor” algısından kaçınmak için böyle yaptığından şüpheleniliyordu. Artık kullanmadan önce yazılımın gerçekten yüklenip yüklenmediğini tahmin etmek gerekiyor.

    • Kurumsal bilgi sistemleri ortamında, birden fazla güvenlik ve izleme sistemi belleği tarayıp engelleyene ve buluta ayrıntılı günlükler yazana kadar beklemek gerekiyor.
      Ancak ondan sonra, alttaki yazılımın tamamının yüklenmesini boş boş bekleyen yanıt vermeyen UI thread ile karşılaşıyorsunuz.
    • Bu 30 saniyelik zaman aşımının amacı açık görünüyor.
      Yükleme ekranında sonsuza kadar takılıp kalıp başka bir işletim sisteminden önyükleme yaparak düzeltmek zorunda kalmaktansa, yarı bozuk da olsa bir şekilde kullanılabilen bir masaüstü daha iyi diye düşünülmüş.
    • “Yazılım tamamen başlamadan kullanıcı ortamını gösterme” yöntemi bugün web uygulamalarına taşındı.
      Bir şey yaptığınızda UI bir yükleme/ilerleme çarkı gösteriyor ama gerçekte sonsuza kadar sürüyor; web sayfası açılırken de boş ekranda yer tutucu çubuklar ya da bulanık renkli görseller çıkıyor. Buna sözde duyarlı tasarım deniyor.
    • Bu tür durumlarda 30 saniye sonra “yüklenmiş kabul etme” zaman aşımı olmazsa, hataya takılan kullanıcı yükleme ekranında sonsuza kadar kalır.
      Bazen sistemin gerçekten yüklendiğini iyimser biçimde varsayması kullanıcı için daha iyidir.
  • Varsayılan ayarları neredeyse her yerde kullanmayı öğrendim
    Özelleştirmeleri sürdürmek çok zahmetli olduğundan, en kolayı bunu hiç dert etmemek. İstisna, bir yerlerdeki gizemli bir dosyaya senkronize edilmiş yaklaşık 50 satırlık VS Code ayarım; muhtemelen GitHub sunucularındadır ama benim görebildiğim bir yerde değil

    • Bağımlı olduğum araçlar emacs, vim, lf, mpv, fish, foot gibi birkaç taneden ibaret olduğu için zaman ayırıp yapılandırdıktan sonra bunları bir Git deposuna koyup her yerde senkronize ediyorum
      Kişisel bilgisayarda stow kullanıyorum, uzak makinelerde ise kopyala-yapıştır yapıyorum. Bu araçlar o kadar kararlı ki Debian stable'a geçsem de sorun olmaması hoşuma gidiyor
    • Özelleştirme bakımını yapmak gerçekten o kadar zahmetli mi? Çoğunu istediğiniz gibi ayarladıktan sonra kelimenin tam anlamıyla yıllarca öylece bırakırsınız
      Birkaç yıl önceki Sublime Text yedeğini doğrudan geri yüklesem bile kullanıcı ayarlarım hâlâ çalışıyor
    • Yeniden üretilebilir ve kendi kendine yeterli yapılandırmalar, hata bildirimlerinde de çoğunlukla aynı avantajları sağlar
      Düzenli bir hatırlatma gibi söylemek gerekirse, nix gerçekten iyi
      “Bir hata var; nixos-rebuild build-vm --flake "github:user/repo#test-vm" && ./result/bin/run-*-vm ile yeniden üretim VM'ini alabilirsiniz” diyebilirsiniz. O VM'i oluşturan kod da güvenlik kâbusu gibi bir ikili yığını değil, herkesin okuyabileceği sıradan bir nix ifadesidir; yeni bir makineye uygulamak da tek komutla biter
    • Kötü varsayılanları kullanmak da zahmetli ve özelleştirme bakımından çok daha sık karşınıza çıkar
    • “Varsayılanlar muhtemelen o yazılımı senden daha iyi bilen kişiler tarafından konmuştur” diyen bir profesörüm vardı
      Varsayılanların ne yaptığını anlıyorsanız, dünyadaki tüm seçenekleri kurcalamak çoğu zaman daha zahmetlidir
  • “Rahatlatıcı yemek” ifadesi komik. AIX'ten Linux'a geçtikten sonra bile hâlâ motif window manager üzerinde steelblue4 masaüstü ve wheat xterm arka planı kullanıyorum
    1989'da üniversitedeyken ilk karşılaştığım varsayılan buydu ve o zamandan beri daha iyisinin çıkmadığını hissediyorum. GNOME, KDE gibi şeyler midemi bulandırıyor

    • Bu yazıdaki “rahatlatıcı yemek”, ne kadar büyük ve üst düzey bir ekip olursa olsun herkesin gerçekten aptalca değişiklikleri production'a gönderdiğini fark etmek
      Kapsamı biraz fazla genişlemiş, sonradan eklenmiş bir if() sarmalayıcısı klasik bir örnek
    • bb4win'e karşı nostaljim var. Üniversitedeyken öğrenmiştim ve Linux'la ilk tanışmama vesile olmuştu
      Nostalji güçlü bir ilaçtır
    • 4K monitör kullanmak istersen ne yapacağını merak ediyorum
      Alay etmiyorum; motif'te HiDPI gerçekten çalışıyor mu içtenlikle merak ediyorum
  • Çok eskiden Windows'u hobi olarak kullandığım dönemde, belirli bir Windows kayıt defteri anahtarı değerini düzenleyip explorer.exeyi cmd.exe ile değiştirmiştim
    Böylece Windows explorer.exeyi çalıştırıp duvar kâğıdı ve ikonları olan masaüstünü açmıyordu; bunun yerine UNIX pencere yöneticisi gibi, düz renk bir arka plan üzerinde her pencerenin Microsoft cmd.exe kabuğu olarak açıldığı bir ortama dönüşüyordu. Klasik Windows siyah kutuları, mavi başlık çubuğu ve ince gri kenarlıklarla görünüyordu; komut isteminden C:\windows\system32 içindeki taskmgr.exe gibi uygulamaları çalıştırabiliyordunuz
    Bana explorer.exe kullanmaya kıyasla çok daha hızlı ve sağlam hissettirmişti; kesinlikle daha hafifti. Daha sonra Arthur Whitney hakkındaki bir yazının fotoğrafında Windows masaüstünde açık tek pencerenin cmd.exe olduğu bir sahne görmüştüm; bir şey ima etmeye çalışmıyorum ama hep aklımda kaldı
    Yakın zamanda bunu Microsoft belgelerinde de gördüm: https://learn.microsoft.com/en-us/windows/configuration/shel...

    • Windows Server'da böyle bir mod var ya da vardı
      IoT ya da gömülü sistemler için düşük maliyetli/ücretsiz Windows sürümlerinde de explorer olmadan yalnızca cmd ile çalışan bir sürüm olduğunu hatırlıyorum
  • Bu tür şeyler benim sistemik hata ya da “tip hatası” dediğim kategoriye giriyor
    Oturum açma bileşenine bir token geçirip token'ın yıkıcısının sürecin tamamlandığını otomatik olarak işaretlemesini sağlasalardı, bu hatayı yazmak neredeyse imkânsız olurdu
    Bunun yerine runtime'da “bileşenler bunu hatırlamalı” şeklinde tasarladıkları için kod yapısının kendisi hataya izin veriyor
    Birkaç yıl önce Facebook'ta da benzer bir hata vardı: bildirim sayısı bildirim varmış gibi gösteriyordu ama tıklayınca hiçbir şey yoktu. Sayı güncelleme yolu ile listeye ekleme yolu farklı olduğu için uyumsuzluk oluşuyordu; ikisini aynı sistem parçası yönetecek şekilde değiştirince o hata kalıcı olarak ortadan kalktı

    • Reddit'te de hatalı bildirim ikonu sürekli çıkıyor
      Hep kötü önbelleklemeden kaynaklandığını düşünmüştüm
  • Biraz meta olacak ama Raymond Chen yazılarını haber veren “Why did happen with” tarzı başlıkları bekler oldum
    Her zaman ilginç oluyor

    • The Old New Thing, Windows tuhaflıklarının harika bir derlemesi
      Çocukluğumdan beri taşıdığım Windows'la ilgili bilişim hurafelerini çözen tek blog
  • Söz konusu kod bana sevdiğim birçok Kubernetes hatasını hatırlatıyor
    if (request.authenticationData) { ok := validate(etc); if (!ok) { return authenticationFailure; } }
    Aynı meme'in onlarca yılı aşarak sürdüğü söylenebilir

    • Bu, “doğrulama, parse et” ilkesinin iyi bir örneği
      Belirli bir yetkinin gerektiği tüm fonksiyonların o yetkiyi argüman olarak almasını sağlarsanız, örneğin void doFoo(PermissionToDoFoo permission, ...){...} gibi yazıp çağrının yalnızca kimlik doğrulama verisinden yetki elde eden yol üzerinden yapılmasını mümkün kılabilirsiniz
      Böylece yetki olmadan Foo yapma gibi geçersiz bir durumu ifade etmek baştan imkânsız hâle gelir
    • O hatayı nerede okuyabiliriz? Hatanın tam olarak ne olduğunu da merak ediyorum
      authenticationData yoksa varsayılan olarak kimliği doğrulanmış sayılması mıydı?
    • Yazılım yapma biçimi onlarca yıldır değişmedi
  • Konudan biraz sapıyor ama oturum açma ekranında otomatik olarak yenilenen Windows Spotlight duvar kâğıtlarını gerçekten seviyordum
    Bu yüzden onu masaüstü duvar kâğıdıyla senkronize eden bir script de kullanmıştım. Ancak benim Windows 10'umda sebepsiz yere durdu; bunun yerine Bing Image of the Day'i indiren bir script yazdım: https://blog.est.im/2025/stdout-03

    • Windows 11'de Spotlight'ı masaüstü duvar kâğıdı olarak ayarlayabiliyorsunuz
    • Bunun için resmi Bing Wallpaper App (https://www.bing.com/apps/wallpaper) var, ancak varsayılan tarayıcıyı Edge'e çevirmeye çalışan can sıkıcı öğeler ve dark pattern'lar her yolla içine yerleştirilmiş
    • KDE Plasma'da bu yerleşik bir özellik