0.073
thk thk Πεμ. 22 Μαϊος. 2008 5:11 tags αλλαγές στο madpy 0 views 2 σχόλια
Μολις έβαλα δυνατοτητα themes και στους users και το ανακοινώνω με χαρά.
Κάντε edit parameters στο blog σας και προσθέστε ενα parameter theme.
Σαν τιμή μπορείτε προς στιγμήν να βάλετε
  • kaotonik (δεν θα αλλάξει και τιποτα) ,
  • madpy , δειτε το αυθεντικο theme του madpy
  • blues , το τελευταίο δημιουργημα .

Θέστε και τη παραμετρο header_title για να αλλάξει ο τίτλος του header και μετά ανεβείτε οπως παντα στη καρέκλα και αρχίστε να φωνάζετε.
A ΜΗ ΞΕΧΑΣΕΤΕ  σε καθε παράμετρο να τσεκαρετε το inherits_to_children checkbox.
από mari@pi 2008-05-22 09:49
κι εμείς πως φτιάχνουμε τα δικά μας ,?
από thk thk 2008-05-22 13:07
Δες το madpy.css (είναι το βασικο αν θες να επεμβεις πολύ βαθεια) και τα kaotonik.css, blues.css που το καπακώνουν. Φτιαχνεις και σύ ενα css , και .. στειλτο mail...
thk thk Τετ. 21 Μαϊος. 2008 4:19 tags javascript , madpy , προγραμματισμός 0 views
If you have visited a blog in kaotonik before, you may have noticed , that few days ago, a read more link was added at the bottom of every blog item , and the the item showed clipped.
This is the "read more" functionality I had been planning to add.
But as I am lazy programmer Ι ended up with very gypsy solution (i like Borat too).
So to resume my friends, as many other problems in web development I had two roads in front me:
The server road and the client road
(and of course there is always another road , to give up with programming).
In the server road I had to filter html and cut it in best possible position outside tags (because I wanted clipped content to be shown as html - not clear text) , but then what about images , one could add images and not write a single word and then ...
This is the time when , if you are lazy programmer you put reverse  and travel  back to take a more easy road.
And the client way is more easy to go.

You place the content you want to clip in a div. If we lived in a perfect world there wouldn't be any internet explorer , but now there is one, so because IE does not understand max-height, you have to write some javascript. (yes - because of IE, I had to code now, you got it , I could have gotten away with just one css line!. and this fact can explain such posts as this , and this).

A function that counts the height of each div and if it's greater than a max height it will set the height of the div to the max height parameter and add a read more link.
This had another nice effect that if content was not taller than max-height ,then no read more link was added on bottom.
So that's it .. The "Read more" of a lazy programmer .
Here is the javascript  code but see also the source of blog , to see where and how is called. The calls are after each blog item.

function setReadMore(clipedId , linkId , maxheight)
{
clipElem = document.getElementById(clipedId);

if (clipElem.offsetHeight > maxheight)
    {
    clipElem.style.height =  maxheight + "px";
    }
else
    {
    document.getElementById(linkId).style.display = "none";
    }

}

Also to override the max-height value of the site, you can edit parameters of your blog ,
and add a list_item_max_height parameter and set it's value to a numeric value (integer).
This way you can control the max height of your blog items.
Geia sas.

thk thk Τρι. 20 Μαϊος. 2008 17:55 tags video , κομπιούτερ 1 views
Δύσκολοι καιροί για τη microsoft..
Ιδού τι τραβάει και ο κακομοίρης ο Steve Balmer , που τον στελνουν να μιλήσει
στα πανεπιστήμια ανα την υφήλειο. Πήγε στη Ουγγαρία ο ανθρωπος και ιδού.
και μετά παραπονίεστε για τις δουλειές σας , τσ τσ τσ!
thk thk Τρι. 20 Μαϊος. 2008 3:20 tags τηλεόραση 1 views 1 σχόλια
Ξέρετε αυτήν την απαίσια εκπομπή πού λέγεται tivitiglon και είναι με αυτους τους ΓΛΕΙΩΔΕΙΣ τον Σεργουλοπουλο και τη Μπακοδήμου που πολύ τους πάει που γράφουμε τα όνοματα τους στο site μας ?
Αν δε μπορείτε να καταλάβετε γίατι τούς λέω γλυώδεις τότε μάλλον βρισκόσαστε σε λάθος site , ίσως βρισκόσαστε και κατα λάθος στο internet.
Δεν πρόκειται να κάτσουμε να αναλύσουμε τώρα τα ΑΥΤΟΝΟΗΤΑ δηλαδή γιατι αυτοι οι 2 τύποι είναι γλυώδεις .
Αντε με συγχήσατε.
Τελοσπαντων ,  κάποιος προφανώς βλακο-μεταλλάς ηχολήπτης (που άκουγε σπιντ-μεταλ , ντεθ-μεταλ , επικ-μεταλ αλλά και βλακό-μεταλ) είχε τη φαεινή ιδέα να βάλει σε ένα tv-χαβουζο-σποτ , μουσικό "χαλί" της προαναφερθείσας εκπομπής , system of a down , και στο γυαλί να παίζει πασαρέλα , ξανθιές , σκηνοθέτες και κρού στο πυρετό της παραγωγης και άλλα τέτοια αμερικανακι-ακα του στυλ παταω το κουμπι και απελευθερώνω τους πυραύλους και ας είμαι χειριστής μηχανής κιμά.
Εντάξει δεν θέλω να φανώ τυπος με ροπή στα υπερφυσικά (οπως οι αναρχικοί) και να πώ οτι κατι τέτοιο αποτελλεί ιεροσυλλία , αλλά έχω να πώ ότι αν γίνω σίριαλ κίλλερ θα βάλω στη λιστα μου όλους τους εμπλεκόμενους σε πολύ καλή θέση .
Ευχαριστώ.


από thk thk 2008-06-16 14:33
διορθωση spooky : ειναι Σεργουλοπουλος και οχι σεργιανοπουλος! Το αρθρο γραφτηκε πριν το θάνατο του δευτερου!
thk thk Κυρ. 18 Μαϊος. 2008 18:02 tags προγραμματισμός , python 1 views
Since image files are served from the python handlers in madpy
(notice that img src is in the form /somepath/path/image or /somepath/path/thumbnail and so on..)
, I needed a way to view their http headers.
I tried (and maybe still trying) to debug , caching , last-modified http header e.t.c.
I am trying to work with the last-modified http header to achieve image caching in the browser.
So I needed a way to view the http headers of a request. I believe the web developer firefox plugin has this functionality with plain pages but not with files.
Anyway I ended up writing this python script that retrieves and shows http headers of an http request and of  course works with files as well.

def headers(uri):
    import urllib2
    request = urllib2.Request(uri)
    opener = urllib2.build_opener()
    firstdatastream = opener.open(request)
    headersDict = firstdatastream.headers.dict
    return headersDict



if __name__ == '__main__':
    import sys
    uri=''
    if len(sys.argv) > 1:
        uri = sys.argv[1]
    if not uri:

        uri = raw_input("enter url:")
    print uri
    print str(headers(uri))



thk thk Κυρ. 18 Μαϊος. 2008 3:43 2 views
Σημέρον εβγήκαμε εις τας ωραίας Αθήνας . Αληθεια τι χάνουν αυτοι οι επαρχιώται. Το ιστορικόν κέντρον με τα μπαράκια του Ψυρή , το τζάμπα άκουσμα απο το θερμο-τοξικό νέφος αυτό που σε κάνει να τα υπομένεις όλα με στωικότητα και υπομονή. (ξαναδιαβάζοντας το συνηδειτοποιώ οτι κάνει ρήμα)
Τσουκου τσουκου σα τις ψύρες στου Ψυρή.
Πρωτη φορα το Ψυρή το είχα ακουσει από τη γιαγια του συμμαθητη μου του παναγιώτη, γιατι μικρός είχα ακούσει ένα φίλο χουλιγκάνο του αδερφού μου (είναι να χεις τα σωστά πρότυπα) που μίλαγε πολύ αργα και μου άρεσε και έτσι το υιοθέτησα και γώ αυτο το τρόπο ομιλίας και έτσι η γιαγια του παναγιώτη μου πε όταν τον ζήτησα  , "Σιγα παιδάκι μου πως μιλάς έτσι ? Νόμιζα ότι ήσουν κάνας μάγγας απο του Ψυρή!" , με έντελώς γιαγιστικό στύλ που και τώρα που το λέω μου σκάει ό ηχος της φωνής της απο το τηλέφωνο.
Παλιά λοιπόν το Ψυρή είχε μάγγες όπως αποδεικνύει και η μαρτυρία της γιαγιάς...
Που λέτε τώρα για την έξοδο , ήταν μια έξοδος που προδιαγραφόταν αποτυχημένη γιατι δεν πήγαμε και πουθενά δηλ. με καποιο στόχο ,, απλά είπαμε πάμε έξω για να βγουμε έξω αλλά.. ΜΕΓΑ ΛΑΘΟΣ . Γιατι αυτά τα λάθη δε τα κάνεις στην Αθήνα, και ειδικά στο Διαβόητο και τρεντυ Ψυρή.
Δηλαδή το  καταλάβατε το όλο σκηνικό?
Η Αθήνα (και ο Πειραιας στον οποίο θα επανέλθω λεϊτερ) είναι πολύ ευρύχωρες πολεις - γεμάτες ελεύθερους χώρους και πάρκα - τα σπιτια των κατοίκων έχουν κήπους στους οποίους καλλιεργούν ντομάτες και πατάτες και επειδή τα σπίτια αυτά λόγω των μεγάλων κήπων απέχουν πολύ μεταξύ τους οι Αθηναίοι φρικάρουν, και γι αυτο για να ξεχαρμανιάσουν κατεβαινουν για  βόλτα στου Ψυρή.
Εντάξει για να μη μας παρεξηγησετε κιόλας , και μας πετατε  ντομάτες , εκει πήγαμε για την έκθεση βιβλιου να πάρουμε κανα κόμικ .
Mπαίνεις με το αμάξι στου Ψυρή και νοίωθεις σα τη ψύρα . Ελπίζεις να σε τράβήξει κανα μαγικο χτένι μακρυά απο αυτό το μπούγιο.

Τελοσπαντων ας μη ξενερώνουμε άλλο, η απόφαση ελήφθη αμέσως, αμεση εκκένωση του χωρου - υποχωρηση - άτακτη φυγή - και , γυρνάμε προς τα πίσω Πειραιά.
Λέμε πάμε σε αυτο το μαγαζί που είναι πίσω απο το λιμάνι - εκει που έχει τα λάϊκο - είχαμε πάει παλιά αλλα δε θυμάμαι το ονομα του , αλλά είχα ακουσει ότι το χαν κλείσει οι μπάτσοι . Καλα και ανοικτό που ήταν, ήταν σαν να μην είχε ιδιοκτήτη, και γι' αυτο οπως καταλαβαίνετε μας άρεσε. Πήγαμε, αλλά.. κλειστό.
Ε μετά λέμε πάμε πίσω , απο Φρεαττύδα Χατζηκυριάκειο.
Λέω λοιπον, στο δρόμο προς τα πίσω, εδώ είχε κατι πευκάκια και κάτι παγκάκια - κατσε να περπατήσουμε λίγο γιατι ολα αυτά μεχρι στιγμής που σας διηγούμαι , είμαστε μεσα σε ένα αμάξι.
Καβαλάμε πεζοδρόμιο , ( στη περιοχή  σε λίγο θα αρχίσουν να αποκλείουνε δρόμους για να παρκάρουνε - μιλάμε είναι η πιο ΤΣΙΤΑ περιοχη που έχω δει - ΠΙΜΠΑ - δε χωράει ούτε όρθιος) αφήνουμε το τουτού,  και πάμε.
Κατεβαίνουμε αλλά τα πευκάκια και τα παγκάκια είναι συρματοπλεγμένα - Γιατί άραγε? Τελοσπάντων  - καβαλάμε σύρματα γιατί είμαστε κομμάντα, και μπαίνουμε μέσα.
Εικόνα εγκατάληψης, αδεσποτοι σκύλοι (και ντόπερμαν) , χόρταριασμένα τα πάντα κ.λ.π.
Συνεχιζουμε λίγο και βλέπουμε ένα (άλλο) ζευγαράκι , οπότε ρωτάω: παιδια ξέρετε γιατί το έχουν κλείσει ? - "επεσε  μιά και σκοτώθηκε μεθυσμένη και γι' αυτο μάλλον το έχουν κλείσει" ..
Βγαίνοντας πάλι απο το σύρμα είδαμε κατι ταμπέλες "Κινδυνος κατολισθήσεων".
Βεβαια δεν είχαν κλείσει τη μεριά πού ήταν προς τη θάλασσα , το εξωτερικό κομμάτι , αλλά όλο το χώρο.
Δε γαμιέται.
Απάθεια και καμία ελπίδα κυριαρχουν κες και κοι .
Και κανας καλος χώρος να υπάρξει, ή θα τον κλείσουν οι μπάτσοι ή θα έρθει ένας βαριεστημένος πρωην μπασκετμπολίστας να βαλει ταμπέλες κινδυνος κατολισθήσεων . Βέβαια εγω να σας πώ πιο πολύ φοβήθηκα τον αδέσποτο ντοπερμαν παρα μη χαθεί το έδαφος κάτω απο τα πόδια μου (αν και βέβαια όλοι εμεις το μονο που φοβόμαστε είναι μη μας πέσει ο ουρανός στο κεφάλι).
Και απο την άλλη έχεις πιτσιρίκια με ξασμένο μαλλί και χαρακτήρα facebook (κυκλοφορει και περιοδικό).
Αλλο σκηνικό αυτό με το EMO. Για να θυμηθώ και τα παλιά , πρώτη φορα ακουσα για EMO πολύ πριν απο σας και  γι αυτο respect. Δηλαδή κατά το 99-2000 όταν μου χε γράψει μια κασσετα ο Αλέξης (ο Τσίπρας) με hardcore που ακούγαμε (και παίζαμε) τότε,  και είχε και 4-5  κομματακια πολύ ωραία απο ένα γκρούπ και ο Αλέξης μού πε ότι το  είδος το συγκεκριμένο που παίζανε λεγόταν EMO - HARDCORE. Που να φανταστείς τότε ότι λίγα χρόνια μετά θα το ξεθάβανε και θα το κάνανε μόδα (ή μήπως το ΕΜΟ είναι αυθεντικο και αυθόρμητο νεανικό κίνημα ? ) .

Με το ξασμένο μαλλί δεν έχω τίποτα αλλά εχω όταν το ακολουθουν κατα χιλιάδες όλοι - Δηλαδή και με τα ραστα ή τα μοικάνια δεν έχω τίποτα (και πως θα μπορούσα άλλωστε), αλλά τι θα λέγατε για το μοϊκάνι αν πηγαίνατε αύριο στη δουλειά σας και ήταν όλοι μοϊκανοι?
Τελοσπαντων .
Συντηρητικά , τοξίνες, ζιζανιοκτόνα , φυτοφάρμακα κάθε λογής χημείες , έχουν απλωθεί παντου κυρίες και κύριοι . Οι θυληκές ορμόνες κυριαρχούν , και ο δρόμος ανοίγει για την έλευση των ρομποτ. Ηδη σήμερα αφήσαν αθλητη με τεχνητά μέλη να διαγωνισθει στους Ολυμπιακους.
Απο την άλλη, η  ξενέρα πλησιάζει απειλητική.
Εχουμε γεμίσει σκληροπυρηνικούς Αθηναίους που πιστεύουν ότι η επανάσταση βρίσκεται στο τρίγωνο Τοσιτσα , λαλακιόπουλα και various ξενερήδηδες πού τη βλέπουν καλλιτέχνικα και εναλαΧΤΙΚΑ..
 Η Ανθρωπότητα οδεύει προς το τέλος και εμείς είμαστε σε βαριά ΛΗΘΗ (και όχι μαστούρα) απο το ΘΕΡΜΟΤΟΞΙΚΟ ΝΕΦΟΣ που όλοι αποσιωπούν γιατι έχουν εθιστεί σε ουσίες που ούτε η χημεία δεν έχει ανακαλύψει ακόμα.
Απαιτείται η συστράτευση όλων των αυθεντικών δυνάμεων.
Ευχαριστώ.



thk thk Τρι. 13 Μαϊος. 2008 15:20 tags προγραμματισμός , python 1 views
Of course there are numerous programs that adjust time on subtitle files, but here is a simple python script I have written one night I wasn't smart enough to search well. It adjusts time on srt files.

 Oh, and if you are on Windows try JetAudio media player which is very good in this task ( to sync unsychronized subtitles files with movies).
On Linux Kaffeine will do the job.
Save it as whatever_you_like.py and run it as
python program_name.py movie.srt 20   
(will move subtitles 20 seconds forward)
or
python program_name.py movie.srt -30   
(will move subtitles 30 seconds backward)

#!/usr/bin/env python
# By Thimios Katsoulis sometime in 2007 I think..
# Feel free to copy , modify , distribute

def toSeconds(s):
    secs=0
    secs +=int(s[6:])
    secs += int(s[3:5])*60
    secs += int(s[0:2])*60*60
    return secs
   
def toString(sec):
   
   
    h,sec = divmod(sec,3600)   
    m,s=divmod(sec,60)
    tim='%(h)02d:%(m)02d:%(s)02d' % {'h':h,'m':m,'s':s}
    return tim
   
   

if __name__ == '__main__':
    import sys

    subs=open(sys.argv[1])
    step=int(sys.argv[2])
    subOut=open(sys.argv[1] + str(step) + '.srt','wt')
   
    for l in subs.readlines():
        line=l
        if len(l) > 2:
            if l[2]==':' :
                line=''
                time1=l[:8]
                time2=l[17:25]
               
                secs1=toSeconds(time1)
                secs1 += step
                secs2=toSeconds(time2)
                secs2 += step
                tim1=toString(secs1)
                tim2=toString(secs2)
               
                line=tim1
                line += l[8:17]
                line +=tim2
                line += l[25:]
              
        subOut.write(line)       
       


   
   

As you see there is not a single check for argument count , their type e.t.c.
But I think it's amazing how small it is.
Python...
thk thk Σαβ. 10 Μαϊος. 2008 9:49 tags λίνουξ 0 views
my linux desktop mint daryna
my linux desktop mint daryna
thk thk Πεμ. 8 Μαϊος. 2008 17:11 tags λίνουξ , παλιό kaotonik 0 views
by thk last modified 2007-11-26 16:30

Everything to set up ubuntu server 6.10 , with mod_python 3.3.1 compiled from source,postgresql,cheetah,psycopg and php and more more..

apt-get install apache2

apt-get install  apache2-threaded-dev

(includes apxs2 for mod_python)

apt-get install python2.4-dev

(or

apt-get install python2.5-dev

for newer releases)

apt-get install make

compile  mod_python

vi mod_python.load

LoadModule python_module /usr/lib/apache2/modules/mod_python.so

enable the module : a2enmod mod_python

a2ensite to enable each virtual host
a2dissite to disable

install postgresql and postgresql-dev
(on newer releases:
apt-get install  postgresql-8.2 postgresql-server-dev-8.2 pgadmin3
)
search on packages for the right names
aptitude search postgresql

also install php after searching

install psycopg, cheetah from source . Download - follow instructions.

one liner in ubuntu > 7.04
apt get install apache2 apache2-threaded-dev postgresql-8.2 postgresql-server-dev-8.2

To install the latest pgadmin3 1.8.0
On ubuntu 7.10 gutsy
choose a mirror here:
http://www.postgresql.org/download/mirrors-ftp

 I live in greece so :

wget -q -O - http://www.pgadmin.org/pgp/archive_key_debian_ubun​tu.gpg| sudo apt-key add -

echo "deb http://ftp.ntua.gr/pub/databases/postgresql/pgadmi​n3/release/ubuntugutsy pgadmin" | sudo tee -a /etc/apt/sources.list

sudo apt-get update
sudo apt-get install pgadmin3


But again no line numbers in SQL editor ... shit.
thk thk Πεμ. 8 Μαϊος. 2008 15:00 tags λίνουξ , παλιό kaotonik 1 views
by thk last modified 2007-12-04 20:12

brief memo for installing xfce 4.2 with graphical installer on ubuntu 7.10..

Hello fellow linuxers.

I am using Linux Mint Daryna 4.0 which uses the same packages as ubuntu 7.10.

I have installed xfce-desktop package which install the default xfce desktop version 4.1

for ubuntu 7.10.

On December 02 2007 was released version 4.2 of xfce.

From the few days that I have used xfce 4.1  I must say I am impressed by it's speed and responsiveness.

I 've never seen windows - file managers opening up so quick not with gnome nor with kde!

An besides I find it more user friendly too!

So yes there there is hope for Linux desktop with xfce.


So I am writing this memo because I plan to install xfce on all my pc's

(and other people pc's too!) .

So let's see the steps I took to install xfce 4.2.



1. Downloaded xfce 4.2 graphical installer from here http://www.xfce.org/download/


2. Basically I am writing this  for this command : (All requirements xfce4.2 installer needs to have)
So install:

sudo apt-get install libstartup-notification0-dev libvte-dev libhal-storage-dev libdbus-glib-1-dev libasound2-dev libxml2-dev libjpeg-dev


Hopefully after that all installer's requirements will be satisfied.

3. So start the installer as root.

su

chmod +x xfce4-4.4.2-installer.run

./xfce4-4.4.2-installer.run


Check if all requirements are met.

Press Next to choose over some features.

4. Options

libasound2-dev needs if you want to use alsa for the mixer .
This is an option in the first screen of the installer.




I also chose the option Extensive Optimizations and setup Display Managers.
Press Next

5. Enjoy while it's getting build





See also:
http://www.xfce.org/documentation/installers/xfce/​index.html

for other steps you have to take maybe to make xfce work.
Especially the sections for gdm or kdm.
If you have preinstalled xubuntu-desktop
I believe the xsession for the new xcfe desktop is added by the installer.