Jag har börjat lägga upp en del kod på github. https://github.com/plwebse
Kategori: Programmering
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
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]
Denna dag
- Lyckats rensa en logg från fel (grym känsla)
- Session.evict() First level cache
- SessionFactory.evict() Second level cache
- Binary Clock (JavaScript and Canvas)
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]