hayat etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
hayat etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

3.04.2025

Karakter kodlama (encoding)

Bu ilginç bir konu. Bilgisayarınızda bir metin düzenleyici açıp sadece "a" (tırnaklar olmadan) yazıp kaydettiğinizde diske ne yazılır? Yazılan hiçbir zaman sadece "a" olmaz. Aslında arka planda "a" diye birşey de yoktur. Bu konu 1960'larda ASCII standardı ile bir düzene oturtulmuş. Bir metin dosyasına yazılabilecek her şey bir tabloda toplanmış [1]. Bu standardın ilk geliştirildiği dönemde bu tabloda hangi harf ve diğer karakterlerin olacağına dair bazı görüşmeler olmuş. Bu görüşmelere Türkiye'nin de davet edildiği, ancak o dönemde Türkiye'nin başka işleri olduğuna dair bir şey duymuştum ama doğrulayamadım. Sonuçta bu tabloda ç ve ü gibi (Türkçe hariç diğer dillerde de var olan) harfler var, ama ı ve ğ gibi (sadece Türk alfabesine özgü) harfler yok. Türkiye 1980'lerin sonunda oyuna dahil olmuş ve ISO 8859-9 standardında Türkçe harflerin tümünün yer aldığı bir kodlama oluşturulmuş (bir de Windows 1254 mü var?).

Benzer şekilde çok sayıda karakter tablosu oluşmuş. Bir dosyanın düzgün görüntülenmesi için ilgili dosyanın belli bir karakter kodlaması / tablosu ile açılması gerek. Yani diskte 221 yazıyorsa her tabloda bu aynı harfe karşılık gelmeyebilir.

Bunların hepsi 1 karakterin 8 bitlik (1 byte) kodlama ile ifade edildiği dönemdi. Yani 2 üzeri 8 = 256 yapacağından, her tablo en fazla 256 karakter içeriyor ki buna bazı kontrol karakterleri, sayılar, küçük ve büyük harfler ile bazı özel sembollar (parantez, artı ve eksi işareti gibi) ve noktalama işaretleri de konduğunda aslında sadece 1 alfabe içerebilen bir tablodan bahsediyorum. Aynı anda sadece 1 karakter tablomuz olacağından iki farklı dilde harfin olduğu bir metin dosyasının var olması mümkün değildi.

Daha sonraları 1 byte (8 bitlik) kodlamanın yerine çok byte'lı kodlamanın kullanılması ve aslında dünya üzerindeki bütün alfabelerin sığdırılabileceği hatta bazı özel karakterlere bile yer kalacak bir tablonun yürürlüğe girmesi söz konusu olmuş. Bu durumda her harf iki veya daha fazla byte ile ifade edilir olmuş. İşler giderek karmaşıklaşıyor.

Standartların oluşması bana hep bu karikatürü çağrıştırıyor.

Sonunda açmak üzere olduğumuz dosyanın tek byte mı çift byte mı kodlama ile oluşturulduğunu önceden bilmemiz, hatta tek byte ise hangi karakter tablosu ile oluşturulduğunu bilmemiz/tahmin etmemiz/deneye yanıla bulmamız gerekiyor. Hala bazı metin dosyalarını açarken karakter kodlamasını söylememizi istemesi veya bazı (yüksek ihtimalle Türkçe) karakterlerin bozuk görüntülenmesi bundan kaynaklı.

Dosyada bazı karakterler (veya tümü) birden fazla byte kullanılarak ifade ediliyorsa bunu dosyanın başına bir imza koyarak işaretlemek istemişler. Bunun için Byte Order Mark (BOM) denen bir imza oluşturulmuş. Bir de bilgisayar dünyasında çok byte'lı verileri yazarken önce büyük basamakların mı yoksa küçük basamakların mı yazılacağı konusu var.

Dosyanın başındaki ilk 4 byte'ın aşağıdaki değerlerine göre dosya tipleri şöyle:

    byte 1        byte 2        byte 3        byte 4    Anlamı
 0x2b 0x2f 0x76-
 UTF7
 0xff 0xfe
--
 Unicode - little endian    
 0xfe
 0xff-- Unicode - big endian
 0x00
 0x00
 0xfe
 0xff UTF32
 0xef
 0xbb
 0xbf
- UTF8
---- ASCII

Herhangi bir byte için "-" olması o byte'ın öneminin olmadığı anlamına geliyor. Koşulların hiçbirisi sağlanmıyorsa (en alttaki satır) dosyanın ASCII olduğu varsayılıyor.

UTF8 kodlaması için şu tablo, genişçe bir Unicode tablosu için şu tablo, her türlü kodlamayı tek sayfada görmek için de şu sayfa kullanılabilir.

Örnek birkaç karakter için kodlamalar

    Karakter    
    ISO 8859-9    
    UTF8    
    U+
a
 97  (0x61)
 0x61 U+0061 
ç
 231 (0xE7)   0xC3 0xA7 
 U+00E7
ğ 240 (0xF0)
 0xC4 0x9F
 U+011F

Linux'ta dosya tipini öğrenmek için

file -i dosya.txt

Dosyayı hex olarak görüntülemek için

hexdump -C dosya.txt

veya

xxd dosya.txt

dosyayı bir kodlamadan başka bir kodalama dönüştürmek için de

iconv -f ISO-8859-9 -t UTF-8 dosya.txt > dosya2.txt

Windows powershell'da bu kadar fazla seçenek olmasa da dosyayı belli bir kodlama ile açmak için

gc dosya.txt -encoding utf8

Hex olarak görmek için

format-hex dosya.txt

 Ve dosyayı başka bir kodlamaya çevirmek için

gc dosya.txt -encoding ascii | sc dosya2.txt -encoding UTF8

---

[1] https://en.wikipedia.org/wiki/ASCII

[2] https://lokalise.com/blog/what-is-character-encoding-exploring-unicode-utf-8-ascii-and-more/

26.12.2024

Spotify klavye kısayolları

Ortalama bir müzik severden daha fazla zamanımı müzik dinleyerek geçiriyorum. Bu sebeple Spotify kısayolları önemli. Spotify'da klavye kısayollarına ulaşmanın da bir kısayolu var: Shift+? (Türkçe-Q klavye düzeninde doğrudan bir soru işareti olmadığı için bu genelde Ğ'nin üzerine gelen * tuşu olmalı) [1]. Yanlışlıkla Shift+? ararken Ctrl+?'e bastıysak yazılarınız küçülmüş olabilir. Bu durumda Ctrl ile birlikte klavyenizin sağ bölümündeki tuş takımının olduğu yerdeki '+' işaretine basarak büyütebilir, veya aynı yerdeki '-'ye basarak tekrar küçültebiliriz. Eski haline döndürmek için Ctrl+0 kullanılabilir. 'Son durumda en çok kullandığım kısayollar şöyle:

Çalan şarkıyı görüntüle     Alt + Shift + J
Çalma listesinde bul        Ctrl + F
Ev sayfasına git            Alt + Shift + F
Beğendiğim şarkılara git    Alt + Shift + S
Kütüphane                   Alt + Shift + 0
Çalma listelerimiz          Alt + Shift + 1
Sanatçılarımız              Alt + Shift + 3
Albümlerimiz                Alt + Shift + 4
Sizin için                  Alt + Shift + M
Çevrim dışı/içi geçişi      Ctrl + Alt + O (o harfi)

11.11.2024

Çoklu masaüstünü yönetmek

Windows'da çoklu masaüstü ortamı kısayolları:

Alt + Tab: Mevcut masaüstünde açık pencereler arasında geçiş yapmak

Win + Tab: Mevcut masaüstündeki pencerelerin yanı sıra diğer açık masaüstlerini de gösteren bir görünüm. Buna "Görev Görünümü" deniyor, hatta görev çubuğunda bu görünüme ait bir öğe (buton/düğme ya da her ne dersek) var. Buradan diğer masaüstlerine geçiş yapabilir, yeni masaüstü açabilir veya açık olanları kapatabilir, hatta pencereleri masaüstleri arasında taşıyabiliriz. Masaüstlerini isimlendirebilir, arka planlarını da değiştirebiliriz.

Win + D : Masaüstünü göster (bütün pencereleri küçült).

Win + Tab : Görev görünümü (tüm pencereleri ve masaüstlerini görmek)

Win + Ctrl + D: Yeni masaüstü oluşturmak

Win + Ctrl + F4: Masaüstlerinden birini kapatmak (uygulamalar kapanmaz)

Win + Ctrl + < / > (sağ ve sol ok tuşları): Bir önceki/sonraki masaüstüne geçiş.

Win + Alt + < / > : Seçili pencereyi dikey olarak 3 bölüme ayrılmış bölümler arasında taşı.

Win + Alt + v / ^ (alt ve üst ok tuşları): Seçili pencereyi yatay olarak 2 bölüme ayrılmış bölümler arasında taşı.

Ve KDE'deki kısayollar:

Ctrl + F10: Bütün masaüstlerindeki bütün pencereleri küçük resimler halinde listele.

Ctrl + F9: Mevcut masaüstündeki pencereleri küçük resimler halinde listele.

Ctrl + F7: Mevcut uygulamaya ait bütün pencereleri küçük resimler halinde listele.

Ctrl + F12: Masaüstünü göster (bütün pencereleri küçült).

Win + Q: Etkinlikleri yönet

Ctrl + F1: İlk masaüstüne git

Ctrl + F2: İkinci masaüstüne git

Win + W: Genel görünüm (*)

Win + G: Izgara görünümü (*)

23.09.2024

Turing testlerinin geçilebilirliği

Yıllar önce Alan Turing, düşünebilen makinelerin sınırlarını düşünmüş. Bugün kullandığımız Turing (ya da CAPTCHA) testi bu çalışmanın sonucu. Geçtiğimiz dönemde bu testlerin amacı, bir web sayfasına erişimin bir insan tarafından mı, yoksa bir makine (yazılım/betik) tarafından mı yapıldığını ayırt etmekti. 2024 itibabiyle artık yapay zekalar Turing testini geçmeyi başardılar. Bu ilginç bir milat olacak. 50'lerde başlayan "düşünen makineler" kavramları hakkında çok hayaller kuruldu, çok farklı projeksiyonlar yapıldı. Genel beklenti 2000'den önce insanlarla eşdeğer düzeyde makineler tasarlanabileceği yönündeydi. Ama bu beklentiler biraz gecikti. Kısmet 2020'lereymiş.

İnsanların bile %67'sinin doğru olarak cevaplayabildiği bir testi GPT4 %54 doğruluk payı ile cevaplayabilmiş. Ufukta insanlardan daha zeki makineler var. İnsanların çözemediği sorunları makinelere çözdüreceğiz; insanların taşıyamadığı yükleri iş makinelerine taşıttığımız, insanların altından kalkamayacağı matematiksel işlemleri bilgisayarlara hesaplattığımız gibi. Bunun sonucunda bugün gidilmesi zorunlu olmayan gym salonları ve sadece ilkokulda çarpım tablosunun ezberlenmesine benzer şekilde gelecekte belki de temel düzeyde "düşünme" derslerimiz olacak.

2.01.2024

Güneş patlamaları ve tahmin edilebilirlik

Bugünlerde yoğun olarak Güneş'teki lekeler ve güneş patlamaları hakkında konuşuyoruz. Güneş'te meydana gelebilecek patlamaların Dünya üzerindeki etkileri nasıl olur, bunlar bilişim sistemleri başta olmak üzere hayatı nasıl etkiler gibi konuları merak ediyordum. Yaptığım kısa araştırma ve bu patlamaların önceden tahmin edilmesi ile ilgili buluklarımı paylaşacağım.

Güneş üzerinde meydana gelen reaksiyonlar yıllara göre bir değişim gösteriyor. Bu değişim periyodik bir yapıda. Bu periyoda Güneş Döngüsü (Solar Cycle) deniyor. Döngümüzün periyodu 11 yıl ve bu süre içinde bir en düşük nokta (Solar Minimum) ve bir de en yüksek noktaya (Solar Maximum) ulaşıyor.

Şu anda içinde bulunduğumuz zaman diliminde Güneş'in maksimum dönemindeyiz. Ayrıca Güneş üzerinde de normalin üzerinde büyüklükte bir leke var. Bu leke de patlama riski olan bir olgu. Ne kadar büyürse o kadar büyük bir patlama riski taşıyor. Bu patlamalara taçküre kütle atımı (Coronal Mass Ejection) deniyor. Patlamalarda çok fazla yüklü parçacık uzaya saçılıyor. Bu parçacıklar eğer Dünya'ya doğru savrulmuşlar ise Dünya'nın manyetik alanı başta olmak üzere bazı şeyleri etkileyebiliyorlar.

Dünya'nın bir manyetik küresi var. Bu küre Dünya'yı normal bir günde Güneş'ten gelen zararlı ışınlara karşı koruyor. Ancak Güneş Patlaması ya da Güneş Fırtınası denen durumlarda uzaya saçılan bu yüklü parçacıklar Dünya'nın manyetik küresini geçici olarak bozarak korumayı zayıflatıyor. Böyle bir durumda Dünya'da manyetik kutuplara göre yönünü bulan sistemlerde geçici işlev kayıpları oluşabiliyor, hayvanların yönlerin bulması zorlaşabiliyor.

Ayrıca hareket halindeki yüklü parçacıklar elektrik hatlarında ve devrelerde indüksiyon akımlarına sebep olabiliyor. Patlamanın büyüklüğüne bağlı olarak trafolar zarar görebiliyor veya iletişim devrelerinde büyük gürültüler iletişimi imkansız hale getirebiliyor.

1859 yılında meydana gelen Güneş Patlaması sonucunda telgraf hatlarındaki akımlar bazı donanımlara zarar vermiş, telgraf iletişimi kesintiye uğramış. 1989 yılında meydana gelen patlama ise Kanada'da elektrik kesintilerine sebep olmuş.

Daha büyük patlamalar meydana gelebilir mi? Bunların Dünya'daki etkileri nasıl olur? İnsanlık tekrar taş devrine döner mi? Bu patlamaları öncesinde görüp önlem alabilir miyiz?

Öncelikle ABD ve Avustralya'da bu tip olayları gözlemleyen merkezler var. ABD'deki gözlem merkezinin adı Space Weather Protection Center (SWPC). Bu merkezin hizmetlerine ücretsiz abone olunarak haberdar olunabiliyor. Peki ne kadar öncesinde haberdar olabiliriz? Güneş'te meydana gelen herhangi bir olayı görebilmemiz için, ışık hızından dolayı, 8 dakika  geçmesi gerekiyor. Patlamalar sonrasında uzaya saçılan parçacıkların hızı patlamanın şiddetine göre değişiyor ama genelde 12 saat ile 48 saat arasında bir zamanımız olabiliyor. İşte SWPC'nin gönderdiği bilgilendirme mesajları bu amaca hizmet ediyor. Umuyoruz ki patlamalar sonrasında önlem alabilecek vaktimiz olacak.

SWPC'nin mesajları ve web sistesinde kullandığı birkaç kavramdan bahsetmek istiyorum. Öncelikle K endeksi denilen bir değer var. Bunun gezegenimiz özelinde ifade edilmesi Kp şeklinde oluyor (Planetary K-Index). Bu değer 0-9 aralığında oluyor. Ne kadar büyükse o kadar ciddi bir jeomanyetik fırtına ile karşı karşıyayız demektir.

0 - 3 : Sessiz veya çok az jeomanyetik aktivite
4 - 6 : Orta seviye aktivite
7 - 9 : Ciddi aktivite 

Bir de A endeksi var. Bu da 0 ile 400 arasında olan bir değer. Geriye doğru 24 saatlik dönemdeki jeomanyetik bozulmanın bir ölçüsü.

0 - 7 : Sessiz veya çok düşük aktivite
8 - 15 : Hafif aktivite
16 - 29 : Hafif-ciddi arası güneş fırtınası
30 - 49 : Ciddi güneş fırtınası
50 + : Çok ciddi güneş fırtınası

Dünya'ya etkiler 3 başlıkta toplanmış; Jeomanyetik etkiler (G), Güneş radyasyonu etkileri (S) ve Radyo sinyalleri etkileri (R). Her başlık da 1 ile 5 arasında ölçeklenmiş. Her 3 başlıktan en yüksek ölçekte olabilecekler şöyle listlenmiş:

G5: Elektrik hatlarında yaygın bir şekilde görülebilecek voltaj kontrol sorunları, trafo hasarları. Uçak ve diğer hava araçları yön bulma ve iletişim sorunları yaşayabilir. Araçlarda yüzey gerilimleri artabilir. Boru hatlarında yüzlerce amperlik akımların oluşabilir. Yüksek frekanslı iletişim günlerce mümkün olmayabilir, kutup ışıkları 40 derece boylamlarda bile görülebilir. Trafolar hasar görebilir. Kablosuz iletişim sistemleri çalışmaz.

S5: Uluslararası Uzay İstasyonu gibi konumlarda korunmasız olarak çalışan astronotlar, yüksek irtifada yolculuk eden uçak yolcuları ve mürettebatı yüksek seviye Güneş radyasyonuna maruz kalabilir. Güneş panellerinde kalıcı hasarlar oluşabilir. HF iletişiminde kesintiler oluşur. GPS sistemleri çalışmaz.

R5: Dünya'nın güneşe bakan yarısında yüksek frekans kablosuz iletişiminde kesinti yaşanabilir, düşük frekanslı navigasyon sinyallerine erişilemeyebilir.

Bir de Güneş Akısı (Solar Flux) seviyeleri var. Bunun birimi SFU (Solar Flux Unit). Güneş'in minimum seviyesinde bu 70 SFU'lara kadar düşüyor, maksimumlarda 200 SFU'nun üzerine çıkabiliyor.

SWPC'dan gelen 3 günlük alarm mesajlarından bir alıntı aşağıdaki gibi:

The greatest observed 3 hr Kp over the past 24 hours was 4 (below NOAA
Scale levels).
The greatest expected 3 hr Kp for Jan 02-Jan 04 2024 is 5.00 (NOAA Scale
G1).

NOAA Kp index breakdown Jan 02-Jan 04 2024

        Jan 02    Jan 03   Jan 04
00-03UT 3.00      3.33     2.00
03-06UT 3.33      3.67     2.67
06-09UT 5.00 (G1) 3.67     2.00
09-12UT 4.67 (G1) 3.00     2.00
12-15UT 4.00      2.33     2.00
15-18UT 3.67      2.00     2.00
18-21UT 3.33      2.00     2.00
21-00UT 3.67      2.33     2.33

Rationale: G1 (Minor) geomagnetic storms are expected in response to the
passage of a transients solar wind features.

B. NOAA Solar Radiation Activity Observation and Forecast

Solar radiation, as observed by NOAA GOES-16 over the past 24 hours, was
below S-scale storm level thresholds.

Solar Radiation Storm Forecast for Jan 02-Jan 04 2024

Jan 02 Jan 03 Jan 04
S1 or greater 25% 25% 25%

Rationale: No S1 (Minor) or greater solar radiation storms are expected.
No significant active region activity favorable for radiation storm
production is forecast.

C. NOAA Radio Blackout Activity and Forecast

Radio blackouts reaching the R1 levels were observed over the past 24
hours. The largest was at Jan 01 2024 1225 UTC.

Radio Blackout Forecast for Jan 02-Jan 04 2024

              Jan 02 Jan 03 Jan 04
R1-R2         60%    60%    60%
R3 or greater 25%    25%    25%

Rationale: R1-R2 (Minor - Moderate) radio blackouts are expected, with a
chance for strong or greater radio blackouts.

İlk satırda geçtiğimiz 24 saatlik dönemde 3 saatlik dilimlerde gözlemlenen Kp seviyesinin en yüksek değeri 4 olarak belirtilmiş. Bu da belirtilen ölçekte ortanın düşüğü. Bir sonraki gün (02-Jan) için beklenen en yüksek seviyenin 5 olduğu ve bunun da G1 seviyesine denk geldiği belirtilmiş. Bir sonraki bölümde 3 saatlik dilimlerde beklenen seviyeler listelenmiş. Saatler UTC olarak. Türkiye saatine çevirmek için 3 eklemek gerek. Daha sonraki bölümlerde G1 ve S1 gibi seviyelerin beklendiği belirtilmiş, radyo frekansı iletişiminde de R1-R2 seviye kesinti beklentisinin 2,3 ve 4 Ocak'ta %60 olduğu, R3 beklentisinin ise %25 olduğu belirtilmiş.

Buna ilave olarak bir de her gün 3 saatte bir (3,6,9... gibi 3'ün katları saatlerde, merkezi saat) gelen Geophysical Alert Message (WWV) mesajları var. Bunların içeriği de şöyle:

Solar-terrestrial indices for 01 January follow.
Solar flux 136 and estimated planetary A-index 10.
The estimated planetary K-index at 1200 UTC on 02 January was 2.00.

Space weather for the past 24 hours has been minor.
Radio blackouts reaching the R1 level occurred.

Space weather for the next 24 hours is predicted to be moderate.
Geomagnetic storms reaching the G1 level are likely.
Radio blackouts reaching the R2 level are likely.

Burada da ilk bölümde bir önceki gün (1 Ocak) Güneş akısı 136 olarak ölçülmüş ve A endeksi 10 (düşük) olarak belirlenmiş. 2 Ocak'ta (bugün) merkezi saatle 12:00'de K endeksi 2.00 (düşük) olarak tahmin edilmiş. Son 24 saatte kablosuz iletişim kesintileri R1 seviyesinde (düşük) görülmüş, sonraki 24 saatte yaşanabilecek hadiseler orta seviyede tahmin edilmiş. G1 seviyesinde (düşük) Güneş fırtınaları ve R2 (düşük) seviyesinde kablosuz iletişim kesintileri beklendiği belirtilmiş.

Abonelik sayfasında Forecast and Summaries bölümünden erişilen bir Geoalert mesajı var, aşağıdaki gibi ve şu web sayfasında da yayınlanan gibi.

Geoalert WWA003
UGEOA 20401 40103 0330/ 9930/ 
12031 20031 30031
99999
UGEOE 20401 40103 0330/ 02/01
18022 1830/ 18562 21199 01302 0//// ///// 9////
99999
UGEOI 20401 40103 0330/ 02///
10059 21420 3008/ 4///0 50100 67807 71405 80104 90300
99999
UGEOR 20401 40103 0330/ 02/24 03104
13534 20000 30000 42012 50010 60004 32212 00000
13535 20000 30500 41001 50010 60002 38908 00000
13536 20000 30510 45323 50240 60011 14905 29622
13537 20000 30000 43312 50040 60002 14818 02000
99999

Bu kodlanmış bir mesaj ve sadece gözle inceleyerek anlam çıkartmak zor, bu gibi bir mesajı ancak bir program aracılığıyla çözebiliriz. Ne olduğunu bilmeden seçtiğim ama sonradan aboneliğinden çıktığım bir mesaj türü.

Umuyoruz ki bir sonraki patlamaya hazırlıklı oluruz, çok büyük hasarlar yaşanmaz.

26.01.2018

Reklam engelleme kuralları

Reklamlar, aslında web'deki ücretsiz içeriğin çarklarını döndüren itici güç. Bu sebeple sade bir reklamın kimseye zararı dokunmaz. Ama internetteki egemen güçlerin ellerindeki çok değerli ve hasass verileri reklam amaçlı kullanmalarının ardından ortada bir dengesizlik oluştu. Hiç farketmeden bizi bizden daha iyi tanıyan internetin "büyük abileri" tarayıcımızın kenarında bizim geçen sene aldığımız ayakkabının benzeri ayakkabı reklamlarını döndürmeye, başka bir sitede sepete eklediğimiz ama henüz satın almasını tamamlamadığımız başka ürünlerin hatırlatmalarını göstermeye başladı. Bu aslında, reklam veren ile hedef kitle arasındaki dengenin bozulduğuna dair bir işaret, sanal dünyanın dönüm noktalarından birisiydi.

Derken reklam engelleyici eklentiler popüler olmaya başladı. Bir haber sitesine girdiğimizde ilgilendiğimiz haberden önce internet operatörümüzün gözümüze soka soka tam sayfa verdiği ilanı en az 10 saniye görmek zorunda bırakılmamız, tatil ve otel bilgileri sunan web sitesinin günde 50 kere görmek zorunda kaldığımız aynı reklamı bizi bu eklentileri kurmaya itti. Sonuçta da şu anda basit bir blog'a bile girsek blog sahibi "bu sayfayı döndürebilmem için reklam almam gerekiyor, lütfen reklam engelleyicinizi kapatır mısınız" türünde mesajlar görüntülemeye başladı.

Ben bu noktada kullanıcıların haklı olduğunu düşünüyorum. Bizi kukla gibi kullanarak ürettikleri her ürünü satabileceklerini düşünerek ilk kurşunu tüketicinin karşısında yer alan konsorsiyum sıktı. Bu durumda tüketicinin de kendini korumaya hakkı var.

Gelelim işin teknik tarafında. Uzun yıllardır AdBlockPlus (ABP) kullandım. Ama git gide surf yapmanın zorlaştığını düşündüğüm bir anda farkettim ki aslında internette gezinmemi zorlaştıran o masum eklentiymiş. Aşırı işlemci ve bellek tüketen bu illetten kurtuldum. Şu anda uBlock Origin kullanıyorum.

Temelde kurallar aynı. ABP veya uBlock için oluşturulmuş genel listeler var. Ama ben daha çok özel birkaç kural yazmak ile ilgileniyorum. Bu konuyla ilgili aşağıdaki tabloyu hazırladım.


KuralEngelleyeceğiEngellenmeyecek
reklamiçinde reklam geçen tüm adresler
swf|http://www.adres.com/reklam.swfhttp://adres.com/swf/icerik.htm
||adres.comhttp://adres.com, https://adres.com, http://tr.adres.com
||adres.com^htttp://adres.com, https://www.adres.com:8080http://adres.com.tr
##.reklam<div class="reklam">, <p class="reklam">
###reklam<div id="reklam">, <table id="reklam">
##reklam<reklam>
##table[width="80%"]<table width="80%"><table>
~https://adres.com/reklam
https://adres.com/reklam
##div[title^="rek"]<div title="reklam">, <div title="reklamlar"><div title="renkli">
##div[title$="lam"]<div title="reklam">, <div title="toplam"><div title="reklamlar">
/^https?://192.168.1.*/192.168.1.0/24 IP bloğu [bkz reddit]
192.168.2.0/24

Ek 2022-07-04:

Bütün bu kurallara ek olarak, kuralın başındaki @@ operatörü, engellemeyi kaldırır. Örneğin

||adres.com

ile adres.com alan adındaki tüm içeriği engellemişken

@@||adres.com/script

sadece adres.com/script'i engellemeden hariç tutar.