Atjaunināts files.inbox.lv downloader
2009-12-09 09:05:09 UTC by maris in python, Internets, Skripti,Atjaunināju files.inbox.lv downloder, tagad ari uploader skriptu.
Galvenais jauninājums ir upload iespējam, kā arī iespēja uplodēt direktorijas saturu un pat rekursīvi uploadēt direktorijas un apakšdirektoriju saturus. Direktoriju struktūras koks nesagabājas.
Paņemt te
Asinhrons serveris 5 minūtēs ar Twisted
2009-12-08 21:25:12 UTC by maris in python, Twisted,Vienkārša asinhrona server piemērs ar defered pielietojumu. Dotais piemērs nodarbojas ar to ka saņem stringu un atgriež stringa hash summu, pēc EOF pātrauc savienojumu. Lai neaizmirstu :)
#!/usr/bin/env python
from twisted.protocols.basic import LineReceiver
from twisted.internet import reactor, protocol, defer
import re
class SimpleServer(LineReceiver):
defer.setDebugging(True)
# Twisted Method, is called when connection has been made
def connectionMade(self):
self.sendLine("Hi %s"%(self.transport.getPeer()[1]))
# Twisted Method, is called when connection has been lost
def connectionLost(self, data):
print "Calling Connection lost"
# Twisted Method, is called when line is received
def lineReceived(self, line):
# If line is EOF, disconnecting
if re.search('^EOF$',line):
# Twisted method to disconnect
self.transport.loseConnection()
else:
# Creating defered object
defered = self.DeferedFunction('%s'%(line))
# Adding Callbec to be run, when result is ready
defered.addCallback(self.ReturningFunction)
# Function which is doing defered stuff
def DeferedFunction(self, data):
# initng defered
d = defer.Deferred()
import hashlib
digest = hashlib.sha224(data).hexdigest()
# Sending data to callback
d.callback('String hash: %s'%(digest))
# returning deferd object
return d
# Callback function
def ReturningFunction(self, data):
# Returning result to client
self.sendLine("%s"%(data))
def main():
factory = protocol.ServerFactory()
factory.protocol = SimpleServer
reactor.listenTCP(1100,factory)
reactor.run()
if __name__ == '__main__':
main()
iPhone jailbreak - error 1600
2009-10-26 21:06:32 UTC by maris in Apple, iPhone,Vakrdienas rīta pusi pavadīju laužot ifonu. Mēģinājums salauzt ar blackr1in bija neveiksmīgs, katru reizi šis brīnums vienkārši nokārās, kaut gan dienu iepriekš kādu citu ifonu sanāca salauzt ar šo brīnum tūli 10 sekundēs, bet ar manējo viss tik vienkārši nesanāca.
Atmetot cerības salauzt ar blackra1n, nolēmu atgriezties pie pārbaudītām vērtīmbām t.i. PwnageTool.
PwnageToolis nopačoja originālo firmware un nolika uz desktop, iebūtoju ifonu DFU modē un sāku restorot... Līdz itunes paziņo 'Unknown error 1600' , omg, ne jau manam imakam sāka čakarēties usb, pārspraudu citā ligzdā - same shit, izmēgināju citas kombinācijas, bet bez rezultāta. Paņēmu Win7 laptopu, uzštellēju itunes un tur tas pats rezultāts.
Pēc ilgas gūglēšanas izrādijās, ka ifons ieiet nepareizā DFU modē (izrādās, ka tās ir vairākas), kā arī atradu tūli, kas iebūto itrubu pareizā DFU modē - iReb
šis brīnum tūlis palīdzēja veiksmīgi salauzt ifonu :)
Mīkstinājuma zīmes uz MAC, veinlaicīgi ar ~ un '
2009-09-27 10:26:42 UTC by Kristaps in Apple,Tā kā standartā uz MAC piedāvā mīkstinājuma zīmes izmantojot apostrofu ( ' ), bet kaut kā tomēr nedaudz esmu pieradis izmantot tildes ( ~ ) variantu, tad pēc ilgiem laikiem sataisīju keyboard layout, lai var rakstīt, gan ar ~, gan '. Tātad, izmantoju Ukelele Mac OS X Keyboard Layout Editor: http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ukelele Tālāk definēju ~ un ' kā dead key un salieku attiecīgos burtus. Te faili: lv2in1 Lejuplādē, atspiež un met zem /Users/myuser/Library/Keyboard Layouts Zem System Preferences > Language & Text > Input Sources, sameklē lv2in1 un atķeksē. Pēc tam taisa log off un logojas atpakaļ. Ja lieto vairākas valodas un tās rāda Menu Bar, tad nomaina uz lv2in1 un raksta ar ko ērtāk. Ja ir kādas kļūdas metat komentāros, vai izmantojot Ukelele labojat paši. Ja pamanīšu, ka ir kādas kļūdas vai kas cits, iemetīšu jauninājumus. Pārbaudīts un strādā uz Mac OS X Snow Leopard un Leopard.
(2 komentāri)Bash regex
2009-09-23 14:00:17 UTC by maris in Linux, Skripti,Kopš Bash 3. versijas ir pārādījies regulāro izteiksmju atbalsts, kas ir līdzīgs realizācijai iekš perl.
if [[ "pirmagrupa01-51" =~ ^([a-zA-Z]+)([0-9]+)-([0-9]+)$ ]]
then
echo "group1:${BASH_REMATCH[1]} group2:${BASH_REMATCH[2]} group3:${BASH_REMATCH[3]}"
fi
path=/var/log/messages
echo ${path%/*}
/var/log
echo ${path#*/}
messages