01 September 2008

Cytanet traffic shaping

Cytanet is no longer a monopoly for broadband in Cyprus in theory, but everybody still uses them since they are stuck with them. It's sad to see they are throttling traffic so blatantly:
  • Upload to Picasa with a theoretical 16kBps limit: 5kBps
  • Upload to Picasa, but via VPN: 14kBps
Otenet sounds like a better choice (at least based on the user reviews)

28 August 2008

Coffee in Cyprus

15 August 2008

Panos the explorer

12 August 2008

After a few glasses of wine in Napa...

As close as I will ever get to wearing a race tag

07 August 2008

Street View

Somewhere behind the "Hi Mom" and the "Marry Me Leslie" proposal 2.0, stand Moheeb, Noe and myself, waving at the Street View Car. Actually we are probably the only ones not waving.
View Larger Map

05 April 2008

Send all files in a directory to your gmail

Sends all files in the current directory to your email. Reads the subject and your gmail password from the console, and sends an email for each file
#!/usr/bin/python

import os
import smtplib
from getpass import getpass 
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import formatdate
from email import Encoders

USER = '<user>@gmail.com'
PASS = getpass("Password for %s: " % USER)
SUBJECT = raw_input("Subject: ")

print "Connecting to server"
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(USER, PASS)

print "Subject is %s" % SUBJECT

for f in os.listdir('.'):
  msg = MIMEMultipart()
  msg['From'] = USER
  msg['To'] = USER
  msg['Date'] = formatdate(localtime=True)
  msg['Subject'] = SUBJECT

  part = MIMEBase('application', 'octet-stream')
  part.set_payload(open(f, 'rb').read())
  Encoders.encode_base64(part)
  part.add_header('Content-Disposition',
                  'attachment; filename="%s"' % os.path.basename(f))
  msg.attach(part)

  print "Sending %s" % f 
  server.sendmail(USER, USER, msg.as_string())
  print "Done" 

server.close()
print "All Done"

17 February 2008

Exploring OpenSocial

Fivos and I spent some time hacking an opensocial app yesterday. We want to use features such as list the owner's friends, persist data about the owner, retrieve data about the owner's friends (those who use the app) and then display all these in a fun/useful way. We are eager to test it, and because most sites "whitelist" apps or developers, i.e. a guy has to read our email and it's a long weekend, we were basically unable to so far ...
  • hi5: persisting data is mocked out
  • orkut: whitelist request made ...
  • myspace: whitelist request made ...
  • ning: works! no wait ... it doesn't. it's only up to version 0.5 so far, and it must have a bug with persisting data -- a very weird one.
  • plaxo: whitelist request made ...
Which leaves us with waiting for a whitelist approval, which might force us to actually not code this weekend. horrible! not code on a weekend! what else can we do?

28 January 2008

Chocolate goodness on iGoogle

You can now visit the theme's homepage on the iGoogle directory.

27 January 2008

Cyprus Eurovision 2008 -- Turning to you

1ο μέρος της κάλυψης μου των Κυπριακών συμμετοχών για τη Γιουροβίζιον. "Turning to you" Οι ίμο συναντούν το χιπ χοπ και τραγουδούν εβανέσσενς. Η Κούλλα η κομμώτρια "γράφει" στο κεφάλι της Μύριας. Η ηλεκτρική κιθάρα πλέον θα παίζεται μόνο από μαθητές με γρίζο παντελόνι (επιτρέπεται το τζιν), άσπρο πουκάμισο και μπλέ γιλέκο. Συγκινητικές πραγματικά στιγμές στην γή της ανθισμένης μυγδαλιάς (μόνο τζιαμέ ανθίζουν παι δε γουει).