Simple Snake in Python 
My first and probably the very last attempt to write some code in python.

#!/usr/bin/python

import os, sys, random

UP, DOWN, LEFT, RIGHT = range( 4 )

class Worm:
def __init__(self, lenght, start_x, start_y ):
self.lenght = lenght
self.x = []
self.y = []
for body in range( lenght ):
self.x.append( start_x + body )
self.y.append( start_y + 0 )

def grow( self ):
self.lenght += 1
self.x.append( 0 )
self.y.append( 0 )

def info( self ):
print "head position is %d, %d. Control keys are wasd" % ( self.x[0], self.y[0] )
print "the all body parts on inc. head", self.x
print "the all body parts ", self.y
print "my lenght is ", len( self.x )

def moveBody( self ):
delka_pole = len( self.x )
while delka_pole > 1:
self.x[ delka_pole - 1 ] = self.x[ delka_pole - 2 ]
self.y[ delka_pole - 1 ] = self.y[ delka_pole - 2 ]
delka_pole -= 1

def moveHead( self, way ):
if way == UP:
self.y[ 0 ] -= 1
elif way == DOWN:
self.y[ 0 ] += 1
elif way == LEFT:
self.x[ 0 ] -= 1
elif way == RIGHT:
self.x[ 0 ] += 1

class gameField:
def __init__(self, size):
self.size = size
self.field = [ ]
for line in range( self.size ):
self.field.append( [ "." ] )
for cell in range( self.size - 1):
self.field[line].extend('.')

def drawField(self):
sys.stdout.write(os.popen('clear').read())
for line in range( self.size ):
print self.field[ line ]

def putApple(self):
random.seed( self.size )
self.field[ random.randint( 0, self.size ) ][random.randint( 0, self.size ) ] = "$"


myWorm = Worm( 5, 5, 5 )
myGameField = gameField( 20 )
myGameField.putApple()
direction = UP

while myWorm.lenght < 6:

key = raw_input()
if key == "w": direction = UP
elif key == "s": direction = DOWN
elif key == "a": direction = LEFT
elif key == "d": direction = RIGHT

myWorm.moveBody()
myWorm.moveHead( direction )

if myGameField.field[ myWorm.y[ 0 ] ][ myWorm.x[ 0 ] ] == "$":
myWorm.grow()

for clanek_housenky in range( myWorm.lenght - 1 ):
myGameField.field[ myWorm.y[ clanek_housenky ] ][ myWorm.x[ clanek_housenky ] ] = "o"
myGameField.field[ myWorm.y[ myWorm.lenght - 1 ] ][ myWorm.x[ myWorm.lenght - 1 ] ] = "."

myGameField.drawField()
myWorm.info()

print "You successfully devoured the poisoned apple."


[ add comment ] ( 2 views )   |  [ 0 trackbacks ]   |  permalink
2d array via list in Python 
>>> matrix = 10
>>> list = [ ]
>>>
>>> for line in range( matrix ):
... list.append( [ "x" ] )
... for cell in range(matrix - 1):
... list[line].extend('x')
...
>>>
>>> for line in range( matrix ):
... list[ line ]
...
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']


[ add comment ] ( 2 views )   |  [ 0 trackbacks ]   |  permalink
Fomapan 100 in Ilford ID11 for 6.5mins 


[ add comment ] ( 3 views )   |  [ 0 trackbacks ]   |  permalink
Solaris: audit config 
    minfree:20
dir:/var/audit/data/files
dir:/var/audit/overflow/files
flags:lo,ex
naflags:lo,ex


/etc/system
set c2audit:audit_load = 1 # audit is enabled


http://docs.sun.com/app/docs/doc/801-66 ... dule+Guide

[ add comment ] ( 4 views )   |  [ 0 trackbacks ]   |  permalink
Solaris SVM: extending mirror on Solaris SVM by 2 disks 
extending mirror on Solaris SVM by 2 disks:

the new disks:

       2. c0t2d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>  rootdisk
/pci@1c,600000/scsi@2/sd@2,0
3. c0t3d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
/pci@1c,600000/scsi@2/sd@3,0


first, copy volume table of content from original mirrored disk:

prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t2d0s2
prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t3d0s2


init partitions acting as metadevices:

metainit d30 1 1 c0t2d0s0
metainit d40 1 1 c0t3d0s0

metainit d31 1 1 c0t2d0s1
metainit d41 1 1 c0t3d0s1


metainit d35 1 1 c0t2d0s5
metainit d45 1 1 c0t3d0s5

metainit d36 1 1 c0t2d0s6
metainit d46 1 1 c0t3d0s6

metainit d37 1 1 c0t2d0s7
metainit d47 1 1 c0t3d0s7

attach devices to current mirror:

metattach d0 d30
metattach d1 d31
metattach d5 d35
metattach d6 d36
metattach d7 d37

metattach d0 d40
metattach d1 d41
metattach d5 d45
metattach d6 d46
metattach d7 d47


if metainit says "Metainit : no such file or directory", the limit defined for metainit number ( metainit d_number_ 1 1 c0t5d0s7) was higher than the limit _number_ allowed in the system configuration. The configuration file /kernel/drv/md.conf had to be changed regading the number you are willing to use ("nmd" parameter from 128 to your intended number). Changing kernel driver files requires a reboot.

[ add comment ] ( 2 views )   |  [ 0 trackbacks ]   |  permalink
SUN: service card scadm utility 
Path to scadm: /usr/platform/SUNW,Sun-Fire-V240/sbin

# ./scadm help


USAGE: scadm <command> [options]
For a list of commands, type "scadm help"

scadm - COMMANDS SUPPORTED
help, date, set, show, resetrsc, download, send_event, modem_setup,
useradd, userdel, usershow, userpassword, userperm, shownetwork,
loghistory, version

scadm - COMMAND DETAILS
scadm help => this message
scadm date [-s] | [[mmdd]HHMM | mmddHHMM[cc]yy][.SS] => print or set date
scadm set <variable> <value> => set variable to value
scadm show [variable] => show variable(s)
scadm resetrsc [-s] => reset SC (-s soft reset)
scadm download [boot] <file> => program firmware or [boot] monitor
scadm send_event [-c] "message" => send message as event (-c CRITICAL)
scadm modem_setup => connect to modem port
scadm useradd <username> => add SC user account
scadm userdel <username> => delete SC user account
scadm usershow [username] => show user details
scadm userpassword <username> => set user password
scadm userperm <username> [cuar] => set user permissions
scadm shownetwork => show network configuration
scadm loghistory => show SC event log
scadm version [-v] => show SC version (-v verbose)




[ add comment ] ( 2 views )   |  [ 0 trackbacks ]   |  permalink
Linux: recover deleted file which is still open by some process 

# rm /var/log/messages
# lsof -n -P -l | grep syslog
syslogd 6442 0 txt REG 3,6 35832 426222 /sbin/syslogd
# cd /proc/6442/fd
[root@vm02 fd]# ls -la
total 0
dr-x------ 2 root root 0 Apr 24 04:31 .
dr-xr-xr-x 5 root root 0 Nov 7 04:41 ..
lrwx------ 1 root root 64 Apr 24 04:31 0 -> socket:[59016]
l-wx------ 1 root root 64 Apr 24 04:31 1 -> /var/log/messages (deleted)
l-wx------ 1 root root 64 Apr 24 04:31 2 -> /var/log/secure
l-wx------ 1 root root 64 Apr 24 04:31 3 -> /var/log/maillog
l-wx------ 1 root root 64 Apr 24 04:31 4 -> /var/log/cron
l-wx------ 1 root root 64 Apr 24 04:31 5 -> /var/log/spooler
l-wx------ 1 root root 64 Apr 24 04:31 6 -> /var/log/boot.log
# cat 1
...
...
Dec 4 23:29:34 vm02 yum-updatesd-helper: error getting update info: rpmdb open failed
Dec 5 00:29:42 vm02 yum-updatesd-helper: error getting update info: rpmdb open failed


[ add comment ] ( 7 views )   |  [ 0 trackbacks ]   |  permalink
Zdeněk Izer - stráž 


[ add comment ] ( 5 views )   |  [ 0 trackbacks ]   |  permalink
Paroubek na Marsu 


[ add comment ] ( 3 views )   |  [ 0 trackbacks ]   |  permalink
WINrpe (nrpe) for Windows 
Other nrpe than nrpe_nt is available as Windows service to connect Nagios monitoring with Windows servers. More info is at: http://www.itefix.no/i2/winrpe.

[ add comment ] ( 7 views )   |  [ 0 trackbacks ]   |  permalink

<<First <Back | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | Next> Last>>