Ενα μπράβο (χωρίς πλάκα)…

November 27, 2008 – 9:36 am

…σε έναν πατριώτη μας που κάνει παπάδες με το Blender - και διδάσκει κιόλας!

Δεν ξέρω τι ιδεολογικές προτιμήσεις έχει. Ειλικρινώς εχέσθην. 

Του λέω μόνο "Μπράβο Δημήτρη" - και άντε να γινόμαστε πολλοί μπλεντεράδες….

 


Και καθως πήρε τα βραβειάκια του…

November 11, 2008 – 7:55 am

… να το θυμηθουμε λίγο το Big Buck Bunny…

Ηντζόι!

 


Autodesk:”OM NOM NOM NOM NOM”

October 27, 2008 – 9:30 am

Η Autodesk εξελίσσεται στην Micros**t των 3d γραφικών; Μπορεί.

Το βιντεάκι είναι πάντως ευρηματικό.

 

Keep blendering, folks!


Me likes…

October 22, 2008 – 10:15 am

Ξέρω ότι πολλοί λινουξάδες και ανοιχτολογισμίτες φτύνουν τον κόρφο τους -ενίοτε και ξερνάνε- όταν ακούνε Sun.

Δικαίωμά τους.

Εμένα δικαίωμά μου να τη βλέπω λιγότερο αρνητικά. Σίγουρα το fandom της μπορεί να χτυπήσει παράνοια τριών βαθμών της κλίμακας Λουκά, σίγουρα έχει κάνει πολλά και πονηρά, αλλά το open source Virtual Box της μου αρέσει πολύ.

Είναι εύχρηστο, απλό και δουλεύει.

Και είναι και open source.

Γιατί να πειρατεύω προγράμματα και να μην υποστηρίξω κάτι ανοιχτό όταν μπορώ;

(…θα επανέλθω…)


Ενα πείραμα για τους φίλους μας τους δημιουργιστές -και μη.

October 3, 2008 – 10:29 am

Λοιπόν, οι φίλοι μας οι δημιουργιστές λένε ότι από το τυχαίο δεν μπορεί να παραχθεί τάξη αν το ανακατώνουμε με το τυχαίο. Κάποια μάλιστα δημιουργίστρια με εγκάλεσε λέγοντάς μου ότι το παραμύθι της -ότι, δηλαδή, ένας μεγάλος μαγικός μουσάτος μαλάκας με έναν χίπη γιό και ένα κατοικίδιο περιστεράκι έχωσε τα χέρια του στη λάσπη κι έφτιαξε αντί για λασπόπιτες τον Αδάμ- είναι πιο σωστό, λογικό και έξυπνο απο την άποψη των σύγχρονων βιολόγων ότι ο άνθρωπος εξελίχτηκε, επειδή όταν ανταλάσσουμε τυχαία στοιχεία το αποτέλεσμα θα είναι πάλι τυχαίο…

Ας κάνουμε λοιπόν ένα πείραμα:

Τα γράμματα της αγγλικής αλφαβήτου είναι 26.

Οι ενδεκαψήφιες λέξεις που μπορεί να βγάλουν είναι 26^11=3.670.344.486.987.776 δηλαδή πάνω απο τριάμισι τετράκις εκατομμύρια, ήτοι πεντακόσιες χιλιάδες φορές παραπάνω απο τους ανθρώπους που κυκλοφορούν στη γη αυτή τη στιγμη.

Απο αυτές η λέξη creationism είναι μία - και μόνο μία. Η πιθανότητα λοιπόν να πάρουμε μια τυχαία λέξη έντεκα ψηφίων, και να μας προκύψει η λέξη creationism είναι 1 προς τριάμισι τετράκις εκατομμύρια - σίγουρα πιο μικρή από το να κερδίσουμε το λότο.

Αν πάρουμε εκατό τέτοιες λέξεις, η πιθανότητα να μας προκύψει η λέξη creationism είναι σαφώς καλύτερη - αλλά όχι και πολύ.

Ας δοκιμάσουμε λοιπόν τι μας λέει αυτός ο βλάκας ο Δαρβίνος που δεν φτάνει ούτε μιαν αρχιδότριχα απο τη σοφία και την ευφυϊα του Μωυσή και που είναι ένας διανοητικός και πνευματικός νάνος μπροστά στον Γρηγόριο Παλαμά και τους Νηπτικούς…

Ας πάρουμε εκατό τυχαίες λέξεις των έντεκα γραμμάτων.

Ας διαλέξουμε τις είκοσι που είναι πιο κοντά στη λέξη creationism, και άρα καλύτερα προσαρμοσμένες, που λεει ο βλάκας ο Δαρβίνος. Θα το υπολογίσουμε εντελώς μπακάλικα: θα υπολογίσουμε την απόσταση του κάθε γράμματός τους απο το αντίστοιχο και θα κάνουμε τη σούμα.

Μας θέλει και σεξουαλική αναπαραγωγή; Θα το κάνουμε κι αυτό. Αυτές τις είκοσι λέξεις θα τις κάνουμε δέκα ζευγάρια και απο κάθε ζευγάρι θα βγάλουμε δέκα παιδιά, διαλέγοντας τυχαία γράμματα είτε από το ένα, είτε απο το άλλο ζευγάρι. Και επειδή ο Δαρβίνος ήταν και βλάκας, μια φορά στις πεντακόσιες, τυχαία, θα διαλέγουμε αντί για το σωστό γράμμα, ένα τυχαίο.

Και θ’ανακυκλώσουμε, μια… δυο… τρεις… χίλιες φορές…

Χίλιες γενιές - δηλαδή εκατό χιλιάδες λέξεις τυχαίες, πόσες είναι οι πιθανότητες οι νόμοι του βλάκα του Δαρβίνου να μας γεννήσουνε τη λέξη creationism έστω και μια φορα; 0.00000000003 -τόσο μου είπε το calculator. Άντε να φύγουν ένα δυό μηδενικά από το δεκαδικό αν διαφέρει σε ένα γράμμα - και πάλι περισσότερες πιθανότητες έχει να κάτσει το λόττο.

 

Εδώ παρακάτω είναι το πρόγραμμα σε python που χρησιμοποίησα για την εξομοίωση της παραπάνω σκέψης. Δοκιμάστε το και δείτε: emoticon

[_______________________cut_from_here______________________________________]

 import random
#create organisms list - initialize world
organisms=[]
fitnesslist=[]
parents=[]
target="creationism"
genelen=len(target)
allletters=’abcdefghijklmnopqrstuvwxyz’
#create totally random generation zero
for j in range(1,101):
    a='’
    for i in range(0,genelen): a=a+allletters[random.randint(0,25)]
    organisms.append(a)
print "Generation Zero Created!"
print organisms
#evodevo begins
for generation in range(0,1000):
#calculate fitness of organisms and sort them
    for i in organisms:
            distance=0
            for j in range(0,genelen):
                    distance+= abs(allletters.index(i[j])-allletters.index(target[j]))
            fitnesslist.append((distance,i))
    fitnesslist.sort()
    del organisms[:]
#pick the 20 fittest
    for j in range(0,20): parents.append(fitnesslist[j][1])
    del fitnesslist[:]
#pair the organisms
    while len(parents)>1:
        pair1=parents.pop()
        pair2=parents.pop()
#let each pair have ten descendants, season with 0.2% mutations per gene/letter
        for k in range(0,10):
            child='’
            for l in range(0,genelen):
                letter='’
                tester=random.randint(0,500)
                if tester<250:
                    letter=pair1[l]
                elif tester<500:
                    letter=pair2[l]
                else : letter=allletters[random.randint(0,25)]
                child=child+letter
            organisms.append(child)
#make the list the new organisms list and clean up your shit
    if (generation in (1,5,10,50,100,200,500,1000)): print organisms

[_______________________cut_to_here________________________________________]

(το παρόν θα γινόταν ταινιάκι, τα αποτελέσματα του πειράματος τα έχω σε avi, ελπίζω προσεχώς… Δε δίνω spoiler, δείτε μόνοι/ες/α σας…)


Vintage Python Text Game

September 12, 2008 – 11:57 am

Μπούρδα βασικά, αλλά όλο και κάτι μπορεί να κλέψει κανείς, όλο και κάποια τροποποίηση να κάνει, όλο και την Python του να εξασκήσει.

Ο κώδικας είναι ελεύθερος για εκπαιδευτική, προσωπική, μη κερδοσκοπική χρήση κλπ.κλπ.κλπ. απαγορεύεται η χρήση του για δουλειές που προάγουν διακρίσεις και μίσος, απαγορεύεται η δημοσίευση όπως λέω στο ToS… Ξέρετε…

Αν το μετατρέψετε για Luaplayer, το θέλω!

(Υπαινίσσομαι κάτι; Ναι, υπαινίσσομαι, και ποιός δεν υπαινίσσεται;)

 <—————cut and paste from here—————————>

#Find All the islands game
#First successful attempt in creating a basic-like simple game
import random
#put islands in a 10x10 map and player on "Pequenita"
island_names=["La Chuama","Pequenita","Ramos","Florida","Erminia","Nova Domenica"]
island_list=[]
forbidden_pairs=[]
Player_coords=(0,0)
islands_found=[]
Player_moves=0
Legal_moves=[’n',’N',’s’,'S’,'e’,'E’,'w’,'W’]
for i in island_names:
    x_coord=random.randint(1,10)
    y_coord=random.randint(1,10)
    if len(island_list)>0:
        while (forbidden_pairs.count((x_coord,y_coord))>0):
            x_coord=random.randint(1,10)
            y_coord=random.randint(1,10)
    island_list.append((i,x_coord,y_coord))
    forbidden_pairs.append((x_coord,y_coord))
    if (i=="Pequenita"):
        Player_coords=(x_coord,y_coord)
        islands_found.append(i)
#Print introduction text and let the game begin
print "Banana Boat Jill 0.0.0.0a : Quest for the Isles"
print "============================================================"
print "Hello and welcome to the Banana Boat Jill game series!"
print "This is the abso-fucking-lutely first superb game to blow your socks off!"
print "(ok, maybe not, whatever….)"
print "The scope of the game is to discover every island on the map."
print "Simple, eh?"
print "Just indicate the direction you want to go: N, S, E, W."
print "Now, go and swift winds upon your sails, captain!"
#here is the main loop
while len(islands_found)<len(island_names):
    Player_moves=Player_moves+1
    Cur_move=’ ‘
    print "============================================================"
#check if we are on an island
    dumx,dumy=Player_coords
    onisl=0
    for i in island_list:
        curislname, curx,cury=i
        if ((curx,cury)==Player_coords):
            if (islands_found.count(curislname)==0): islands_found.append(curislname)
            print "You are on : ", curislname
            onisl=1
    if (onisl==0): print "You’re on the open sea!"
    print "Please input your move (only first letter counts)"
    while (Legal_moves.count(Cur_move)==0):
        dummyin=raw_input(’—>’)
        if len(dummyin)>0: Cur_move=dummyin[0]
        print " "
    if (Cur_move==’N’ or Cur_move==’n'):
        if dumy>1:
            dumy=dumy-1
            print "Right on, commander!"
        else: print "Hic sunt ursii - cannot go this north!"
    elif (Cur_move==’S’ or Cur_move==’s’):
        if dumy<10:
            dumy=dumy+1
            print "Right on, commander!"
        else: print "Hic sunt leones - cannot go this south!"
    elif (Cur_move==’E’ or Cur_move==’e'):
        if dumx<10:
            dumx=dumx+1
            print "Right on, commander!"
        else: print "Hic sunt dracii - cannot go this east!"
    elif (Cur_move==’W’ or Cur_move==’w'):
        if dumx>1:
            dumx=dumx-1
            print "Right on, commander!"
        else: print "Hic sunt fundies - cannot go this west!"
    Player_coords=dumx,dumy
print "Congratulations, Captain! you found all the islands!"
print "(congrats to me too, I made a game that ends…)"
print "Moves that the feat took you: ", Player_moves
print "See you sometime again, Captain!"

<—————cut and paste until here—————————>