Kategorier
Okategoriserade Programmering

Gott nytt år


#!/bin/bash

i=2000
max=2011
while [ "$i" -lt "$max" ]
do
echo  "happy new year $i"
i=`expr $i + 1`
done

Kategorier
Programmering

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

Wildcards info hos tldp.org

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å.

Kategorier
Programmering

Mindre skönhets förändringar på mitt memoryspel

Idag hittade jag lite tid över för att fixa lite med mitt memoryspel. Nu ritas de små fyrkanterna ut mer centrerat.

Kategorier
Java Programmering

Ä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.

http://www.plweb.se/laddaner/memory-spel/

Kategorier
Programmering

Uppdaterade memory spelet 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 http://plweb.se/laddaner/memory-spel-android/

Kategorier
Programmering

Uppdaterade mitt memory spel…

Fann lite tid att uppdatera mitt memory spel. Nu är spelet uppe i version 5.0.4.

Mer info om spelet finns under ”ladda ner” -> ”memory spel (java)”

Kategorier
Programmering

Min första python klass :)

'''
Created on 20 okt 2010
@author: Peter Lindblom
'''
import subprocess
from time import localtime, strftime
import re

class LoopiaDnsSync: 
    """A simple loopia dns python module"""
    __user = ""
    __domains = []
    def __init__(self, username, password, domains=[]):
        """Username, Password, optional list of domains"""
        self.__user = username + ":" + password
        self.__domains = domains        
    
    def addDomain(self, domain):
        """Adds a domain to the list of domains and returns current LoopiaDnsSync instance"""
        self.__domains.append(domain);
        return self
        
    def __getIpAddress(self):
        """Gets your current ip-address"""
        outputStr = subprocess.Popen(["curl", "-s", "http://dns.loopia.se/checkip/checkip.php"], stdout=subprocess.PIPE).communicate()[0]        
        return re.search('^.*: ([^<]*).*$', outputStr).group(1)
    
    def __syncADomain(self, user, currentIP, domain):
        """Syncs a domain at a time"""
        inputStr = "http://dns.loopia.se/XDynDNSServer/XDynDNS.php?hostname=" + domain + "&myip=" + currentIP    
        outputStr = subprocess.Popen(["curl", "-s", "--user", user, inputStr], stdout=subprocess.PIPE).communicate()[0]
        return domain+"="+currentIP+": "+outputStr

    def syncDomains(self):        
        """Syncs all domains using __syncADomain"""
        print __name__+": " + strftime("%a, %d %b %Y %H:%M:%S", localtime()) 
        ipAdress = self.__getIpAddress()
        for domain in self.__domains:
            print self.__syncADomain(self.__user, ipAdress, domain)

Kategorier
Programmering

loopiadns multidomain

#!/bin/bash

#########################################################################
## SETTINGS 														   ##						
#########################################################################

USER_NAME="user"
USER_PASSWORD="password"

DOMAINS=""
DOMAINS="$DOMAINS minlinuxserver.com"
DOMAINS="$DOMAINS minlinuxserver.se"
DOMAINS="$DOMAINS www.minlinuxserver.com"
DOMAINS="$DOMAINS www.minlinuxserver.se"

#########################################################################
## THE PROGRAM                                                         ##
#########################################################################
# Print the date and time
echo `date -R`;

# Credentials in curl format
CREDENTIALS="$USER_NAME:$USER_PASSWORD"

# Get your current ip number 
IP_ADDRESS=`curl -s  dns.loopia.se/checkip/checkip.php | sed 's/^.*: \([^<]*\).*$/\1/'`

#Print info
echo "Domain:	Status"

#Foreach domain in domains sync
for DOMAIN in $DOMAINS; do

	#Do sync
	STATUS=$(curl -s --user $CREDENTIALS "http://dns.loopia.se/XDynDNSServer/XDynDNS.php?hostname=$DOMAIN&myip=$IP_ADDRESS"; echo)
	
	#Print sync result	
	echo "$DOMAIN:	$STATUS" 	
done

Kategorier
Programmering

Memory för android

Nu har jag gjort ett Memory spel för android telefoner 🙂 Här under finns bilder och en qr kod 🙂 Stort nöje!

Kategorier
Programmering

Android market

Nu finns min binära klocka att hämta hos android market.