1 puan yazan GN⁺ 2024-12-15 | 1 yorum | WhatsApp'ta paylaş
  • Teknik yazımda tekrar eden zayıflıklar, insanların her seferinde işaret etmesinden önce otomatik kontrollerle ortaya çıkarılabilir; bu yazı LaTeX makale derlemesine bağlanabilecek 3 kabuk betiğini tanıtıyor
  • Amaç edilgen çatıyı ya da belirli ifadeleri yasaklamak değil, işaretlenen cümlelere bakarak daha açık ve daha doğru ifadeler seçmeyi sağlamak
  • various, quite, surprisingly, very, extremely gibi weasel words hassasiyeti bulanıklaştırdığı için, düzenli ifadelerle tespit edilerek gözden geçirilecek noktaları azaltır
  • Edilgen çatı kontrolü, be fiilinden sonra gelen -ed biçimlerini veya düzensiz sıfat-fiilleri arar; yinelenen sözcük kontrolü ise bitişik aynı sözcükleri büyük/küçük harfe duyarsız şekilde yakalar
  • Üç kontrol make proof ile birleştirildiğinde makale deposu içinde tekrar tekrar çalıştırılabilir ve küçük hataların birikerek yetersiz düzeltme izlenimi vermesi azaltılabilir

Tekrarlanan yazım zayıflıklarını otomasyonla azaltmak

  • Ph.D. öğrencilerine danışmanlıkta özellikle zor olan kısım yazım eğitimidir; tekrar tekrar görülen sorunlar önce araçlarla elenebilir
  • Betiklerin hedeflediği üç sorun şunlardır
    • Edilgen çatının aşırı kullanımı
    • weasel words
    • lexical illusion, yani gözden kaçması kolay yinelenen sözcükler
  • Bu betikler LaTeX belgelerinin derleme sistemine entegre edilerek kullanılır
  • Yazım kurallarının istisnaları olduğu için amaç belirli bir dilbilgisel yapıyı yasaklamak değildir
  • Bir cümle vurgulandığında, kişi kendi kendine “daha açık ve daha hassas bir ifade var mı” diye kontrol eder
  • Programcılar kendi tekrarlayan zayıflıklarını bilip bu zayıflıkları azaltmak için otomasyondan yararlanabilir

Teknik yazım için başvurulabilecek kitaplar

Hassasiyet ve açıklığın sızdığı noktalar

  • Olin Shivers teknik yazımı hassasiyet, açıklık ve pazarlama arasındaki denge olarak öğretiyordu
  • Makale gönderim sürecinden geçerken, hassasiyet ve açıklığın mekanik olarak saptanabilir biçimde zayıfladığı noktalar ortaya çıkar
    • weasel words
    • Edilgen çatının aşırı kullanımı
  • Bilimsel fikirlerin kötü pazarlanmasını da yakalayan bir kabuk betiği yapmak zordur

Weasel words tespiti

  • Weasel words, iyi görünen ama neredeyse hiç bilgi aktarmayan sözcük veya ifadelerdir; cümlenin hassasiyetini bulanıklaştırır
  • Öğrenci yazılarında sık görülen weasel words üç türe ayrılır
  • Salt and pepper words

    • Yeni yüksek lisans/doktora öğrencileri bazen cümlelere baharat serper gibi teknik görünen sözcükler serpiştirir, ancak bunlar gerçek bilgi aktaramaz
    • Tipik ifadeler various, a number of, fairly, quite şeklindedir
    • Bu sözcükler çıkarıldığında cümle daha güçlü olur
    • It is quite difficult to find untainted samples.It is difficult to find untainted samples.
    • We used various methods to isolate four samples.We isolated four samples.
  • Beholder words

    • Beholder words, anlamı okura göre değişen sözcüklerdir
    • Örnekler interestingly, surprisingly, remarkably, clearlydir
    • Hakemler, yargıyı kendi yerlerine veren ifadeleri sevmez
    • False positives were surprisingly low. yerine To our surprise, false positives were low (3%). gibi sayıyı ve gözlemi yapan tarafı gösteren bir ifade daha iyidir
  • Lazy words ve zarflar

    • Lazy words, nicel özellikler sunmaktan kaçınmak için kullanılan sözcüklerdir; bilimi sağlam değil, tamamlanmamış gibi gösterir
    • En kötü örnekler very ve extremelydir; teknik yazımda bunları kabul etmek zordur
    • Diğer örnekler several, exceedingly, many, most, few, vasttır
    • Teknik yazımda zarflar weasel words gibi görünme eğilimindedir
    • Yeni lisansüstü öğrencilerinin teknik yazılarında tüm zarfları kaldırmanın net etkisinin pozitif olma ihtimali yüksektir
    • We offer a completely different formulation of CFA. yerine We offer a different formulation of CFA. daha iyidir
  • Weasel words betiği

    • Bash betiği, varsayılan weasel words listesini düzenli ifade olarak tanımlar ve giriş dosyasında konumları egrep -i -n --color ile işaretler
    • Varsayılan liste uygun değilse alternatif liste dosyası kullanılabilir
      • $HOME/etc/words/weasels
      • $WORDSDIR/weasels
      • words/weasels
    • Argüman yoksa usage: <script> <file> ... biçiminde kullanım bilgisini yazdırır

Edilgen çatıyı bilinçli kullanmak

  • Teknik yazımda edilgen çatı her zaman kötü değildir
  • Ancak düzenlediğim teknik yazıların yarısından fazlası yalnızca edilgen çatının kaldırılmasıyla iyileştirilebilirdi
    • Öğrenciler edilgen çatıyı iyi kullanmaktan çok aşırı kullanma eğilimindedir
  • Sorunlu edilgen çatı, ilgili veya açıklayıcı bilgiyi gizlediğinde ortaya çıkar
    • Termination is guaranteed on any input. ilgili bilgiyi gizler
    • Termination is guaranteed on any input by a finite state-space. ilgili bilgiyi ekler ama vurgu yanlış yerdedir
    • A finite state-space guarantees termination on any input. ilgili bilgiyi içerir ve daha nettir
  • Özne gerçekten önemli olmadığında edilgen çatı daha iyi olabilir
    • 4 mL HCl were added to the solution.
    • Ancak We added 4 mL HCl to the solution. de ciddi bir sorun olarak görülmez
  • Edilgen çatı için karar soruları

    • Betik edilgen çatıyı işaretlediğinde iki şey kontrol edilir
      • Eylemi yapan ilgili olduğu hâlde belirsiz mi?
      • Etken çatıya çevirmek metni daha okunur kılar mı?
    • İki sorunun yanıtı da “evet” ise etken çatıya çevrilir
    • Yalnızca ilk sorunun yanıtı “evet” ise eylemi yapan açıkça belirtilir
  • Edilgen çatı betiği

    • Bash betiği uzun bir düzensiz geçmiş sıfat-fiil listesi tanımlar
    • am|are|were|being|is|been|was|be ardından boşluk ve \w+ed veya düzensiz sıfat-fiil gelen kalıpları arar
    • Dosya adı ve satır numarasıyla birlikte egrep -n -i --color kullanarak işaretler

Yinelenen sözcükler ve lexical illusion

  • Satır sonları varsa the the gibi yinelenen sözcükleri gözle kaçırmak kolaydır
  • Yalnızca satır sonlarını değiştirmek bile aynı yinelemeyi daha belirgin hâle getirir
  • Sözcük yinelemesi elektronik belge yazımı sürecinde ortaya çıkan bir olgudur ve kes-yapıştır kazalarından kaynaklanıyor gibi görünür
  • Özellikle the sözcüğünde sık olur
  • Tek bir yinelenen sözcük yüzünden makale reddedilmez; ancak yazım hataları ve yinelenen sözcükler gibi küçük hatalar birikirse yetersiz düzeltme ortaya çıkar
  • Hakemler yetersiz düzeltmeyi kendi zamanlarına ve dikkatlerine saygı eksikliği olarak yorumlayabilir
  • Yinelenen sözcük betiği

    • Perl betiği bitişik yinelenen sözcükleri bulur
    • Dosyayı satır satır okur ve sözcük olmayan karakterlere göre ayırır
    • Boşlukları atlar; noktalama işareti gördüğünde son sözcük durumunu sıfırlar
    • Geçerli sözcük ile önceki sözcüğü küçük harfe çevirerek karşılaştırır; aynıysa dosyaadı:satırnumarası sözcük biçiminde çıktı verir
    • Çıkış kodu bulunan yineleme sayısıdır

Makefile’a entegre etmek

  • Her makale deposunun bin/ dizinine betiklerin yerel bir kopyası konur
  • Makefile’a make proof kuralı eklenir
  • make proof, *.tex dosyaları üzerinde üç kontrolü sırayla çalıştırır
    • sh bin/weasel *.tex
    • sh bin/passive *.tex
    • perl bin/dups *.tex

Makale pazarlaması ve hakem değerlendirmesi

  • Lisansüstü öğrenciler başlangıçta yalnızca tüm gerçeği yazarlarsa yayımlanacağını düşünmeye eğilimlidir
  • Ancak doğru olan çok şey vardır ve üst düzey hakemli venue’lerde teknik olarak doğru makaleler de yeterince çoktur
  • Hakem değerlendirmesi, hangi doğru şeyin bilinmeye değer olduğuna karar verme rolüne daha yakın hâle gelmiştir
  • Bu bakış açısından hakem, bilimsel topluluğun en sınırlı kaynağı olan kolektif dikkatin koruyucusudur
  • Bir makaleyi pazarlamak için fikrin bu kaynağa erişmeyi hak ettiğini ikna edici biçimde göstermek gerekir

İlgili araçlar ve genişletme fikirleri

  • Benjamin Beckwith bu betikten ilham alarak Emacs için "writegood" modunu yaptı
  • John Regehr, Note that, Notice that gibi gereksiz ifadeleri yakalayan basit bir betik önerdi
  • Başkaları teknik yazımda gelecek zaman kullanımını yakalayan betikler önerdi

1 yorum

 
GN⁺ 2024-12-15
Hacker News yorumları
  • Makale yazdığım dönemde yazımı geliştirmeme yardımcı olan kaynaklar Paul R. Halmos'un How to Write Mathematics'i ve Donald E. Knuth ve diğerlerinin Mathematical Writing'iydi.
    Açık ve doğru iletişim duygusunu yakalamak için önce Halmos'u okurdum; “Bad/Better/OK” önerileri de Knuth ve diğerlerinin ders notlarında gördüğüm tartışmaları hatırlatıyor.
    Üçüncü adım olarak, önerilene benzer bir linter gözden kaçan yerleri yakalamakta yararlı olabilir.
    Tanım içeren konularda yazı yazan herkes için bu tür kaynakların şart olduğunu düşünüyorum.

    • Bu öneriye ek olarak M. Alley'nin The Craft of Scientific Writing kitabı da iyi.
  • Bu yazıyı beğendiyseniz ve etkili doktora tezi yazma süreci hakkında daha fazlasını öğrenmek istiyorsanız [1]'e bakmanız iyi olur.
    Aslında iletişim becerilerini geliştirmek isteyen herkes için izlemeye değer; bu videoya erişmek için para ödeseydim bile boşa gitmiş saymazdım.
    [1] https://youtu.be/vtIzMaLkCaM

    • “Doktoraya başlarken bilinmesi gereken her şey”i toplayan bir depo olsa iyi olurdu.
      Meşhur phd grind gibi kaynaklar da dahil.
  • Örneklerin önemli bir kısmına katılmak zor.
    Örneğin “It is quite difficult to find untainted samples” ifadesini “It is difficult to find untainted samples” olarak değiştirince quite difficult ile düz difficult oldukça farklı okunuyor.
    Cümle iyileşmiş olmuyor, anlamı değişmiş oluyor.
    Ayrıca “various methods” yazılmış olması, tek bir yöntem olmadığı bilgisini veriyor; ikinci cümlede bu bilgi eksiliyor.

    • “quite”ın aktardığı anlam okura veya bağlama göre büyük ölçüde değişebilir.
      Konuşmada tonlamaya göre çok değişir; katı anlamıyla “biraz zor”a daha yakındır ama birçok yerde “neredeyse imkânsız” gibi de kullanılır.
      Kelimeyi kaldırmanın yanlış olduğunu düşünmüyorum, ama daha somut bir karşılaştırma ifadesiyle değiştirmek daha iyi olur bence.
    • Bu yüzden sonunda 3 sayfada anlatılabilecek aynı şeyi anlatan 30 sayfalık tasarım dokümanları okuyoruz.
      Özellikle teknik dokümanlarda süslü yazımdan neden bu kadar nefret edildiğini anlamaya çalışmak iyi olur.
      Çok makale veya tasarım dokümanı okuyunca böyle bir üslup insanın hayatını zorlaştırıyor.
    • Farklı yöntemler kullanıldığını söylemek istiyorsanız gerçekten ne yaptığınızı yazmanız yeterli.
      “We isolated four samples using the following methods…” gibi yazmak daha açık.
    • Örneklerin çoğu bana berbat göründü.
      Makalelerin basit şeyleri anlatırken bile okunmasının zor olmasının nedenlerinden biri de tam olarak bu.
      Kimsenin sevmediği katı resmî üsluba takılıp kalırken, ince ama önemli bağlam ipuçlarını çıkarıyorlar.
  • Bu tür araçlardan daha fazlasını arıyorsanız vale.sh'e bakmaya değer.
    Belirsiz kelimelerden kaçınma dahil, çeşitli üslup yönergeleri ekleyebilirsiniz.
    PR sırasında web sitesinde vale çalıştırmak için kullandığımız GitHub Action burada: https://github.com/FusionAuth/fusionauth-site/blob/main/.git...
    Yapılandırma burada: https://github.com/FusionAuth/fusionauth-site/tree/main/conf...
    Üslubu zorunlu kılmaya yardımcı oldu, ama muhtemelen özelliklerinden tam olarak yararlanmıyoruz.

    • Vale.sh oldukça iyi görünüyor.
      Şu anda bir kitabın 3. baskısını ve web sitesi için birkaç yazıyı düzenliyorum; işime yarayabilir.
  • Claude'a bu Bash betiklerini bir web arayüzüne taşıttım; böylece kodu doğrudan yapıştırıp sonuçları görebiliyorsunuz: https://tools.simonwillison.net/writing-style
    Claude konuşma kaydı burada: https://gist.github.com/simonw/e9902ed1cbda30f90db8d0d22caa0...

    • Düzgün çalışmıyor gibi.
      İkinci desen eşleştirme civarında bir şeyler garip.
      Örneğin “It is quite difficult to find untainted samples. We used various methods to isolate four samples.” yazarsanız “quite”ı “is quite difficult to find untainted samples.” içinde buluyor, “various”ı ise boş dizede buluyor.
      Yine de bu tür hızlı HTML/JS araçlarını seviyorum.
    • Claude'a daha kırılgan ve sınırlı Bash betikleri yazdırmak yerine neden doğrudan Claude'un kendisine metni inceletmediğini merak ediyorum.
      Claude'a aynı işi yapan ya da daha iyisini yapan bir promptu kendi kendine yazdırmak da mümkün.
      Bash ve Perl bu iş için koli bandı ve sakız gibi araçlar; berbatlar, Claude'un en iyi yaptığı iş de tam olarak bu alan.
      Sadece sorunları işaretlemek yerine alternatifleri tartıp düzeltme önerileri sunabilir; ayrıca yanlış pozitifler, yanlış negatifler ve ayrıştırma hataları üreten tuhaf regex uyuşmazlıkları da olmaz.
  • İlk Unix'te benzer işler yapan diction ve style komutları vardı.
    GNU'dan alınabiliyor ve Homebrew'de de var.
    https://www.gnu.org/software/diction/
    Hatırladığım kadarıyla pek harika değillerdi; bu araç seti de muhtemelen benzer düzeyde iş çıkaracaktır.

  • Benim alanımda yazının kalitesi önem sıralamasında en dipteydi; hatta ders değerlendirmelerinden bile daha düşüktü.
    Açık ve özlü cümleleri önemserim ama bir lisansüstü öğrencisiyseniz, özellikle düşmanca sorular karşısında sunum becerinizi ve ne yazık ki dalkavukluk becerinizi geliştirmeniz daha yararlı olabilir.
    Evet, acı bir deneyimim var :p

    • Sunum becerisinden ziyade bir danışman/terapist bulmak daha önemli olabilir.
      İnsanlar baş edemeyecekleri kadar baskı altında kalıyor, ama bunun hatırı sayılır bir kısmını kendileri yaratıyor.
      Gerçek çıkarlar, zihninizde büyüttüğünüz kadar yüksek değil ve insanlar sizin geçmenizi istiyor.
    • Bunu nasıl bilebileceğimizi bilmiyorum.
      Alana göre değişir ama değerlendiricilerin yazı kalitesinden pek söz etmemesi, bunun kabul kararını etkilemediği anlamına gelmez.
      İnsanları sinirlendirirseniz, özellikle de bunun incelemede yazılacak kadar özsel olmadığı düşünülen bir biçimde olması, normalde göz ardı edecekleri noktalarda bile daha eleştirel olmalarına yol açabilir.
      Bunun çürütülmesi zor olduğu için tatmin edici olmadığını kabul ediyorum; ayrıca seçici biçimde kötü yazının açıkları örtmek için kullanılabileceğini de kabul ediyorum.
  • “Bir makaleyi pazarlamak için yazar, fikrinin o kaynağa erişmeyi hak ettiğine dair ikna edici bir gerekçe sunmalıdır” sözü, akademik dergilerin en önemli fikirlerle değil, en iyi satılan makalelerle dolduğu anlamına gelir.
    Yazarın dediği gibi, bulunması zor yazım hataları gibi yüzeysel unsurlar bile hakem tarafından yakalanabildiği için karar verici etken hâline gelebilir.
    Nesnelmiş gibi davranmayı bırakıp editörlerin zevk ve görüşlerini yansıtan dergileri kabullenmeliyiz.
    Ya da her şeyi arxiv gibi standart bir yere koyabiliriz.
    PDF yüklemek için kıt kaynak yoktur.

    • Asıl kararı veren editörden çok hakemlerdir.
      Hakemler iyi ya da idare eder puanlar verirse makale olduğu gibi yayımlanır; makaleyi yerden yere vururlarsa editör dikkat kesilir ve yazarların hakemin şikâyetlerini yeterince ele alıp almadığına karar vermek zorunda kalır.
      Yine de kriterleri dayatan taraf hâlâ editör değil, hakemdir.
    • Hazır konu açılmışken atıf sistemi de iyileştirilse; kaynakçalar hiperlink olsa ve kod çıktısı olan eserlere de erişilebilse iyi olurdu.
  • Bilinmeyen bir nedenle emacs kullanmayan kişiler için yararlı.
    Çalıştırıp sonra tekrar düzenleme akışı zahmetli olduğundan iyi bir iş akışına dönüştürmek zor olabilir.
    Yazar emacs “writegood”a hakkını teslim ediyor ama benim kişisel olarak en sevdiğim üslup denetleme eklentisi “artbollocks-mode”.

  • İlgili yazılar:
    Shell scripts to improve your writing - https://news.ycombinator.com/item?id=13295530 - Ocak 2017, 55 yorum
    Shell scripts to improve your writing, or "My advisor rewrote himself in bash." - https://news.ycombinator.com/item?id=1529166 - Temmuz 2010, 31 yorum