Buscar fitxers amb el contingut duplicat en linux…
Sovint costa trobar eines o petits scripts que fassin coses aparenment tan estupides com la comentada. De fet per windows he trobat alguns programes que tenen bona pinta tot i que no els he provat encara. Però per linux m’ha costat una mica més fins que he trobat el fdupes (local). Esta programat en C i realment és molt senzill d’usar i força potent.
També he trobat un petit script en bash que fa una busqueda força rudimentaria però útil en alguns casos:
OUTF=rem-duplicates.sh; echo "#! /bin/sh" > $OUTF; find "$@" -type f -print0 | xargs -0 -n1 md5sum | sort --key=1,32 | uniq -w 32 -d --all-repeated=separate | sed -r 's/^[0-9a-f]*( )*//;s/([^a-zA-Z0-9./_-])/\\\1/g;s/(.+)/#rm \1/' >> $OUTF; chmod a+x $OUTF; ls -l $OUTF
La pàgina on he trobat aquest script és Unix shell script for removing duplicate files.
bash tip: buscant fitxers més nous que…
Petit apunt de sintaxis del find. Com buscar els fitxers creats a partir d’una data.
Primer creem un fitxer amb la data de referència a partir de la que volem fer la busqueda:
touch -t 05231500 fitxer_dataref
Ara busquem els fitxers més nous que el fitxer fitxer_dataref:
find . -newer fitxer_dataref -type f -print
Aquesta tonteria va molt bé envendir-la en petits scripts per borar els fitxers esmentats, per exemple:
for F in `find . -newer fitxer_dataref -print`; do rm $F; done
no és un mòbil, no és una pda… és una internet tablet
De fet, tothom quan veu el meu nou nokia 770 em pregunta el mateix. Costa definir ben bé què fa i perquè serveix el nokia 770. però la millor definició esta clar que és un internet table. Un dispositiu en linux enquestat, amb prestacions de PDA, completament orientades a la connectivitat amb internet.
De fet, no me l’he comprat ben bé, sinó que he fet un trueque amb en Jordi. O sigui, jo li he donat la meva PSP i uns quants calers i ell m’ha donat un 770 encara per obrir que tenia. Només fa unes 24h que el tinc però ja l’he fet servir ben bé unes 3 o 4h. Les impresions són molt primaries i potser el més gran defecte que hi trobo és que és un pel lent. Sobre tot passant pàgines de PDF 🙂 tot i que si desactives el bluetooth i el wireless guanya molta velocitat.
D’altre banda he de dir que estic anciós per fotre-li mà ja que promet molt i al tenir linux darrera això sempre és un alicient més. Et permet arribar més endins i tocar les coses que no t’acaben de fer el pes. De fet, ja hi ha una aplicació que vull tocar una petita cosa que no m’agrada com fa, la de llegir el bloglines.
Ara a esperar el següent capitol… a veure si no em decepciona tan com la PSP, que quan vaig veure que se’m coplicava tan la cosa per escoltar MP3 i llegir PDFs al tren em va durar ben poc. Ja que aquesta és la funció bàsica que li donaré al dispositiu.
Per aprofundir més en les característiques del dispositiu: datasheet.
I love symfony
Porto dos dies enganxat al Zend Studio programant en PHP5, concretament amb el framework anomenat symfony. Doncs bé no tinc cap ganes de posar-me a escriure un article tècnic sobre aquests dos aplicatius i menys a entrar en detall en la potencia d’ambdues eines juntes. Però si que volia deixar constància que això no té res que veure amb la programació de PHP que feia fa uns anys amb el PHP3. Això si que és un plaer, classes, object factories, ADO amb Abstract Factory Design, debugger, SOAP… i un llarg etcetera que no s’acaba mai.
Realment si quan heu de programar us agrada tenir eines com deu mana al vostre abast, jo diria que aquest és el duo perfecte. Si a més podeu tenir un servidor amb apache2 i el Zend Studio Server instal·lat, un control de versions amb subversion, una gestió de tasques amb taskspro i un sistema de tiqueting i roadmap amb trac jo diria que ja no es pot demanar gran cosa més.
L’últim comentari al tema abans de plegar per avui, la curva d’aprenentage del symfony és força llarga, a més interioritzar el model MVC i la implmentació basada en mojavi que en fa symfony costa lo seu. Però després passes a una nova dimenció, m’ha costat arribari però ara em declaro un enamorat del symfony.
Trick: xml2yaml
Petit trick per convertir un fitxer XML a un fitxer YAML (yml) amb Perl, fan falta les llibreries pertinents de perl.
perl -MYAML -MXML::Simple -e 'print Dump XMLin "fixer.xml"'
Trick: Winsock del WinXP es queda tonto
En les versions antigues del windows quan la pila TCP/IP es quedava tonta era molt senzill reinstal·lar-la sobretot al 95 que cada 2×3 te la feia tornar a instal·lar. Però en la versió XP ja és més fotuda la cosa i quan el winsock2 es queda tonto és realment difícil reinicar-lo o reinstal·lar-lo.
Per resetejar-lo podeu usar l’ordre:
netsh winsock reset catalog
També podem eleminar dues entrades del registre per forçar una re-instal·lació de la pila winsock:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
Re-iniciem la màquina i després anem a les propietats de l’interficie de xarxa i instal·lem de nou el protocol TCP/IP.
Si voleu més informació sobre ambdues solucions podeu anar a:
- Changes to Functionality in Microsoft Windows XP Service Pack 2Part 2: Network Protection Technologies (local)
- How to determine and recover from Winsock2 corruption (local)