|
Poslao: 13 Okt 2011 06:47
|
offline
- N1k0l4
- Prijatelj foruma
- Pridružio: 06 Sep 2005
- Poruke: 3800
- Gde živiš: Beograd
|
Ne bi bilo lose da kad vec pravis popis fajlova da trazis i duplikate.
Ja sam planirao to da radim da bih lakse kontrolisao i sredio muziku ali nikako da se nakanim i da dodjem do vremena da sednem da radim na tom programu.
Ideja mi je bila da pored toga sto cuvam imena o pesama i po tome trazim slicnost da provere trazim i koriscenjem n-grama mada ne znam koliko bi to bilo pametno, hteo sam da testiram .
|
|
|
|
Poslao: 13 Okt 2011 11:03
|
offline
- Pridružio: 25 Maj 2005
- Poruke: 1482
- Gde živiš: Gracanica, Kosovo
|
Ja bih za fitlriranje duplikata koristio neku hash funkciju, koristio sam awk skriptu u kojoj sam proveravao md5 fajlova (knjige u pdf) i odvajao duplikate.
|
|
|
|
Poslao: 13 Okt 2011 11:51
|
offline
- N1k0l4
- Prijatelj foruma
- Pridružio: 06 Sep 2005
- Poruke: 3800
- Gde živiš: Beograd
|
Hes funkcija mi je nekako previse osetljiva. Moguce da bi odradila posao dobro ali za mizernu razliku ona bi trebalo da da drasticno drugu vrednost.
Ideju sam imao ili preko n-grama ili da svodim na kanonski oblik pesme(naziv pesme i izvodjaca da svedem na kanonski oblik) pa da tu napravim neku meru slicnosti.
Primetio sam da imam dosta pesama koje su mi duplikat npr.
Miroslav Ilic - Nije zivot jedna zena
i
Miroslav ilic Nije zivot jedna zena (Uzivo) ....
|
|
|
|
Poslao: 13 Okt 2011 14:00
|
offline
- Pridružio: 25 Maj 2005
- Poruke: 1482
- Gde živiš: Gracanica, Kosovo
|
Ako je pesma ista, a drugaciji naziv nema veze:
$ cd /cygdrive/d/zikaMu/MachineHead/1994\ -\ Machine\ Head\ -\ Burn\ My\ Eyes/
$ cp 07\ -\ A\ Nation\ On\ Fire.mp3 NationOnFire.mp3
$ md5sum.exe 07\ -\ A\ Nation\ On\ Fire.mp3 NationOnFire.mp3
66ca7b313b80af1a47106cae430670da *07 - A Nation On Fire.mp3
66ca7b313b80af1a47106cae430670da *NationOnFire.mp3
Naravno ako je "live" verzija iste pesme onda naravno da ce se razlikovati.
|
|
|
|
Poslao: 13 Okt 2011 15:56
|
offline
- N1k0l4
- Prijatelj foruma
- Pridružio: 06 Sep 2005
- Poruke: 3800
- Gde živiš: Beograd
|
Da,da, naravno, ako je pesma ista a naslov nije onda tvoje resava problem, to je ok. Samo sto sam ja mislio na naslove da se razlikuju a pesme da su iste(iste po tekstu i ritmu ali se z anijansu razlikuju, tipa jedna je sekund duza ili slicno...)
Srki , implementiraj ove mogucnosti
|
|
|
|
Poslao: 14 Okt 2011 06:28
|
offline
- Srki94
- Mod u pemziji
- Pridružio: 14 Feb 2008
- Poruke: 12402
|
Hmm vrlo zanimljivo, razmotriću moje mogućnosti. Sviđa mi se sama ideja .
Inače malo više informacija o projektu.
Razmišljao sam dugo šta bi bilo najbrže rešenje da čak i hiljade fajlova skeniram za par sekundi i odlučio sam se za tekstualni izlaz. Kod drugih programa ove namene bi skeniranja trajala dosta duže jer bi sama aplikacija
konvertovala ceo disk u nešto što bi program čitao. Kod mene, pravim tekstualni fajl svih fajlova sa diska, čak hiljade fajlova sa diska iz screenshota budu gotova za 3-5 sekunde. Onda sam razmatrao načine na koje bih mogao da prikažem taj izlaz korisniku u grafičkoj varijanti i osmislio sam prost algoritam.
Bukvalno bih odvajao i upoređivao stringove stim što ako recimo u nekom delu na kraju ili pre samog znaka "\" postoji tačka i ekstenzija to bi značilo da je u pitanju fajl a ne folder. Dakle program bi čitao taj izlazni tekst liniju po liniju i sortirao/prepoznavao da li je u pitanju folder ili fajl. Sve to prikažem u kontroli koja ima mogućnost prikaza teksta i slike zajedno. Onda nailazim na problem poverljivosti fajlova, druge aplikacije imaju mogućnost zaključavanja dok bi meni tekst bio ranjiv i dostupan svima. To ću rešiti lako. Pre nego što korisnik zaključa neki folder unosi email adresu, program ne čuva nikakve informacije o email adresi i šalje lozinku odmah na email (Ideju sam dobio od aplikacije Secure Folder) zatim kriptuje txt fajl. Kriptovanje će za početak biti 64bitno međutim kasnije sam planirao da kriptujem fajlove pomoću posebnog ključa koji će biti samo u programu. Dolazim do novog problema, moram negde da sačuvam lozinku a najverovatnije ću i nju da kriptujem drugom metodom i sakrijem negde na računar ili eventuelno server zbog pune zaštite.
Slike za posebne fajlove ću da "vučem" iz foldera koji dolazi uz program tako da će korisnici u svakom trenutku moći da zamene ikonice drugim. I to je od prilike to što se tiče samog skeniranja. Jedino što mi je ostalo trenutno da odradim jeste da pored svakog fajla u izlazu dodam veličinu datoteke.
Što se tiče same opcije da skeniram disk na fizičke greške, još uvek tražim rešenje ali sam na dobrom putu.
Planirao sam da kopiram disk u neki folder i pratim bajtove koji su kopirani, ukoliko bi se greška pojavila program bi zapisao mesto bajtova i nastavio da kopira dalje. Na kraju kopiranja bih na osnovu bajta pretpostavio gde je tačno greška. Disk se kopira od unutrašnjosti ka spoljašnjosti tako da bi ovo trebalo da bude lako i bazirano na sektorima.
Što se tiče te pretrage moguće je kombinovati obe pretrage, ja mislim.
Recimo prvo proverim sum, pa ako je tu sve ok onda proverim dužinu pesme, kbps pesme i na kraju ako :
sum bude isti, dužine budu iste, ime se razlikuje = duplikat (recimo ovo je čist duplikat)
sum ne bude isti dužine i ime budu isti ili slični/ dužina bude različita ime slično = duplikat (recimo, miroslav ilić uživo i miroslav ilić studio verzija, stim što bi ovo bilo malo i rizično jer ako upoređivanje ne bude dobro razvijeno program bi rekao da je ovo duplikat : Eminem - Mocking Bird , Eminem - Rainy Man , na osnovu imena)
sum nije isti, imena nisu ista, dužine nisu iste, kbps nije isti = nije duplikat
Bar mislim da je u teoriji tako, inače pre brisanja duplikata dam mogućnost korisniku da presluša i potvrdi brisanje. Ali kažem videću, moram da razmotrim moje mogućnosti i da sredim sve kako treba. Inače to bi bilo kao dodatak programu jer nije glavni fokus tome. Cilj je na što brži način skenirati disk uz brzu pretragu fajlova diska i brzo kriptovanje. Iskreno baš se radujem ovom programu i mislim da bi mogao da "zaživi" među ljudima jer ne postoji toliko programa ove namene pogotovo ne ovako brzih a ako sredim sve na super nivou uključujući zaštitu niko neće brinuti da li program radi na prost način već da li završava posao dobro.
Naravno biće besplatan, nema govora o komercijali a ako se "užare" korisnici neće mi biti problem da razvijam dalje aplikaciju i dodajem nove stvari.
Ali kažem, za ovu pretragu moguće je doći do pefektnog pronalaženja duplikata kombinujući oba načina i uključujući sve faktore
|
|
|
|
Poslao: 14 Okt 2011 08:31
|
offline
- Pridružio: 25 Maj 2005
- Poruke: 1482
- Gde živiš: Gracanica, Kosovo
|
Srki94 ::...
Pored ovog radim na još par projekta među kojima je 2D kontrolor leta, igra.
A vi?
Imam trenutno dva programceta, negde su na 80% recimo (mada rade ispravno), jedan je FacebookKilla, a drugi je USBTapper, i nikako da nadjem vremena (i volje?) da to zavrsim do kraja.
Prvi program naravno ogranicava fejs na odredjeno vreme, koristeci Hosts fajl. Vreme se dobija putem NTP protokola, ne vreme sa racunara jer to moze da se izmeni. Hosts fajl se zakljucava i svaka izmena nije moguca jer se izmene odmah vracaju, kao i obrisani fajl.
Drugo programce belezi "neautorizovane" usb fleske na kompu. Detekcija se vrsi preko WMI, i moguce je blokirati fles disk. Nazalost blokiranje na Windows-u radi na malo cudan nacin, i za blokiranje u realnom vremenu je potrebno odraditi API hooking, to jos nije sredjeno.
Oba programceta su pisana u C#.
|
|
|
|