Hitta bilder som inte har ändrats på ett tag och radera dem

Om du vill ta bort JPEG-bilder som inte har blivit modifierade på ett tag kan det här vara något för dig. Med find så kommandot i linux kan man söka efter filer per namn och senast ändrat tid och efter filtyp mm.

Här under använder jag find för att hitta alla filer som inte har ändrats på mer än sju dagar och slutar på *.jpg. Filerna som hittade skickas senare vidare till rm kommandot som tar bort filerna. Obs används på egen risk
[bash]
find /home/peter/bashtest/ -mtime +7 -type f -name ’*.jpg’ -print0 | xargs -0 rm
[/bash]

Jag har kört detta bashscript innan för att testa kommandona ovan för att jag gillar tdd 🙂 Scriptet nedan skapar tomma filera med två olika ändringsdatum.
[bash]
#!/bin/bash

i=0
max=10
while [ "$i" -lt "$max" ]
do
touch -am -t ’201110090800’ "bild$i.jpg"
touch -am -t ’201110140800’ "bild$i$i.jpg"
i=`expr $i + 1`
done

[/bash]

http://www.computerhope.com/unix/utouch.htm
http://content.hccfl.edu/pollock/Unix/FindCmd.htm
http://linux.about.com/od/commands/a/blcmdl1_findx.htm

free -m && awk == nice

[bash]
#!/bin/sh
OFF="$1"
UNIT="$2"

OUTPUT_FROM_DF_AND_AWK=$(free -m | awk ’IF NR == 2 {print $4"%s%s"$2"%s\n"}’)

for LINE in $OUTPUT_FROM_DF_AND_AWK
do
printf $LINE "$UNIT" "$OFF" "$UNIT";echo " ";

done
[/bash]

[bash]
peter@E5410:~$ memory.sh " av " "MB"
2643MB av 7799MB 
[/bash]

freespace.sh

[bash]
#!/bin/sh
OFF="$1"
ON_DRIVE="$2"

OUTPUT_FROM_DF_AND_AWK=$(df -Phx tmpfs -x devtmpfs | awk ’IF NR > 1 {print $4"%s"$2"%s"$6"\n"}’)

for LINE in $OUTPUT_FROM_DF_AND_AWK
do
printf $LINE "$OFF" "$ON_DRIVE";echo " ";

done

[/bash]

[bash]
peter@E5410:~$ freespace.sh " av " " på "
237G av 282G på / 
[/bash]

RegExpFiddle.com

Jag har jobbat en del med en ny webbtjänst i helgen. Den nya webbtjänsten skall underlätta testningen av ”regular expressions”. Du hittar webbtjänsten på adressen på RegExpFiddle.com

Java concurrency in practice inlägg 2

Nu har det blivit lite förändringar i koden för mitt Memory spel igen. Jag har gått från en flerdimensionell array till Collections.synchronizedList(new ArrayList()); och sett att mina tester går igenom.

Java concurrency in practice

Köpte en ny bok för inte så länge sedan om Java concurrency som verkar riktigt bra. Jag har börjat titta lite på vad jag kan göra med mina nyvunna kunskaper på mitt Memory spel. Memory spelet är hur som helst uppdaterat med små förbättringar i koden.

localStorage test

Idag testade jag localStorage på en av mina sajter och jag måste säga att det är väldigt coolt 🙂

Jag valde att spara alla inmatning i localStorage tills man valt skicka väg formuläret. namnet på formulär fältet används som nyckel i localStorage men det det bör inte vara något större problem att kombinera formulärets id eller action attribut.

[javascript]
ls = {
set : function(name, value){
if(window.localStorage){
localStorage.removeItem(name);
localStorage.setItem(name, value);
}
},
get : function(name){
if(window.localStorage){
return localStorage.getItem(name);
}
},
clear : function() {
if(window.localStorage){
return localStorage.clear();
}
}
};

[/javascript]
[javascript]
$(document).ready(function(){

$(”:input”).each(function(){
if($(this).val() == ”” && ls.get($(this).attr(”name”)) != ””){
$(this).val(ls.get($(this).attr(”name”)));
}
});

$(”:input”).change(function(){
if($(this).val() != ””){
ls.set($(this).attr(”name”), $(this).val());
}
});

$(”form”).submit(function(){
form = this;
$(form).find(”:input”).each(function(){
ls.set($(this).attr(”name”), ””);
});
});
});
[/javascript]

min loopia dns sync python modul

Laddade precis upp min python modul jag använder för synka några av mina domäner till http://pypi.python.org/pypi.

http://pypi.python.org/pypi/loopiadnssync/1.0.0/
https://github.com/plwebse/loopiadnssync

[python]
from loopiadnssync import LoopiaDnsSync

loopiadnsSync = LoopiaDnsSync(”loopiaUserName”, ”loopiaPassword”)

loopiadnsSync.addDomain(”www.test.com”);
loopiadnsSync.addDomain(”test.com”);
loopiadnsSync.syncDomains()
[/python]

Och om kör koden ovanför så ser resultat ut ungefär så här:
[bash]
python loopiadns.py
loopiadnssync: Sat, 16 Apr 2011 19:12:12
www.test.com, 127.0.0.1, nochg
test.com, 127.0.0.1, nochg
[/bash]