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.
Kategori: Programmering
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.
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(); } } };
$(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"), ""); }); }); });
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
from loopiadnssync import LoopiaDnsSync loopiadnsSync = LoopiaDnsSync("loopiaUserName", "loopiaPassword") loopiadnsSync.addDomain("www.test.com"); loopiadnsSync.addDomain("test.com"); loopiadnsSync.syncDomains()
Och om kör koden ovanför så ser resultat ut ungefär så här:
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
Ta bort en nummerserie av filer
#!/usr/bin/env python import sys, glob, re, os, getopt def main (argv): startMatch="" fromIndex=-1 toIndex=-1 endMatch="" options, reminder = getopt.getopt(argv, 's:f:t:e:', ['startmatch=', 'fromindex=', 'toindex=', 'endmatch=']) for opt, arg in options: if opt in ('-s', '--startmatch'): startMatch = arg elif opt in ('-f', '--fromindex'): fromIndex = int(arg) elif opt in ('-t', '--toindex'): toIndex = int(arg) elif opt in ('-e', '--endmatch'): endMatch = arg if len(startMatch) > 0 and len(endMatch) > 0 and fromIndex > -1 and toIndex > 0 and fromIndex < toIndex: files = glob.glob("*"); files.sort(); filesInRange = findFilesInRange(files, startMatch, fromIndex, toIndex, endMatch) anwser = raw_input("Do you which to delete these files: " + str(filesInRange) +"?\n\n(y)es or (n)o:") if anwser == "y": for file in filesInRange: os.remove(file) else: print """ rms.y usage mandatory parameters --startmatch=, --fromindex=, --toindex=, --endmatch= example: ~$ rms.py --startmatch='picture', --fromindex=3, --toindex=24, --endmatch='.jpg' """ sys.exit() def isFileInRange (file, fileStartMatch, fromIndex, toIndex, fileEndMatch): match = re.search('('+fileStartMatch+')([0-9]{1,100})('+fileEndMatch+')', file) if (match and match.group(2) is not None): fileIndex = int(match.group(2)) if(fileIndex >= fromIndex and fileIndex <= toIndex): return file def findFilesInRange(files, fileStartMatch, fromIndex, toIndex, fileEndMatch): filesInRange=[] for file in files: outputFile=isFileInRange(file, fileStartMatch, fromIndex, toIndex, fileEndMatch) if(outputFile is not None): filesInRange.append(outputFile) return filesInRange if __name__ == '__main__': main(sys.argv[1:])
Exempel på användning
Används på egen risk!
peter@E5410:~/bashtest$ ls bild0.jpg bild17.jpg bild24.jpg bild31.jpg bild38.jpg bild45.jpg bild52.jpg bild59.jpg bild66.jpg bild73.jpg bild80.jpg bild87.jpg bild94.jpg bild100.jpg bild18.jpg bild25.jpg bild32.jpg bild39.jpg bild46.jpg bild53.jpg bild60.jpg bild67.jpg bild74.jpg bild81.jpg bild88.jpg bild95.jpg bild12.jpg bild19.jpg bild26.jpg bild33.jpg bild40.jpg bild47.jpg bild54.jpg bild61.jpg bild68.jpg bild75.jpg bild82.jpg bild89.jpg bild96.jpg bild13.jpg bild20.jpg bild27.jpg bild34.jpg bild41.jpg bild48.jpg bild55.jpg bild62.jpg bild69.jpg bild76.jpg bild83.jpg bild90.jpg bild97.jpg bild14.jpg bild21.jpg bild28.jpg bild35.jpg bild42.jpg bild49.jpg bild56.jpg bild63.jpg bild70.jpg bild77.jpg bild84.jpg bild91.jpg bild98.jpg bild15.jpg bild22.jpg bild29.jpg bild36.jpg bild43.jpg bild50.jpg bild57.jpg bild64.jpg bild71.jpg bild78.jpg bild85.jpg bild92.jpg bild99.jpg bild16.jpg bild23.jpg bild30.jpg bild37.jpg bild44.jpg bild51.jpg bild58.jpg bild65.jpg bild72.jpg bild79.jpg bild86.jpg bild93.jpg makefiles.sh peter@E5410:~/bashtest$ rms -s'bild' -f0 -t19 -e'.jpg' Do you which to delete these files: ['bild0.jpg', 'bild12.jpg', 'bild13.jpg', 'bild14.jpg', 'bild15.jpg', 'bild16.jpg', 'bild17.jpg', 'bild18.jpg', 'bild19.jpg']? (y)es or (n)o:
Gott nytt år
#!/bin/bash i=2000 max=2011 while [ "$i" -lt "$max" ] do echo "happy new year $i" i=`expr $i + 1` done
Antecknar lite linux tips
Fick frågan om jag visste något smidigt sett att behålla de 10 första bilderna i en serie och ta bort resten bilderna serien med hjälp av något eller några linux kommando.
För att ha några filer jag kan testa mot så skrev jag ett litet skript 🙂
#!/bin/bash i=0 max=10000 while [ "$i" -lt "$max" ] do touch "bild$i.jpg" i=`expr $i + 1` done
Innan du börjar försöka med dessa kommandon kan du testa med ls först eller använda -i flaggan på rm för att få bekräfta den dina val.
Om man har bildserier som börjar på 0 så kan ta bort de 10 första genom att skriva följande.
rm bild[0-9].jpg
och om man vill ta bort alla bilder förutom de tio första förutsatt att serien börjar på 0 så kan man skriva så här
rm bild[0-9]?*.jpg
uttrycket säger ta bort alla filer vars filnamn börjar på “bild” och innehåller ett tecken efter “bild” som innehåller en siffra mellan 0-9 frågetecknet säger att det måste finnas ett tecken efter siffran och stjärnan kommer matcha noll eller alla tecken fram till .jpg
Något som är värt att nämna är man helst skulle vilja använda bild[0-9]{2,10} som i ett vanligt regexp för verkligen försäkra sig om att det är siffror man jämför mot. men även om skulle göra det så kollar man bara om det är siffror och inte om siffrorna är inom ett visst intervall som tex bild3-bild303.
Om man vill använda find med xargs kan man göra så här
find . -name 'bild[0-9]?*.jpg' -print0 | xargs --null /bin/rm -f
Denna går att förbättra!
find . -iregex './bild[0-9][0-9]?..[.]jpg' -print
Jag kommer nog fortsätta på det här inlägget till jag hittat något bra och enkelt sätt att göra det på.
Idag hittade jag lite tid över för att fixa lite med mitt memoryspel. Nu ritas de små fyrkanterna ut mer centrerat.
Ännu ett Memory spel uppdaterat
Råkade programmera om mitt andra Memory spel idag. Jag ville att de skulle likna det som jag har gjort för Android telefoner.
i veckan har jag förändrat stor del av koden för hur mitt android memory spel skall visa “brickorna” och nu känns det helt plötsligt väldigt lättspelat.
Vart du laddar ner spelet finns på denna sida https://plweb.se/laddaner/memory-spel-android/