Peter Norvig ismini daha önce hiç duydun mu? Bence duymadın veya duysan bile onun programlarına hiç bakmadın. Norvig programlarında her zaman birçok commentk |
Peter Norvig ismini daha önce hiç duydun mu? Bence duymadın veya duysan bile onun programlarına hiç bakmadın. Norvig programlarında her zaman birçok commentkullanır ve kendisi Google Yazılım Şefi olur. Şimdi ufak bi soru: Sence ben her program dosyasına birçok comment koyan Norvig'i mi kaale alırım yoksa hiç comment koymayıp "değişken isimlerinden anlayamıyorsan bence programlama öğren" diyen seni mi :) "açıklama satırları olan kodları okumak istiyorum" gibi birşey dedim mi? Yine de kod bakmak istesem aşağıda örnek alıntı gördüğünüz UnRAR'ı okurum... Fakat yanlış anlama olmasın: RAR belki 100 milyonlarca kez indirilip kullanıldığı için değil, Alexander L. Roshal nerdeyse her bir operasyon için comment koyma zahmetine katlandığı yani diger programcıları düşündüğü için okurum... < Resime gitmek için tıklayın > Bu arada SEO19 ile aynı kişi olma ihtimaliniz daha da güçlendi cunku SEO19 da tanımadığı bilmediği kişilere "Programlama Bilmiyorsun Öğren" tarzında ukalalık yapıyordu, sen de yaptın. Okey belki aynı kişi değilsiniz fakat karakterleriniz oldukça aynı :) |
Tam kare olmayanların kökünü aldığın zaman ve tam sayı olduğundan, bilginin bir kısmı kaybolur. Tabi gerçek köküyle arasındaki farkı kaydedebilirsin ama zaten o sayı için ayıracağın bitler gene aynı boyutta dosya olmasına sebep olacak. Aslında sonsuz hızda bir işlemci olacak, rastgele sayı üretecini çalıştıracan, arka arkaya gelen sayılar dosya ile birebir uyuştuğunda o anki "seed" yani rastgeleliği başlatan 8-byte yer kaplayan sayıyı kayıt edecen. Al sana sıkıştırma. Ama sonsuz hızda işlemcin olacak. 10 üssü 10 üssü 10 üssü 10 üssü 10 üssü 10 üssü 10 TeraHertz gibi yani. 1 GB --> 8-byte. Oyun mu yükleyecen? 1kB fazla bile. Dalga geçmiyorum. Quantum işlemciler çıksın bir deneyeceğim. |
amaç ne, vurgu nereye anlamadım? |
Görünüşe göre 4 yıldır pek bir yol katedememişsin. Çareyi yanlış yerde arıyorsun, matematikten anlayan programcı değil salt matematikçi lazım sana. Ben şahsen bu yöntemle kayıpsız sıkıştırmanın mümkün olamayacağını söyleyebilirim. İşin içine kayar nokta girdimi bit dizilimlerini korumak zor. |
Kafama takılan şeyler: Sıkıştırma algoritması bularak para kazanma hayalin var mı?Çünkü bu para kazandıracak bir yol değil. Eğer zevk için yapıyorsan: 1.Neyi sıkıştıran bir algoritma üretmeye çalışıyorsun?Resim,video,rastgele sayı içeren dosya,herhangi bir dosya... 2.Sonsuz sıkıştırma diye birşey yok.Her verinin kayıpsız sıkıştırılma sınırı vardır.Bu sınırı ne kadar aşarsan o kadar kayıp olur.Yarı yarıya sıkıştıran bir algoritmayı defalarca kullanarak defalarca sıkıştırma yapamazsın.İlk seferde 2 kat sıkıştırır,sonraki seferde %1,artık veri sıkıştırılma sınırına dayanmıştır. 1DVD 1mb'a sıkıştırılamaz.1GB'tır o.Ayrıca videolar,resimler falan zaten süper sıkıştırılmış oluyor.Bu yöntemle bir daha %50 sıkıştırılabileceğini sanmıyorum. 1DVD rastgele tamsayıyı sıkıştırmaya gelince:DVD içerisine sığacak 5-6 basamaklı tam sayıların sayısını tutmak için 1mb civarı alan gerekiyor.Dosya sıkıştırmak için bunların sırasını da tutman lazım.Bu da zaten 1DVD civarı alan gerektirir gibime geliyor.Eğer sayılar arasında bir bağlantı varsa durum değişir.Mesela ardışık sayılar sıklıkla varsa,bazı sayılar çok tekrar ediyorsa,sayıların %99'u çiftse vs. 3.Bahsettiğin şey sayıları saklamak yerine kareköklerini saklayıp %50 yer tasarrufu yapmak ise bu o kadar kolay bir şey ki(ben yarım saatte programlarım) kesin kullanılıyordur.İşe yarıyorsa video ve resim sıkıştırmada da kullanılıyordur.Yalnız bu sıkıştırma kayıplı sıkıştırma. Dediğin gibi sayıyı saklamak yerine sayıyı X^2+Y ya da X^Y+Z şeklinde saklayarak kayıpsız bir şekilde saklarsın ama pek sıkıştırmaa olmaz. Örnek verecek olursak:404,586,660 sayıları yerine kareköklerini saklarsak(X^2 sıkıştırması) 20,24,25 sayılarını saklarız.Açtığımızda ise 400,576,625 olur.Görüldüğü gibi kayıplı sıkıştırma. X^2+Y sıkıştırması ile kayıpsız olur ama fazla yer kazanılmaz.Aynı sayıları saklarsak (20^2+4),(24^2+10),(25^2+35) yani 204,2410,2535 olur.Yani sıkıştırma değil 1 basamak fazla yer gerekti.Ancak kayıpsız oldu.Açtığımızda yine 404,586,660 eder. Öte yandan 2007'den beri aynı şeyle uğraşabilmen harikulade ve büyük şeyler yapabilirsin.Eğer para kazanmak istiyorsan ya da büyük bir şey yapmak istiyorsan ya da yeni bir sıkıştırma algoritması bulmak istiyorsan(ki bunlar farklı şeyler) benimle iletişime geç. |
Eğer sadece çok düşünmek yerine ilgilendiğin alanda(sıkıştırma algoritmaları,information theory) kendini geliştirsen zaten bazı yanlışlarını kendin göreceksin.Düşünerek boşa vakit kaybetmek yerine kendini geliştirmeni öneririm.Sınırsız sıkıştırma diye bir şey yok ve olamaz da.Bu işin matematiği var ve öğrendiğinde kendin görüyorsun zaten sınırsız sıkıştırma diye bir şey olamayacağını.Çok uzun yıllar harcamana da gerek yok bu işin matematiğini öğrenmek için.Belki birkaç hafta yeterli kendin doğru kaynaktan çalışırsan. Hangi sıkıştırma algoritmasını kullanırsan kullan bir verinin sıkıştırılabileceği sınır uzunluk verinin kolmogorov complexity'sinin 2 tabanında logaritması kadar bittir.Zaten bu sınıra yaklaşan algoritmalar da vardır diye düşünüyorum. Bunlar sınır,yani kayar noktalı sayının ya da başka birşeyin bu kuralları değiştirebilme ihtimali yok.Kayar noktalı sayının ne olduğunu ve nasıl çalıştığını biliyorum.Zaten bahsettiğin formülde kayar noktalı sayı kullanırsan kayıplı sıkıştırma olur.Bahsettiğin yöntemle sadece +Z yerine +,-Z kullanman da birşeyi değiştirmiyor.Z'yi 1 bit kısaltıp o biti de yine + mı - mi olduğunu belirtmek için kullanıyorsun. Sınırsız sıkıştırma olmadığı bu sayfalarda anlatılıyor.Ancak ben bile tamamını anlamakda zorlanıyorum eğitimini aldığımm halde. https://en.wikipedia.org/wiki/Entropy_(information_theory) https://en.wikipedia.org/wiki/Minimum_message_length https://en.wikipedia.org/wiki/Kolmogorov_complexity Nerede olduğunu ve devamında ne yapman gerekiğini görmek istiyorsan,bilgisayarın ve sıkıştırmanın matematiğini öğrenmek için şunları yapabilirsin: Matematik öğrenmek:Sonlu matematik,sayılar teorisi,fonksiyonlar,olasılık,mantık... C programlama dili öğrenmek(alt düzey bir dil olduğundan genelde iyi öğrenmek için beraberinde matematik de gerekir,kitaplarında kayar noktalı sayılara dair de bilgi bulabilirsin) Algoritma ve veri yapıları öğrenmek(belki en önemlisi bu) Bu sayfadaki lossless algoritmalarını okumak https://en.wikipedia.org/wiki/Template:Compression_methods Bir de bana algoritmanın nasıl çalıştığını açık açık anlatır mısın?Kodlayıp buraya upload edeyim.Sonucunu beraber görürüz. |
Aklı kullanıp algoritma geliştirelim diyorsunuz fakat konu başlığına dini içerik eklemişsiniz. Din ve akıl bir arada bulunmaz. İşiniz baya zor yani. |
sirke gitsem bu kadar eglenmezdim. muthis konu. cok garip adamlar var su forumda ya. |
bu adam bu cehalet ile nasil para kazaniyor da hayatini devam ettirip, yillardir bu forumlarda yalan yanlis yazip duruyor anlamis degilim. bu adamim gelir kaynagi ne acaba, hakikaten cok merak ediyorum |
#rez proje çok sağlam. Kafa patlatmaya değer |
Yukarıdaki şekilde bilgi verdiğim halde ilginç cevaplar yazılıyor. Lütfen "PAQ 8" nedir inceleyelim! https://www.wikizeroo.org/index.php?q=aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUEFR |
Joel Spolsky, 21.Mart.2000https://www.joelonsoftware.com/2000/03/21/converting-capital-into-software-that-works/ makalesinin giriş paragrafıdır: The common belief is that when you’re building a software company, the goal is to find a neat idea that solves some problem which hasn’t been solved before, implement it, and make a fortune. We’ll call this the build-a-better-mousetrap belief. But the real goal for software companies should be converting capital into software that works. Türkçesi (birebir değil, düzeltmeli ve hafif yorumlu şekilde) Yazılım deyince herkes bir problemi çözen güzel bir fikir bulup onu uygulayıp küçük bir servet yapmayı anlıyor. Bu yaklaşıma biz 'daha iyi bir fare kapanı yapmak' diyoruz. Fakat yazılımdaki asıl amaç, daha iyi fare kapanı yapmak değil, parayı etkili bir yazılıma dönüştürmek olmalıdır. Spolsky'nin açısından bakınca, bu konu külliyen gereksiz. Alttaki yorumlar bu konu ile ilgili değil, geneldir: Bir yazılım işinden bahsetmeden önce ortada para olacak, bütçe olacak. Amerika ve Avrupa'da yazılımla ilgili iş ilanlarının coğunda para ve bütçe önceden belirtilir. Programcı paraya ve yapılacak işe bakar ve bu parayı ne kadar etkili şekilde yazılıma dönüştürebileceğini düşünür. ABD ve AB'de ayrıca devlet desteğiyle başlanan yazılım projeleri hedefi 12'den vuran işler çıkarmıştır. 1980'lerde Unix kernel yeni donanımlar, artan RAM kapasiteleri karşısında problem yaşıyordu. DARPA (Defense Advanced Research Projects Agency) CMU universitesinde 7 kişilik bir ekibi finanse ederek Mach kernel'i destekledi. Mach kernelden alıntı yaparak macOS başta olmak üzere birçok Unix sistemi çekirdeğini güncelledi, bugünkü OS'lerin bu kadar sorunsuz olmasına katkıda bulundu. İlla ki para olmak zorunda da değil. Tox projesi örneğin hiç kimsenin metelik atmamasına rağmen popülerlik kazandı, ve 2019 da başarıyla geliştiriliyor, neden? Cunku insanların Internette güvenli, mahremi ve güvenilir iletişim yapmasını sağlayarak gerçek bir eksiği kapatıyor. Zcash projesini bilir misiniz? O da güvenli ve mahremi iletişimin finansal tarafta da uygulanmasını sağlıyor. Şöyle düşün, ben sana 100TL göndermek istiyorum ama kimliğimi açığa çıkarmadan göndermek istiyorum, nasıl yaparım? Internette sorun olarak gördüğüm ve yazılımla çözülebilecek birşey var: Merkeziyetçi web siteleri. Örneğin forumlar. Örneğin Youtube, Twitter, Linked-in.. Örneğin sahibinden, letgo. Bu merkeziyetçi siteler, herşeye sahip konumda. Sen bir içerik gönderiyorsun demi? O içerik senin değil, gönderdiğin sitenin malı artık. Sahibinden 'e ilan aç. Ürünün resmine logosunu basar, bu resim benim anlamında. Forumda konuşulması yasak konular var. Yok yanlış anlamayın, ülke yasalarına aykırı konular değil, sadece forumun kurallarına aykırı konular. Youtube yorumlarda özgür gibisin fakat orada da gönderidğin videolarda aynı keyfi kurallar uygulanıyor. YT begenmediği videolara bi bahane bularak sansür uyguluyor yani yayından kaldırıyor. Fakat bi sorun daha var: YT, diger tüm siteler gibi, kullanıcılara GSM no girmesini dayatıyor ve bunu da "sizin hesap güvenliğinizi düşünüyoruz" gerekçesine bağlıyor, yani 8 yaşındaki cocuğa kural dayatan ebeveynlik yapıyor size YT. Tüm bu bahsi geçen problemlere karşı IPFS gibi dağıtık/distributed ve E2E / Uç uça şifreli iletişim protokolleri ile çözüm geliyor. IPFS sadece bir örnek. Internette Youtubeta forumlarda, site sahibi tarafından "içerik silme" problemi var. Bir içerik görüyorsun, takip ediyorsun, yorum gönderiyorsun. Sonra bir bakmışsın içerik silinmiş! IPFS çözümü ile bu içerik silme tarih olacak cunku herkes ilgilendiği içeriği kendi cihazında taşıyacak / host edecek. İçeriği böyle sitelere girip textbox içinde değil, kendi kullandığın editörde düzenleyip göndereceksin; VIM, Atom, Emacs gibi editörlere eklenecek plugin ile içeriği yazıp, editör içinden göndereceksin. Mod'un teki cıkıp 10bin kişinin takip ettiği bir içeriği bi kalemde silip atamayacak. |
Tabi ki lisanslanabilir. Adına da "Yellenme Metodu" derseniz mükemmel olur. ![]() Körler sağırlar birbirini ağırlar misali seviye epey bir aşağıda indi yine. SEO19; sen önce şu belirttiğim "bit derinliği" mevzusunu bir öğren. ayhanarican sen de aynen devam et. Çünkü bu yazdığın basit şeyleri senden başka kimse düşünmemiş, aklına gelmemiş, uygulamaya dökmemiş, sonuçlarını da görmemiştir inan! Daha en temel teknik bilgilerden yoksun 2 kişi... Tabi tanışmıyorlarsa (?) |
hala defalarca kullanmaktan bahsediyorsun, bu bir hayal anla artık. bunu sana daha sade bir şekilde anlatabilirdim ama harcayacağım zamana değmezsin. sıkıştırma algoritman o kadar iyiki çıktı boyutu orijinal boyuttan büyük oluyor bunu da LZ ile ekstra küçültmeye çalışıyorsun. |
zor olanla imkansız olanı karıştırıyorsun. konuda geçmiş yazılarda somut kanıt var ilk sayfadan başla okumaya, buna rağmen anlamazsan ileri zekalı olduğundandır takma kafana. |
Arkadaşlar (bu arada ayhanarican ve SEO19 'nun aynı kişi olma ihtimali de var cunku aynı anda yazıyorlar ve ayhanarican sadece bu konuya yazıyor) sanırım aynı şeyi 3x tekrar edeceğim: Sürekli bu sıkıştırma yöntemini anlatıyorsunuz da insanların onları dinleyecek vakti yok. Onu anlatmaya harcadığınız vakti, onu yapmaya harcasaydınız alfa sürüm çıkarırdınız insanlar ürününüzü denerdi. Kapalı kaynak ise Windows veya Unix binary yayınlayın denerim. Açık kaynak ise sadece kodları yayınlayın ben Windows veya Unix için build dosyasını sizin için yazıp Windows veya Unix binarylerini çıkarırım ve denerim ve +/- şeyleri size iletirim. Yani ben diyorum ki, vaktimizi kaliteli faaliyetlere harcayalım. Siz diyorsunuz "kıskandı" "bayrak yarışı" vs. |
Donald Knuth'un bir sözü var bilir misin: Kodlar bilgisayarda çalıştırması için değil, insanlar tarafından anlaşılması için vardır, diye. Yukarda bir kod vermişsin de tek satır comment yok, değişken isimlerinden amaç anlaşılabilirlik yok. Yok; bahsettiğiniz şeyi üretip binary haline getirmediniz, tasarım, algoritma, kod olarak tartışaım diyorsunuz o bakımdan yani. |
Evet arkadaşlar ben de eğleniyorum ![]() Adamın biri (SEO19) ortaya bir laf atıyor. Öteki de (ayhaharican) bu saçmalığa çanak tutup delil getirmeye çalışıyor. Biz de aklı yarımları kafalamasınlar diye uğraşıyoruz. Adam kendine özel veriyle sıkıştırma yapıyor. Ne güzel. Herkes kendine özel veri üretsin oradan yürüsün! Genele hitap eden çalışmalar değil bunlar. Birilerini kafalamaya çalışmaktan öte değil! Buradaki örnek .txt nin çok ama çok daha karmaşığını, çok daha büyüğünü çok daha küçük boyutlara getirebiliriz ama bu bir anlam ifade etmez. Çünkü veriyi belli şekilde oluşturuyor sonrasında belli şekilde çözümlüyoruz. Üretilen çözüm sadece ve sadece bu üretilen veriye uygun çalışır ve genellenemez. Bir boka da yaramaz. Ha yarayabilir; eğer işten anlamayan birilerini kandırmak, sahtekarlık yapmak, geçici olarak işi götürmek gibi bir düşünce varsa eğer... EddyCue ve Wepawet: Sizlerden biraz daha ciddi olmanızı beklerdim ama maalesef. Oturduğunuz yerden yıllardır yellenmeyi tercih ediyor bir şeye de yaramıyorsunuz. Madem ilginiz, bilginiz yok atlamayın konuya. SEO19 gerçekten zaman kaybısın. Konuyla hiç ilgin yok aslında. Sadece üfürüyorsun. Biraz kenara çekil. Şu .exe gelsin, bekliyoruz, 50 kere dedik adama. |
SEO19 ve ayhanarican aynı kişi olabilir. Neden biliyor musun? ayhanarican 'in mesajlara bak. Bu konudan önce en son 2 yıl evvel mesaj göndermiş. 2 yıldır kullanılmayan bir hesap. tipik bir 'spammer' periyodudur 2 yıl sen hiç hesaba girme sonra bir konu olunca 20 mesaj birden gönder ve SEO19 - ayhanarican birbirini sonuna kadar desteklesin, tesadüfün bu kadarı :) Dikkat ettiysen SEO19 bu iddialar karşısında hiç yorum da yapmıyor, neden acaba :) Hey SEO19 sıfırdan "Heuristic spammer detection algorithm' geliştiriyorum. Örnek vaka bularak yardımcı olur musun :) |
"açıklama satırları olan kodları okumak istiyorum" gibi birşey dedim mi? Yine de kod bakmak istesem aşağıda örnek alıntı gördüğünüz UnRAR'ı okurum... Fakat yanlış anlama olmasın: RAR belki 100 milyonlarca kez indirilip kullanıldığı için değil, Alexander L. Roshal nerdeyse her bir operasyon için comment koyma zahmetine katlandığı yani diger programcıları düşündüğü için okurum...
< Resime gitmek için tıklayın >
Bu arada SEO19 ile aynı kişi olma ihtimaliniz daha da güçlendi cunku SEO19 da tanımadığı bilmediği kişilere "Programlama Bilmiyorsun Öğren" tarzında ukalalık yapıyordu, sen de yaptın. Okey belki aynı kişi değilsiniz fakat karakterleriniz oldukça aynı :)
< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 4 Ocak 2020; 0:36:39 >
< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesajda bahsedilenler: @ayhanarican