3 puan yazan GN⁺ 22 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Hardcore IndieWeb, içerik asıllarını ve yayımlanabilir HTML/web varlıklarını kendi cihazında tutup kimliği ve içerik üzerindeki kontrolü hizmet sağlayıcılara bırakmayan bir yaklaşım.
  • HTML’yi tarayıcıda önizleyip sonra hosta yükleyen 1990’lar usulü yayın süreci izlenirse CMS, SSG, framework, CLI ya da aylık abonelik olmadan site işletmek mümkün.
  • Yalnızca bir metin editörü, bir SFTP aracı ve bir web host yeterli; NearlyFreeSpeech.net üzerinde statik bir site günde $0.01’a çalıştırılabiliyor ve hesap bakiyesi $0.25’ten başlayarak yüklenebiliyor.
  • Landing page, tekil yazılar, arşiv ve Atom feed dosyalarını doğrudan yöneterek her sayfada yapı ve tasarımı değiştirmek, ayrıca yalnızca değişen dosyaları aktarmak mümkün.
  • Host ortadan kalksa bile tamamlanmış site başka bir yere aynen yüklenebilir; ancak araç sayısı arttıkça bağımlılıklar da arttığından, yerel kaynakları ve yayımlanmış kopyayı elde tutmak bağımsızlığın şartı.

Hardcore IndieWeb’in talep ettiği bağımsızlık

  • IndieWeb, web üzerindeki kimliği ve içeriği doğrudan sahiplenip şirketlerin dış kontrolünden çıkmayı amaçlayan pratik bir yaklaşım.
  • Abonelik temelli blog servisleri de IndieWeb’e katılmaya yardımcı olabilir, ancak içerik esas olarak başkasının veritabanı ve sunucularında duruyorsa tam anlamıyla bağımsız değildir.
    • Açık bir formatta dışa aktarılabilse bile, hizmet kullanıldığı sürece içerik üzerinde tam kontrol yoktur.
    • Bu yaklaşım, mevcut hizmetlerden memnun olanlardan ziyade içerik üzerinde tam bağımsızlık ve kontrol isteyenlere uygundur.
  • Hardcore IndieWeb, mevcut IndieWeb ilkelerine kontrol ve taşınabilirlik için somut ölçütler uygular.
    • İçerik esas olarak kendi sabit diskinizde değilse, tam olarak kontrol ettiğiniz söylenemez.
    • Yayımlanmış HTML ve web varlıklarının bir kopyası sabit diskinizde yoksa, site tam taşınabilir durumda değildir.
  • Bir hizmet kapanır ve verileri dışa aktarmak imkânsız hale gelirse, kâğıt üzerinde içerik sahipliği olsa bile ona erişmek ya da taşımak mümkün olmayabilir.
  • İşletmecinin davranışları nedeniyle hizmetten ayrılmak isteseniz bile, dışa aktarılan formatı destekleyen başka bir servis bulmanız, içeriği dönüştürmeniz ve araçlar ile süreçleri değiştirmeniz gerekebilir.
  • İçerik kaynakları ile tamamlanmış yayımlanmış kopya yerelde bulunuyorsa, bu tür durumlarda da kontrol ve taşınabilirlik korunabilir.

1990’lar usulü web yayın süreci

  • Hardcore IndieWeb, web’in ilk dönemlerindeki basit yayın yaklaşımını izler.
    1. İçeriği sabit diskte yaz
    2. Web tarayıcısında önizle
    3. Memnunsan web hosta yükle ve gerektiğinde tekrarla
  • Alan adı dışında gerekenler sadece bir metin editörü, bir dosya aktarım aracı ve bir web host.
  • Programlama ortamı, IDE, framework, shell, CLI araçları ya da aylık abonelik gerekmez.
  • HTML bilgisi gerekir, ancak HTML for People gibi kaynaklarla öğrenilebilir; az sayıda etiket ve kopyala-yapıştır ile başlamak da mümkündür.
  • Karmaşık SaaS, CMS, SSG, işaretleme dilleri ve şablon sistemleri isteğe bağlıdır; dosyaları doğrudan yayımlayan basit yöntem hâlâ çalışır.

Gerekli araçlar ve hosting

  • Metin editörü olarak, dosyaları diske kaydedebildiği sürece her şey kullanılabilir.
  • Dosya aktarımı için SSH veya SFTP destekleyen bir araç gerekir.
    • FileZilla, birden çok işletim sistemini destekleyen seçeneklerden biridir.
  • Statik site hostu olarak NearlyFreeSpeech.net öneriliyor; siteyi günde $0.01’a çalıştırmak mümkün.
    • Adam Newbold bu hizmeti 2008’den beri kullanıyor.
    • Hesaba $0.25’ten başlayarak bakiye yüklenebilir ve static, non-production site eklenebilir.
    • Sites sekmesinde site adını seçerek dosya aktarımı için giriş bilgileri görülebilir.
    • Ücretsiz bir alt alan adı verilir; Domains sekmesinden kişisel alan adı eklenebilir.
  • NearlyFreeSpeech zorunlu değildir; temel statik dosya hosting’i sunan başka web hostları da tercih edilebilir.

Mevcut siteyi ve HTML’yi hazırlama

  • Mevcut site veya blog HTML biçimindeyse hemen başlamak kolaydır.
  • Başka bir format kullanılıyorsa, hizmete bağlı olarak HTML’ye dışa aktarmak veya dönüştürmek mümkün olabilir.
    • Büyük bloglar için dönüştürme araçları daha uygundur.
    • Küçük ölçekliyse yazıları yeniden gözden geçirirken HTML dosyalarını elle oluşturmak mümkün olabilir.
  • Markdown tercih edilebilir, ancak HTML web’in dilidir; bazen Markdown ayrıştırıcılarıyla uğraşmaktansa saf HTML kullanmak daha basittir.
  • Sıfırdan tasarlamak zorsa, HTML5 UP gibi ücretsiz tasarım ve şablonlar indirilip düzenlenebilir.

Blogu oluşturan dosyalar

  • Tipik bir blog landing page, yazılar, arşiv sayfası ve feed bileşenlerinden oluşur; bunlar özel bir blog servisi olmadan da doğrudan yönetilebilir.
  • Landing page

    • En güncel yazının tamamı ya da bir kısmı, birden çok yazı veya yazı dışı içerik serbestçe yerleştirilebilir.
    • En yeni yazıyı göstermek için içeriği kopyalayıp bağımsız sayfaya giden bir bağlantı eklenir.
    • Son 5 yazıyı korumak için yeni yazı üste eklenir ve en eski yazı alttan silinir.
    • CMS, SSG veya şablon motorlarının kısıtları olmadığından her sayfada yapı ve sunumu değiştirmek mümkündür.
    • Landing page dosya adı index.html olmalı ve web root’ta bulunmalıdır.
    • NearlyFreeSpeech’in web root’u /home/public yoludur.
  • Blog yazıları

    • Her yazı bir web sayfası olarak oluşturulur; önceki yazı dosyasını kopyalayıp benzersiz bir dosya adı ve yeni içerik ekleyerek hazırlanabilir.
    • Diskteki dosya yapısı URL’ye yansıdığından, klasörler istenen adres yapısına göre düzenlenir.
    • /blog/ yolunu kullanmak için web root’ta blog klasörü oluşturulur.
    • the-best-lunch-i-ever-had.html gibi slug tabanlı dosya adları kullanılabilir.
    • Yazıya özel klasör içinde index.html bulunursa URL’deki .html uzantısı gizlenebilir.
    • Yazıları Markdown ya da veritabanı girdileri yerine bağımsız HTML dosyaları olarak yönetmek, her yazıya farklı stil, görünüm, düzen ve kişilik vermeyi mümkün kılar.
    • Tüm yazıların aynı görünmesi gerektiği düşüncesi modern yayın araçlarından gelir; elde yazılmış HTML’de buna uymak gerekmez.
  • Arşiv sayfası

    • archive gibi bir klasör oluşturulup içine index.html konur, ardından yazı listesi hazırlanır.
    • Sıralama ve organizasyon serbesttir; sevilen yazılar sayfanın üst kısmında ayrıca öne çıkarılabilir.

Atom feed’i doğrudan yönetmek

  • RSS feed’i özel bir sistem değil, diskte duran bir dosyadır; bu yüzden bir metin editörüyle doğrudan düzenlenebilir.
  • Wikipedia’nın Atom sayfasındaki) örnek feed kopyalanıp feed.xml dosyasıyla başlanabilir.
    • Atom, RSS ile uyumludur ve yaygın biçimde desteklenir.
    • example.com, <title>, <subtitle> gibi değerler kendi alan adınız ve bilgilerinizle değiştirilir.
    • Feed’e eklenecek her yazı için bir <entry> oluşturulup tarih, saat, başlık, özet gibi bilgiler girilir.
    • <id> için UUID Generator üzerinden yeni bir UUID alınır.
  • Tamamlanan feed, W3C Feed Validation Service içine yapıştırılarak parse edilip edilemediği kontrol edilebilir.
    • Hata çıkarsa, doğrulama hizmeti hangi kısmın düzeltilmesi gerektiğini gösterir.

Yayınlama ve güncellemeler

  • İlk yayında, dosya aktarım programıyla sunucuya bağlanıp sitenin tamamı web hosta kopyalanır.
  • Sonrasında yalnızca yeni eklenen veya değişen dosyaları aktarmak yeterlidir.
    • Güncellemede genellikle landing page, yeni yazı, feed ve arşiv sayfası değişir.
  • Yayın süreci, yerel dosyaları uzak sunucuya sürükleyip bırakma düzeyinde yürütülebilir.

Taşınabilirlik ve ek araçların sınırı

  • Tamamlanmış site kendi bilgisayarınızda bulunduğu için mevcut host ortadan kalksa bile başka bir hosta aynen yüklenebilir.
  • Blog yazılımındaki ciddi güvenlik açıklarını ya da SSG bağımlılıklarını yönetmek gerekmez; içeriğin her yönü doğrudan kontrol edilir.
  • Bu süreci korumak tek başına tamamen bağımsız bir web sitesini sürdürmek için yeterlidir.
  • İş akışını destekleyen araçlar ve süreçler eklenebilir, ancak eklenen her araç yeni bir bağımlılık da getirir.
  • İçerik kaynakları kendi cihazınızda duruyor ve yayımlanabilir sitenin tamamının bir kopyası elinizdeyse, Hardcore IndieWeb koşulları sağlanmış olur.

HTML ile doğrudan çalışmanın özerkliği

  • Temel süreç, HTML’yi doğrudan yazıp web sunucusuna yüklemekten ibarettir.
  • Son 30 yılda eklenen teknoloji katmanları, süreçler ve beklentiler web çalışmalarını karmaşıklaştırdı; kontrolü ve bağımsızlığı başkalarına devretmeye yol açtı.
  • IndieWeb hizmetleri kullanılsa bile, web varlığınızın tek kopyasını hizmet işletmecisine bırakıyorsanız tam bağımsız sayılmazsınız.
  • Hardcore IndieWeb herkese göre olmayabilir, ancak yazılarına kimin sahip olduğunu, bunların nerede ve hangi biçimde yayımlandığını önemseyenler için uygundur.
  • HTML ile doğrudan uğraşmak ve dosyaları kendi web host alanına kopyalamak, web’in ilk dönemlerindeki keyifle yeniden bağ kuran doğrudan ve özerk bir deneyim sunar.

1 yorum

 
Hacker News yorumları
  • Statik siteleri GitHub Pages ve Cloudflare Pages üzerinde ücretsiz barındırıyorum ve çok memnunum. NearlyFreeSpeech’e para ödesem bile sonuçta üçüncü taraf barındırmaya bağımlı olmak aynı; bu yüzden kendi barındırmanın teknik tatmin dışında büyük bir değer sunduğunu düşünmüyorum.
    Önemli olan, HTML ve görseller gibi varlıkları diskteki basit dosyalar olarak doğrudan yönetebilmek. Git entegrasyonu sayesinde harici bir yedek de oluşuyor; VS Code’dan master’a push edince 30 saniye içinde yayınlanıyor, eski FTP/SFTP’ye göre çok daha kullanışlı.

    • GitHub Pages ve Cloudflare Pages’ın avantajı, sitenin operatöründen daha uzun yaşama olasılığının yüksek olması. Kendi barındırmada, bir devir planı yoksa alan adının süresinin dolması ya da kartın iptal edilmesiyle bir gün mutlaka kesilir; ücretsiz hizmetlerde ise bu sadece “ortadan kalkabilir” ihtimalinden ibarettir.
    • Para ödediğinizde ürün değil, müşteri olmanızın farkı oldukça büyük.
    • Benim blogum da aynı şekilde çalışıyor: https://gigatexal.blog
  • NearlyFreeSpeech de iyi bir hizmet, ama tamamen bağımsız değil. Kendi internet altyapınız olmadan bağımsızlığa en çok yaklaşmak için evden port yönlendirme yapabilir ya da siteyi Tor gizli servisi olarak çalıştırabilirsiniz.
    torrc içinde portları ayarlamak zor değil; ancak ziyaretçilerin de Tor Browser’a ihtiyacı oluyor ve sitenin “dark web”de olduğunu açıklamak zahmetli. Sahip olduğunuz donanımla evden çalıştırıp sunucu IP’sini de gizleyebilirsiniz; bağımsız web çevrelerinde daha yaygın kullanılmaması şaşırtıcı. Normal bir alan adını .onion adresine yönlendirmek de mümkün.
    Tarayıcıda doğrudan site oluşturup barındırmaya yarayan Beaker Browser kapandı; ama Tor için site oluşturma eklentisi gibi araçlar çıkarsa yaygınlaşmaya yardımcı olabilir.

    • .onion servisleri kolayca ayağa kaldırılabilir, normal web’den daha güvenlidir ve cep telefonunda bile çalıştırılabilir.
      Nanogram: https://gitlab.com/here_forawhile/nanogram
      Spreadsheet Server: https://gitlab.com/here_forawhile/spreadsheet
      Library Server: https://gitlab.com/here_forawhile/libraryserver
      Torum: https://gitlab.com/here_forawhile/torum
    • Tor Browser, normal internette .onion adreslerinin keşfedilebilmesi için Onion-Location ve Alt-Svc desteği sunar. Onion-Location normal bir HTTPS sitesinin Onion servisini duyurmasını sağlar; Alt-Svc ise kullanıcıdan ayrı bir işlem istemeden otomatik keşif ve geçiş yapar.
      Gelecekte DNS veya DNSSEC tabanlı Onion bağlantıları da mümkün olabilir: https://onionservices.torproject.org/research/proposals/usab...
    • Mükemmel, iyinin düşmanıdır. Operatörlere ve cihaz üreticilerine de bağımlı olduğumuz gerçeği düşünüldüğünde NearlyFreeSpeech düşük riskli bir uzlaşma; kullanıcı güvenini kötüye kullandığı bir geçmişi yok ve maliyeti de fiilen yok denecek kadar az.
    • Tor bir tarayıcı değil, servistir. Tor Browser, gizlilik odaklı bir tarayıcıyla Tor servisini bir araya getiren kullanışlı bir paketten ibarettir; bu yüzden headless bir sunucuda tarayıcı olmadan da Tor sitesi çalıştırılabilir.
    • Gizli servislerin nadir olmasının nedeni, ziyaretçilerden çok fazla zahmet istemesidir. myfirstnamelastname.com adresini söylemekle 56 karakterlik rastgele bir .onion adresini iletip bir de telefona Tor Browser kurdurmak arasında erişilebilirlik açısından büyük fark var.
  • Bu akımdaki en büyük engel, içeriğe sahip olmak için gereken alan adı; ucuz olsa bile yılda yaklaşık 6 dolar tutuyor. Statik siteler pek çok yerde ücretsiz barındırılabilir ve bireyler için CDN ücretsiz katmanları yeterlidir.
    Sunucuyu kendi kendine barındırmaktan daha önemli olan, alan adı gibi benzersiz bir tanımlayıcıya sahip olmaktır; o alan adının nereye işaret ettiği çok daha az önemlidir.

    • Yazılım mühendisliğini, ihtiyaçtan değil meraktan bir şeyler deneyen zeki insanlar ileri taşıdı. İşe alırken de diplomadan çok merak ve işleri ilerletme gücüne önem verdim.
    • Yılda 6 dolar günde yaklaşık 0,016 dolar eder; daha pahalı olsa da hâlâ ucuz.
    • Asıl yazının hangi kısmında kendi sunucunuzu barındırın dendiğini bilmiyorum.
  • Bir web sunucusuna kendi dosyalarını koymanın yeni bir kavram gibi ele alınması komik.

    • Dosyanın ne olduğunu bile bilmeyen çok kişinin olduğu bir çağda, bu ruhu sürdürmek önemli.
    • İnternetin tamamının az sayıda dev şirket tarafından barındırılıp kontrol edilen bir canavara dönüşmesi ve IndieWeb diye yeni bir kavrama ihtiyaç duyulması üzücü. Dosya barındırma bir ayrıcalık değil, en başından beri neredeyse bir insan hakkı olmalıydı.
      Kendi barındırmayı yapacak teknoloji hâlâ var, ama düşünme biçimi yalnızca buluta göre değişti.
    • Eskiden public_html klasörüne dosya koymanız yeterdi; hemen kişisel web siteniz olurdu. Bu, HTML’i sürekli elle yazmak gerektiği anlamına gelmiyor; ama o dönemde web’e katılmanın hızlı ve doğal bir yoluydu.
      Unix hesapları, finger ile arkadaşınızın bağlı olup olmadığını kontrol etmeyi ve talk ya da ytalk ile kişiden kişiye sohbet etmeyi bile sunardı; arkadaşınız yan terminalde oturuyor olsa bile bu sihir gibi gelirdi.
    • Çocukların donanımı öğrenmesini bekleyin.
  • Günde 0,01 dolar ödenen NearlyFreeSpeech ‘%100 bağımsız işletim’ ise Vercel, Netlify, GitHub ve Cloudflare’ın statik hosting hizmetlerinden pek farklı görünmüyor.
    Veritabanı, geri bildirim formu, sosyal medya önizlemesi ve arama motoru optimizasyonu gerektiğinde ne yapılacağı yazıda yok; belki de bu eksiklikler ‘bağımsız web’in koşuludur, emin değilim.

    • NearlyFreeSpeech’te PHP ve veritabanı kullanılabiliyor
    • NFS ile Vercel arasında büyük fark yoksa kullanıcıların yarı yarıya olması gerekirdi; çoğunun neden Vercel’i seçtiğini merak ediyorum
    • NFS, birçok programlama dilinin kurulu olduğu tam bir Linux ortamı sunarak dinamik web sitelerini de destekliyor, ama maliyeti daha yüksek
    • Ücretsiz planda 100 bin dolarlık Netlify faturası alan biri de olmuştu
  • Bir etkinlik web sitesi için alan adına ihtiyacım vardı; Infomaniak, alan adıyla birlikte 10 MB depolama alanı da sağlıyordu. Yılda yaklaşık 5 euroya hem alan adı hem siteyi halletmek fena değil

  • Tüm verileri Git deposunun içinde tutan yorumlar için bir JavaScript eklentisi https://github.com/est/req4cmt yaptım. Git servisi HTTP destekliyorsa kullanılabiliyor ve ücretsiz Cloudflare Worker üzerinde çalışıyor; yedekleme ve taşıma git clone ile pushtan ibaret.
    Git tabanlı bir Twitter alternatifi projesi de var: https://github.com/est/gitweets
    Demo https://f.est.im/; Git notes kullanan yorumları da destekliyor. Cloudflare Workers ve GitHub Pages sayesinde hepsi tamamen ücretsiz

  • sdf.org, Unix sistemlerini bizzat öğrenmek isteyen geliştiriciler için yararlı. NetBSD Unix üzerinde ücretsiz shell hesabı sunuyor; hatırladığım kadarıyla küçük bir tek seferlik bağışla web alanı ve ek özellikler kullanılabiliyordu.
    Giriş adınız web alanının alt alan adı olduğundan dikkatli seçmek gerekiyor

  • Böyle bir iddiada bulunan sitenin Cloudflare ya da GitHub Pages üzerinde olmaması sevindirici

    • GitHub Pages, alan adı ve SSL sağlayan ücretsiz hosting; fatura çıkarmaz ve uzun vadeli görünümü de iyi. Statik siteyle uğraşmak istemiyorsanız GitHub ve Cloudflare gibi büyük sağlayıcılar en uygun seçenek gibi görünüyor
    • GitHub Pages’i sık sık öneriyorum ama yatak odasındaki Raspberry Pi ile hosting yapma yöntemini de yazdım: https://joeldare.com/private-analytics-and-my-raspberry-pi-4...
    • Cloudflare’ın korsan siteleri ayakta tutmaya devam etmesi takdire değer
    • Vercel veya Netlify için de aynısı geçerli
  • Belirli bir araçtan çok süreci öğrenmeyi ve ona sahip olmayı tercih ederim. Markdown gibi okunması ve yazması kolay bir formattan Pandoc vb. araçlarla HTML üretmeyi; HTML, CSS ve JavaScript’i hosting servisine yüklemeyi ya da senkronize etmeyi; alan adına sahip olup DNS’i GitHub Pages veya Cloudflare Pages’e yönlendirmeyi öğrenmek yeterli.
    Belirli bir araca, servise, platforma veya şirkete bağımlı olmadığınız için içerik dosyalarını istediğiniz zaman başka yere taşıyabilirsiniz. Kaynak Markdown’ı HTML’e dönüştürme süreci statik site oluşturucularla otomatikleştirilebilir.
    HTML bilmek yararlı ve eğlenceli ama ‘siteyi %100 bağımsız işletmenin’ zorunlu koşulu olmak zorunda değil. GitHub ve Cloudflare’da ayda 0 dolara çalıştırır, hizmet kapanır ya da ücretli olursa başka yere taşırsınız

    • Yazının özü, gönderileri Markdown ya da veritabanı kaydı olarak değil tek tek HTML dosyaları olarak tutunca her sayfaya kendine özgü stil, görünüm, yerleşim ve kişilik verilebilmesi. Modern yayın araçlarının ürettiği tek tip blog kalıbından çıkıp her gönderiyi farklı hale getirebilirsiniz
    • HTML, insanların okuyup yazması için iyi bir formattır. Uygun araçlar ortaya çıkmadan önce bile bilgisayar bilimleri mezunu olmayanlar dahil pek çok kişi HTML, JavaScript ve CSS’i metin düzenleyicide doğrudan kullanıyordu; basit siteler için zor değil.
      Sürecin sahipliği ve tam bağımsızlık isteniyorsa web dillerini doğrudan anlayıp kullanabilmek gerekir. Nikola gibi statik site oluşturucular kullanışlıdır; ama çıktısını anlayamıyor ya da doğrudan düzenleyemiyorsanız hâlâ üçüncü taraf bir araca bağımlısınız demektir