Mükemmel bir karma işlevi üreteci olan GNU gperf‘in 3.3 sürümü, Bruno Haible tarafından duyuruldu. Belirli bir dize listesi için, giriş dizesine bağlı olarak bir değeri aramak için C veya C++ kodu biçiminde bir karma işlevi ve karma tablosu üretilirken, karma işlevinin mükemmel olduğu, yani karma tablosunda çakışma olmadığı ve karma tablosu aramasının yalnızca tek bir dize karşılaştırması gerektirdiği hatırlatılıyor. C veya C++ kodu üretmek, karma tablosu yerine switch ifadeleri veya iç içe if’ler yaymak ve gperf tarafından kullanılan algoritmayı ayarlamak için seçenekler içeren GNU gperf‘in son derece özelleştirilebilir olduğu belirtilirken, Haible; ‘switch’ ifadelerinde “örtük fallthrough” uyarıları, ‘str’ veya ‘len’ ile ilgili “kullanılmayan parametre” uyarıları, “alan için başlatıcı eksik …” uyarıları, “sıfır, boş işaretçi sabiti olarak” uyarıları gibi kimi zaman oluşturulan kod için birkaç tür uyarıdan kaçınldığını hatırlattı. Giriş dosyasında, artık Unix satır sonlandırıcıları (LF) yerine Windows satır sonlandırıcıları (CR/LF) kullanabileceği belirtilirken, bunun uyumsuz bir değişiklik olduğu söyleniyor. GNU gperf’in çevrimiçi klavuzunun burada bulunabileceği ifade ediliyor. GNU gperf 3.3 hakkında bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.
Continue Reading →
Tag Archives | Bruno Haible
Gzip’in 1.14 sürümü duyuruldu
GNU projesinin dosya sıkıştırma programı olan Gzip‘in 1.14 sürümü, Jim Meyering tarafından duyuruldu. GNU zip’in kısa yazılışı olan Gzip, başlangıçta Jean-loup Gailly tarafından GNU projesi için yazılmış popüler bir veri sıkıştırma programıdır. Dekompresyon bölümü Mark Adler tarafından yazılan yazılım, LZW algoritmasını kapsayan Unisys ve IBM patentleri nedeniyle bu biçimde yazılmış bulunuyor. 1.13’ten bu yana geçen 85 haftada 7 kişi tarafından 58 işlem yapıldığı belirtilirken, tüm çalışmalar için Sam Russell’a ve gnulib’in tamamı için çıtayı bu kadar yüksek tutan Bruno Haible ve diğer herkese teşekkür edildiği bildiriliyor. Gzip’in üstün sıkıştırma oranı önemli bir kazanç olduğu belirtilirken, GNU Genel Kamu Lisansı ile kullanıma sunulan yazılımın özgür bir yazılım olduğu hatırlatılıyor. Yeni sürümde, “gzip -d”, pclmul desteği olan x86_64 CPU’larında %40’a kadar daha hızlı olduğu, çünkü zamanının yaklaşık yarısı bir CRC kontrol toplamını hesaplamaya harcandığı ve bu kodun artık çok daha verimli olduğu belirtiliyor. PClmul desteği olmayan 10 yıllık CPU’larda bile yaklaşık %20 daha hızlı olduğu belirtilen bu özelliği erken bildirdiği için Lasse Collin’e teşekkür ediliyor. GNU Gzip 1.14 hakkında bilgi edinmek için sürüm duyurusu incelenebilir. Continue Reading →
GNU Gzip 1.14 edinmek için aşağıdaki linklerden yararlanabilirsiniz.
GNU gperf 3.2 duyuruldu
Mükemmel bir karma işlevi üreteci olan GNU gperf‘in 3.2 sürümü, Bruno Haible tarafından duyuruldu. Belirli bir dize listesi için, giriş dizesine bağlı olarak bir değeri aramak için C veya C++ kodu biçiminde bir karma işlevi ve karma tablosu üretilirken, karma işlevinin mükemmel olduğu, yani karma tablosunda çakışma olmadığı ve karma tablosu aramasının yalnızca tek bir dize karşılaştırması gerektirdiği hatırlatılıyor. C veya C++ kodu üretmek, karma tablosu yerine switch ifadeleri veya iç içe if’ler yaymak ve gperf tarafından kullanılan algoritmayı ayarlamak için seçenekler içeren GNU gperf‘in son derece özelleştirilebilir olduğu belirtilirken, Haible; ‘switch’ ifadelerinde “örtük fallthrough” uyarıları, ‘str’ veya ‘len’ ile ilgili “kullanılmayan parametre” uyarıları, “alan için başlatıcı eksik …” uyarıları, “sıfır, boş işaretçi sabiti olarak” uyarıları gibi kimi zaman oluşturulan kod için birkaç tür uyarıdan kaçınldığını hatırlattı. Giriş dosyasında, artık Unix satır sonlandırıcıları (LF) yerine Windows satır sonlandırıcıları (CR/LF) kullanabileceği belirtilirken, bunun uyumsuz bir değişiklik olduğu söyleniyor. GNU gperf’in çevrimiçi klavuzunun burada bulunabileceği ifade ediliyor. GNU gperf 3.2 hakkında bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.
GNU gettext 0.24 duyuruldu
GNU Çeviri Projesi için önemli bir adım olan ve diğer GNU paketlerinin çok dilli mesajlar üretmesine yardımcı olmayı amaçlayan GNU gettext‘in 0.24 sürümü, Bruno Haible tarafından duyuruldu. Fonksiyonları C, C++, Phyton, Java, C#, Perl, Shell gibi pek çok dilde kullanabilen gettext’in yeni sürümünü duyurmaktan mutlu olduğunu söyleyen Haible; bunun bir hata düzeltme sürümü olduğunu söyledi. Bilindiği gibi, neredeyse tüm programlar ingilizce yazılmaktadır. Bu genel olarak bir bütünlük sağlamak ve diğer ülkelerdeki insanlarla kolay iletişim kurmak açısından programcıların yararına olsa da, çoğu kulanıcı, yazılımları kendi dilinde kullanmak ister. Free Software Foundation tarafından üretilen gettext; kullanıcıların bu ihtiyacını karşılamak için devreye girmektedir. xgettext’in artık JSX içindeki şablon sabitlerini doğru şekilde ayrıştırdığı söyleniyor. GNU gettext 0.24 hakkında bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.
Yazılım, program ve dökümantasyon çevirisi konusunda programcılara ve kullanıcılara yardımcı olan gettext; kendisine argüman olarak verilen dizgeyi alıp, ileti kataloğundaki dizgelerle karşılaştırarak çeviriyi bulup, bunu döndürür. gettext; ileti katalogları denilen .po uzantılı dosyaların içerisindeki msgid ile belirtilen dizgiye karşılık gelen çeviriyi arar. Çevrilecek olan dizgeyi tek bir argüman şeklinde alır. Bundan dolayı ileti kataloglarının hem özgün dizgeyi hem de çeviriyi birlikte içermesi gerekir. Böylelikle yazılımlara çoklu dil desteği sağlanır. Gettext anahtarı alıp ,bu anahtarı çevirisi yapılmış metinlerle karşılaştırıp çeviriyi bulup bize sunmaktadır. Gettex’te kullanmak üzere, uygulamayı oluşturduğumuz dilden farklı bir dilde yazılan mesajlar .mo uzantılı dosyalarda tutulurlar. .mo dosyaları, dil dosyalarının hazırlanmış halidir. .mo dosyalarını herhangi bir programla (gedit , pluma , notepad , word..) açmak mümkün değildir , çünkü .mo dosyaları derlenmiş (binary tabanlı) dosyalardır. .po dosyaları ise .mo dosyalarının derlenmemiş halidir. Herhangi bir düzeltme yapacağımız zaman bunu .po dosyasında yapmak gerekir. .po dosyasında gerekli düzenlemeyi yapıp kaydettiğimiz an, uzantımız .mo olarak değişir yani .po dosyasını derlemiş oluruz. GNU gettext 0.24 edinmek için aşağıdaki linklerden yararlanabilirsiniz.
GNU gettext için online olarak kullanılabilecek belgelere buradan ulaşabilirsiniz. Sıkça Sorulan Sorular ve verilen cevaplara ilişkin sayfa da buradadır.
GNU libiconv 1.18 duyuruldu
Çoğunlukla Unicode ile kodlanan uluslararası metnin, bazen yine de bir dil veya ülkeye bağlı karakter kodlaması kullanılarak kodlanabildiği görülebilmektedir. Bu kodlamalar arasındaki dönüşümlerin bir zorunluluk haline gelmiş olduğu herkesin malumudur. Diğer programlar, dahili işlemeyi kolaylaştırmak için dizeleri dahili olarak Unicode’da saklar ve G/Ç yaparken dahili dize gösterimi (Unicode) ile harici dize gösterimi (geleneksel bir kodlama) arasında dönüştürme yapmaları gerekebilir. Her iki tür uygulama için bir dönüştürme kitaplığı olan GNU libiconv‘un 1.18 sürümü, Bruno Haible tarafından duyuruldu. Özellikle Emoji karakterlerinin de dahil olduğu çok daha fazla çeviri içeren yeni sürümde, iconv programının, çıktı dosyasına bir karakter kümesi meta veri etiketi eklediği ifade ediliyor. libiconv kitaplığının artık LGPL 2.0 sürümü yerine LGPL 2.1 sürümü altında lisanslandığı belirtilirken; iconv programının ise, GPL sürüm 3 kapsamında lisanslanmaya devam edildiği ifade edildi. GNU libiconv 1.18 hakkında bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz. Continue Reading →
GNU gettext 0.23 duyuruldu
GNU Çeviri Projesi için önemli bir adım olan ve diğer GNU paketlerinin çok dilli mesajlar üretmesine yardımcı olmayı amaçlayan GNU gettext‘in 0.23 sürümü, Bruno Haible tarafından duyuruldu. C, C++, Java, C#, Shell programları için çalışma zamanı kitaplıklarıyla gelen yeni sürümde, programcılar ve çevirmenler için kimi araçlar bulunduğu belirtilirken, C, C++ için artık geniş dizeler alan gettext benzeri işlevlerin desteklendiği söyleniyor. Fonksiyonları C, C++, Phyton, Java, C#, Perl, Shell gibi pek çok dilde kullanabilen gettext’in yeni sürümünü duyurmaktan mutlu olduğunu söyleyen Haible; bunun bir hata düzeltme sürümü olduğunu söyledi. Bilindiği gibi, neredeyse tüm programlar ingilizce yazılmaktadır. Bu genel olarak bir bütünlük sağlamak ve diğer ülkelerdeki insanlarla kolay iletişim kurmak açısından programcıların yararına olsa da, çoğu kulanıcı, yazılımları kendi dilinde kullanmak ister. Free Software Foundation tarafından üretilen gettext; kullanıcıların bu ihtiyacını karşılamak için devreye girmektedir. xgettext’in artık JSX içindeki şablon sabitlerini doğru şekilde ayrıştırdığı söyleniyor. GNU gettext 0.23 hakkında ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.
Yazılım, program ve dökümantasyon çevirisi konusunda programcılara ve kullanıcılara yardımcı olan gettext; kendisine argüman olarak verilen dizgeyi alıp, ileti kataloğundaki dizgelerle karşılaştırarak çeviriyi bulup, bunu döndürür. gettext; ileti katalogları denilen .po uzantılı dosyaların içerisindeki msgid ile belirtilen dizgiye karşılık gelen çeviriyi arar. Çevrilecek olan dizgeyi tek bir argüman şeklinde alır. Bundan dolayı ileti kataloglarının hem özgün dizgeyi hem de çeviriyi birlikte içermesi gerekir. Böylelikle yazılımlara çoklu dil desteği sağlanır. Gettext anahtarı alıp ,bu anahtarı çevirisi yapılmış metinlerle karşılaştırıp çeviriyi bulup bize sunmaktadır.
Gettex’te kullanmak üzere, uygulamayı oluşturduğumuz dilden farklı bir dilde yazılan mesajlar .mo uzantılı dosyalarda tutulurlar. .mo dosyaları, dil dosyalarının hazırlanmış halidir. .mo dosyalarını herhangi bir programla (gedit , pluma , notepad , word..) açmak mümkün değildir , çünkü .mo dosyaları derlenmiş (binary tabanlı) dosyalardır. .po dosyaları ise .mo dosyalarının derlenmemiş halidir. Herhangi bir düzeltme yapacağımız zaman bunu .po dosyasında yapmak gerekir. .po dosyasında gerekli düzenlemeyi yapıp kaydettiğimiz an, uzantımız .mo olarak değişir yani .po dosyasını derlemiş oluruz.
GNU gettext 0.23 edinmek için aşağıdaki linklerden yararlanabilirsiniz.
GNU gettext için online olarak kullanılabilecek belgelere buradan ulaşabilirsiniz. Sıkça Sorulan Sorular ve verilen cevaplara ilişkin sayfa da buradadır.
GNU libunistring 1.3 duyuruldu
Unicode dizelerini işlemek ve Unicode standardına göre C dizelerini işlemek için işlevler sağlayan bir kitaplık olan GNU libunistring‘in 1.3 sürümü, Bruno Haible tarafından duyuruldu. Bunun, kararlı bir sürüm olduğunu belirten Haible; veri tabloları ve algoritmaların Unicode sürüm 16.0.0’a güncellendiğini söyledi. *printf işlevlerindeki bir hatanın düzeltildiği söyleniyor. Büyük/küçük harf dönüştürme, satır kesme, sözcükler üzerinde işlemler veya daha gelişmiş metin analizi gibi önemsiz olmayan metin işleme içeren uygulamalar kullanan kullanıcılar için GNU libunistring kullanımının önemli olduğu belirtilirken, bu kitaplık tarafından sağlanan metin işleme işlevlerinin, tüm komut dosyalarını ve tüm dilleri işleyebildiği ifade ediliyor. GNU libunistring 1.3 hakkında ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.