Κυριακή 9 Νοεμβρίου 2014

Installing lxml on Yosemite

I just removed Canopy as I wanted to have closer control to what I install on my local Python ecosystem and installed ScipySuperpack instead on OSX Yosemite.

lxml soon came into the game and unfortunately it could not be installed. After some search I found this neat guide here.

The steps are the same ...

brew install libxml2

except the second which should look like:

export C_INCLUDE_PATH=/usr/local/Cellar/libxml2/2.9.2/include/libxml2:$C_INCLUDE_PATH

... and finally

pip install -U lxml

Hope this helped.

Πέμπτη 28 Νοεμβρίου 2013

10.9 Mavericks and Python

I tried to setup a Python environment to my recently updated MacOS X Mavericks (10.9). Unfortunately, there was a series of problems not allowing me to install mysql-python. I found the following sites really useful.

NOTE: The following instructions as given "as is". I claim no responsibility for any possible problems or damage you may encounter.

First, you need to fix the distribute and then update pip and virtualenv. See :
http://dev.imanol.me/post/65244552920/python-on-osx-mavericks

Afterwards, you need to recompile python using brew.I assume that you already have HomeBrew installed. Useful instructions could be found here:
http://www.idryman.org/blog/2013/03/13/python-setup-on-mac-osx/

If you wish to deploy multiple python environments you may omit adding to your .bash_profile the following line:

echo "source $HOME/.virtualenvs/data-scientists/bin/activate" >> ~/.bash_profile

I 'll keep this guide updated, as I may encounter additional problems.

Τετάρτη 27 Μαρτίου 2013

Debian + Apache + Web.py σε 2'

Τελικά ήταν ευκολότερο από ότι νόμιζα :-) Όπως πάντα, το εν λόγω tutorial, παρέχεται ως έχει. Δεν φέρω καμία ευθύνη για λάθη ή τυχόν προβλήματα που θα αντιμετωπίσετε.

Θεωρώ ότι η Python και ο Apache είναι ήδη εγκατεστημένα στο σύστημα σας.

Εν συντομία τα βήματα:

1) Εγκαθιστούμε το easy_install
sudo apt-get install python_setuptools
2) Εγκαθιστούμε το web.py
sudo easy_install web.py
3) (Προαιρετικό αν είναι ήδη εγκατεστημένο το mod_wsgi) Εγκαθιστούμε το Apache mod_wsgi
sudo apt-get install libapache2-mod-wsgi 
Στη συνέχεια θα κάνει αυτόματα restart ο Apache και θα ενεργοποιηθεί το module.

4) Στη συνέχεια περνάμε στο virtual host αρχείο της επιλογής μας τις παρακάτω γραμμές. Υποθέτουμε ότι η εγκατάσταση γίνεται στο φάκελο /var/www/python/ και εξωτερικά βλέπουμε την εφαρμογή από την διεύθυνση http://myserver.mydomain/python ενώ το αρχείο python ονομάζεται myapp.py
AddType text/html .py
  WSGIScriptAlias /python /var/www/python/myapp.py/
  
    Order deny,allow
    allow from all
  
5) Τέλος προσθέτουμε ένα αρχείο python με όνομα myapp.py στον φάκελο /var/www/python/
import web

urls = ('/.*', 'hello')

class hello:
  def GET(self):
    return "Hello, world."

application = web.application(urls, globals()).wsgifunc()
6) Μη ξεχάσετε να κάνετε restart τον Apache.

Σάββατο 1 Σεπτεμβρίου 2012

Μένω Ελλάδα; Μένω.

Τους τελευταίους μήνες βασανίζω το μυαλό μου για το τί θα κάνω σχετικά με την παραμονή εμένα και της οικογένειάς μου στη χώρα.

Η "κοινή λογική", δεδομένης της μεσοπρόθεσμης αρνητικής προοπτικής για τη χώρα, προτάσσει την μετανάστευση σε κάποιον προορισμό, όπου θα μας δοθεί η δυνατότητα διαβίωσης με θετική προοπτική. Το ένστικτό μου, το οποίο είναι κάτι το μη-ντετερμινιστικό σε αντίθεση με την λογική, μου λέει να μείνω εδώ. Ακούγεται περίεργο, αλλά μετά από αρκετή σκέψη βρήκα αρκετά (υποκειμενικά ενδεχομένως) ορθολογικά επιχειρήματα ώστε, μετέπειτα να το αποδεχθώ και να το υποστηρίξω.

Καταστράφηκε η αγορά.
Μύθος. Καταστράφηκε μέρος της αγοράς που είτε λειτουργούσε χωρίς σαφές πλάνο και οργάνωση, είτε είχε να κάνει με μη-ανταγωνιστικές υπηρεσίες και προϊόντα. Κυριότερο πρόβλημα έχουν όσοι είχαν συναλλαγές με το δημόσιο. Η εμπειρία μου στα δύο και πλέον χρόνια της κρίσης είναι ότι επιχειρήσεις που είχαν κάνει χρηστή διαχείριση και είχαν επανεπενδύσει στο προϊόν τους, την υπεραξία που είχαν δημιουργήσει κατά τις περιόδους των παχιών αγελάδων, ανταποκρίνονται στις υποχρεώσεις τους. Ήδη από τις αρχές του 2012, έχουν μπει σε τροχιά επενδύσεων και ανάπτυξης δραστηριοτήτων τόσο στο εσωτερικό αλλά και στο εξωτερικό. Κατά συνέπεια, αγορά υπάρχει και ευκαιρίες υπάρχουν. Είναι σαφώς περιορισμένη και πιο δύσκολη. Αυτό δεν θα ισχύει όμως για πάντα.

Εξαφανίστηκαν τα χρήματα.
Μύθος. Εξαφανίστηκε (καλώς κατ'εμέ) η δυνατότητα εύκολης πρόσβασης σε δανειοδότηση χωρίς υψηλή πιστοληπτική ικανότητα. Το κακό είναι ότι εξαφανίστηκε και η πρόσβαση σε σοβαρούς επιχειρηματίες που ξαφνικά είδαν τα τραπεζικά τους πλαφόν να πέφτουν στο 1/4 ή 1/5 με επιτόκια που μας γυρίζουν σε εποχές προ ευρώ. Αναμενόμενη και επώδυνη διόρθωση, πλήν όμως διόρθωση. Μετά από μια μεταβατική περίοδο, το σύστημα θα επανέλθει.

Από την άλλη πλευρά, υπάρχει η υπεραξία η οποία δημιουργήθηκε όλα αυτά τα χρόνια και κανείς δεν μιλάει για αυτήν. Κάποιοι απλοϊκά την εξαντλούν στα Καγιέν και τις βίλες. Διαφωνώ. Υπάρχει τρομερός πλούτος που αυτή τη στιγμή είναι σε αδράνεια γιατί δεν έχει επέλθει γενικότερη σταθερότητα. Από ότι παρακολουθώ, από το δεύτερο τρίμηνο του 2012, υπάρχει σταθερή (αν και μικρή για την ώρα) αποδέσμευση αυτή της υπεραξίας προς αναπτυξιακές δραστηριότητες για τις επιχειρήσεις. Είμαι αρκετά αισιόδοξος, ότι μόλις επέλθει σταθερότητα, αυτός ο ρυθμός αποδέσμευσης θα αυξηθεί.

Άμεσα συζευγμένες με τις εγχώριες, είναι και οι επενδύσεις από το εξωτερικό. Οι ξένοι διαχειριστές κεφαλαίων αναγνωρίζουν ότι υπάρχει πληθώρα ευκαιριών για επενδύσεις. Περιμένουν και αυτοί να επέλθει (όπως προανέφερα) σταθερότητα και διαρθρωτικές μεταρρυθμίσεις σε θέματα γραφειοκρατίας, φορολογικού και αδειοδοτήσεων. Είναι λανθασμένη η εντύπωση που θέλει ανταγωνιστική μια οικονομία με μισθούς πείνας. Η ανταγωνιστικότητα πρωτίστως έρχεται από τη φιλικότητα προς τον επιχειρηματία-επενδυτή και την απλότητα των διαδικασιών που έχουν να κάνουν με το interaction με το κράτος.

Επιχειρηματικό περιβάλλον.
Εδώ δεν μπορούν να γίνουν χειρότερα τα πράγματα. Μόνο καλύτερα. Τα πρώτα δείγματα τα βλέπουμε ήδη από τις προηγούμενες κυβερνήσεις. Είδαμε την ίδρυση επιχειρήσεων με ένα βήμα, την υποχρεωτική υποβολή όλων των δηλώσεων στις εφορίες μέσω internet, τα βήματα για απλούστευση όλων των διαδικασιών και την δεδηλωμένη πρόθεση για κατάργηση αναχρονιστικών και αντιεπιχειρηματικών διατάξεων. Αν προχωρήσουν (και πάλι εκτιμώ ότι δεν γίνεται διαφορετικά) οι μεταρρυθμίσεις, το περιβάλλον θα αλλάξει άρδην και η καθημερινότητα του επιχειρηματία θα βελτιωθεί. Συνεπώς, θα τονωθεί η επιχειρηματικότητα.

Είναι καλά στο εξωτερικό;
Μεγάλος μύθος. Η απάντηση δεν είναι απλή. Αν είσαι αριστούχος του ΕΜΠ με PhD από το Stanford σε Data Mining, μάλλον ναι. Θα είσαι περιζήτητο (και παχυλά αμοιβόμενο) στέλεχος σε μια ψηφιακή οικονομία που διψά για στελέχη με state of the art εξειδίκευση. Αν τώρα τελείωσες μια σχολή χαμηλής εξειδίκευσης με μέτριους βαθμούς, μάλλον τα νέα δεν είναι καλά. Θα βρεθείς στην καλύτερη σε κάποια μεγάλη εταιρία, σε χαμηλό πόστο και τα λεφτά που θα μαζεύεις θα σε φτάνουν για τα βασικά. Οι τιμές, των σπιτιών ειδικά, είναι εξωφρενικές σε Μ. Βρετανία και ΗΠΑ. Πόσοι είναι άραγε, αυτοί που πραγματικά θα δούν τόσο μεγάλη διαφορά στην αγοραστική τους δύναμη; Κατά την ταπεινή μου εκτίμηση, όχι παραπάνω από το 10%. Το υπόλοιπο 90% θα κυμαίνεται μεταξύ χειρότερης ή παρόμοιας κατάστασης. Έννοιες, όπως υποστήριξη από την οικογένεια (φαγητό, στέγαση, φύλαξη παιδιών κτλ), δύο αυτοκίνητα, διακοπές 30 ημέρων κτλ απλά τα ξεχνάμε.

Περιττό να πω, ότι πλην ελάχιστων εξαιρέσεων, η αντιμετώπιση για τους Έλληνες είναι αρνητική. Ακόμα και γνωστοί μου επιστήμονες με σημαντικό background, δέχονται ρατσιστικά σχόλια από συναδέλφους και δεν έχουν κατ'ουσίαν αντίστοιχες ευκαιρίες. Αυτό δεν ισχύει μόνο στις ΗΠΑ και στον Καναδά, αλλά για να βρεθεί κάποιος εκεί είναι μια πολύ δύσκολη ιστορία, αφού πρακτικά πρέπει ήδη να έχει βρει από εδώ δουλειά. Το χειρότερο είναι ότι οι Αμερικάνοι αυξάνουν σημαντικά τα fees για να φέρει μια εταιρία έναν εργαζόμενο από το εξωτερικό, για να τονώσουν την εγχώρια απασχόληση.

Υπάρχουν ευκαιρίες;
Συμφωνώ εν μέρει με το στερεότυπο ότι η κρίση γεννά ευκαιρίες. Γεννά για αυτούς που θα βάλουν το μυαλό τους να σκεφτεί με μεγαλύτερη ευρύτητα και έχουν τη δυνατότητα και ίσως το χάρισμα να προσαρμόζονται σε καταστάσεις που αλλάζουν με μεγάλη ταχύτητα. Στην France Telecom οι 55ρηδες που παλαιότερα πέρναγαν καλώδια και ασχολούνταν με τα ΚΑΦΑΟ της γειτονιάς, βρέθηκαν να απαντάνε ερωτήσεις στο support call center. Όχι μόνο δεν μπόρεσαν να ανταποκριθούν και να προσαρμοστοούν αλλά κατέρρευσαν.

Από την άλλη πλευρά, στην Ελλάδα έχουμε αρκετά συγκριτικά πλεονεκτήματα και χρονικά η κρίση ήρθε σε μια εποχή που έχουμε εξαιρετικά βελτιωμένες υποδομές σε σχέση με πριν 20-30 χρόνια. Με απλά λόγια, έχουμε αεροδρόμια, αξιοπρεπές οδικό δίκτυο και τηλεπικοινωνίες. Συνεπώς, καταργούμε τα γεωγραφικά εμπόδια. Επιπρόσθετα, ταλέντο και μόρφωση υπάρχει. Τα τελευταία 30 χρόνια έγινε συστηματική επένδυση από τις προηγούμενες γενιές στη μόρφωση των νεώτερων. Επιπρόσθετα, έχουμε παράδοση στην ναυτιλία και τον τουρισμό αλλά και μια μοναδικά εύφορη γη στην οποία ευδοκιμεί πλειάδα εξαιρετικής ποιότητας προϊόντων.

Οι ευκαιρίες έχουν να κάνουν με την έξυπνη εκμετάλλευση των συγκριτικών μας πλεονεκτημάτων. Δυστυχώς, δεν είναι εύκολο να αποκτήσουμε αύριο το πρωί αυτοκινητοβιομηχανία και βιομηχανία ημιαγωγών. Μπορούμε όμως να επαναπροσεγγίσουμε τη σχέση μας με τη γη (βιολογικές καλλιέργειες), τον ξένο επισκέπτη (εξειδικευμένος τουρισμός), το διεθνές εμπόριο (αξιοποίηση σιδηροδρομικού δικτύου και κίνητρα για δημιουργία μεγάλων κέντρων logistics) αλλά και να δώσουμε ώθηση σε κλάδους όπως πχ αυτών του λογισμικού για εξειδικευμένες εφαρμογές, της τεχνολογίας τροφίμων, της βιοτεχνολογίας και της τεχνολογίας υλικών.

Τί λείπουν; Η πολιτική βούληση για έμπρακτη (και όχι τύποις) υποστήριξη στην οργάνωση και τον προγραμματισμό των δράσεων, η αλληλεγγύη και η καλή ψυχολογία. Επιπρόσθετα, πρέπει επιτέλους να απενοχοποιηθεί η επιχειρηματική αποτυχία που εμφανίζει στη χώρα μας το μοναδικό φαινόμενο στον κόσμο, αυτό του κοινωνικού στιγματισμού.

Εν κατακλείδι, βλέπω καθημερινά, παραδείγματα ανθρώπων που δεν το βάζουν κάτω και με κόπο τα καταφέρνουν να προσεγγίζουν (και κάποιοι να φτάνουν) την αριστεία. Ο αντικειμενικός στόχος μας δεν πρέπει να είναι η επιβίωση αλλά η αριστεία. Δεν είναι εύκολο, αλλά αξίζει τον κόπο.


Τρίτη 7 Φεβρουαρίου 2012

Django σε Debian σε 10'

Το εν λόγω tutorial, παρέχεται ως έχει. Δεν φέρω καμία ευθύνη για λάθη ή τυχόν προβλήματα που θα αντιμετωπίσετε.

Εν συντομία τα βήματα:

1) Κατεβάζουμε το Django από εδώ.
2) Το αποσυμπιέζουμε και εκτελούμε:
sudo python setup.py install
3) Αν όλα πήγαν καλά τρέχουμε την Python από το command line και εκτελούμε:

import django

και στη συνέχεια

print django.get_version()

Εάν πήγαν όλα εντάξει θα πρέπει να μας επιστρέψει τον αριθμό έκδοσης του framework.

4) Θεωρούμε ότι έχουμε στημένο Apache και έχουμε και ένα διαθέσιμο subdomain. Εγκαθιστούμε το mod_wsgi:

apt-get install libapache2-mod-wsgi

5) Πάμε σε ένα φάκελο όπου θα δημιουργήσουμε το Django project μας. (π.χ. /home/user/python/) και εκτελούμε:

django-admin.py startproject myproject

6) Στη συνέχεια πάμε στο /etc/apache2/sites-available και φτιάχνουμε ένα νέο VirtualHost όπως το παρακάτω και το ενεργοποιούμε:



        ServerAdmin webmaster@localhost
        ServerName domain1.myservername.com

        DocumentRoot /home/user/python
        WSGIScriptAlias / /home/user/python/myproject/django.wsgi

        ErrorLog ${APACHE_LOG_DIR}/domain1-error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/domain1-access.log combined



Αφαιρέστε το ="" από το Virtualhost. Είναι bug του syntax highlighter ή του Blogger.

7) Δημιουργούμε στο φάκελο της εφαρμογής (/home/user/python/myproject) ένα αρχείο με όνομα django.wsgi και τα παρακάτω περιεχόμενα:

import os
import sys

path = '/home/user/python/'
if path not in sys.path:
    sys.path.append(path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

8) Είμαστε σχεδόν έτοιμοι. Μένει να φτιάξουμε τα βασικά settings βάσης δεδομένων στο αρχείο settings.py, να φτιάξουμε ένα route στο αρχείο urls.py και ένα hello world page στο views.py. Σχετικά με τη βάση δεδομένων για να ξεκινήσουμε στα γρήγορα θα χρησιμοποιήσουμε μια sqlite3 που έχει και minimum configuration.

Στο αρχείο settings.py βάζουμε τις παρακάτω ρυθμίσεις:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'myproject1.sqlite3', 
        'USER': '', 
        'PASSWORD': '',   
        'HOST': '',   
        'PORT': '', 
    }
}

9) Στη συνέχεια ενεργοποιούμε τη βάση δίνοντας:
python manage.py syncdb

10) Στο αρχείο urls.py προσθέτουμε μια γραμμή ως εξής:

from django.conf.urls.defaults import patterns, include, url


urlpatterns = patterns('',
    url(r'^$', 'myproject.views.home', name='home'),
)

11) Δημιουργούμε ένα αρχείο με ονομασία views.py και προσθέτουμε τον παρακάτω κώδικα:

from django.http import HttpResponse

def home(request):
    return HttpResponse("Hello world in Django!")

12) Πάμε με τον browser στη διεύθυνση: http://domain1.myservername.com όπου θα πρέπει να εμφανίζεται το μήνυμα Hello world in Django...

Τρίτη 10 Μαΐου 2011

Μια πονεμένη (;) ιστορία.

Γιατί και εγώ κάπου πρέπει να πω τον πόνο μου.

Το μηχάνημα είναι για να γράφω κώδικα κυρίως, οπότε δεν με χάλασαν μέχρι αηδίας τα παρακάτω μιας και πάει γρηγορότερα και θεωρητικά θέλει λιγότερο maintenance από τα Vista τα οποία θα τα ψοφήσει κάποια στιγμή σύντομα (εύχομαι) η MS.

Σκοπός ήταν σε ένα laptop 3 ετών να δώσω λίγο παραπάνω ζωή.

Toshiba Satellite A210-19A
Athlon64X2 @1.9GHz, 2GB RAM, Radeon X1200

hostname: somba (όνομα και πράμα)


Εγκατάσταση Ubuntu 11.04 amd64 σε laptop Toshiba 3ετίας παράλληλα με Vista.

1) Ήθελα να κάνω manually resize το 2ο partition. Δεν... ΟΚ το πήγα με το αυτόματο (Install alongside Windows Vista) και όλα καλά. Σκανδαλωδώς εύκολο. H συνέχεια όμως θα με αποζημίωνε.
2) Δεν με ρώτησε ποιά θα είναι η σειρά στο grub (δεν τους κόστιζε τίποτε να ρωτήσει - παίζει όμως να μην το είδα κιόλας, δεν παίρνω όρκο).
3) Η USB Realtek wifi που είναι στο mobo όταν άνοιξα την webcam μέσω του cheese, ψόφησε. (Υπάρχει documented πρόβλημα με το USB host).
4) Όταν δεν ασχολούμαι με την webcam η WiFi δουλεύει (ο Θεός να το κάνει) όπως αυτή νομίζει. Έχει documented πρόβλημα ο rtl8187 driver και μαντέψτε, ο ndiswrapper δεν παίζει με 64bit drivers, όσους και αν δοκίμασα.
5) H κάρτα οθόνης δεν υποστηρίζεται από τον binary driver της ATI, πάλιωσε λέει. Το καταπίνουμε το πικρό ποτήρι και μένουμε με τον Open Source, ο οποίος...ψιλοσέρνεται.
6) H καλή μας ATI με τον open source driver δεν υποστηρίζει dual screen παρά μόνο σε mirror mode. Σε extension απλά βγαίνει ψηλά το status bar και το υπόλοιπο μοιάζει με χαλασμένη TV δεκαετίας 80. Documented bug. Facepalm.


Φυσικά, αν τα έκανε αυτά στη γυναίκα μου θα μου το έφερνε στο κεφάλι. Εγώ πάλι χάρις σε αυτά πέρασα ένα όμορφο Σαββατόβραδο μέχρι τις 5 τα ξημερώματα και έχασα^Η^Η^Η^Η αξιοποίησα παραγωγικά και άλλες δύο ώρες σήμερα.

Verdict: Το Ubuntu έκανε βήματα στο User Experience, παίρνοντας τα πράγματα πάνω του με το Unity. Είναι εύκολο στο στήσιμο και φιλικό στη χρήση. Για παραγωγικό δεν ξέρω, θα σας πω στην πορεία. Το πρόβλημα είναι ότι αν σου κάτσουν μερικές στραβές όπως παραπάνω έχεις ένα degraded user experience το οποίο χαλάει τη γενικότερη καλή εικόνα.

Θα ακολουθήσει και άλλο (εποικοδομητικό) κράξιμο στην πορεία. Έχω ήδη αρχίσει και μαζεύω :-P

my 0,01 €

Κυριακή 19 Δεκεμβρίου 2010

Το πείραμα καινοτομίας της Χιλής

Μια αναζήτηση στο TechCrunch ή στο VentureBeat για startups από τη χώρα μας θα μας επιστρέψει απογοητευτικά αποτελέσματα όσον αφορά τον αριθμό και τη σημασία των ελληνικών startup σε παγκόσμιο επίπεδο.

Πρωτού όμως αρχίσουμε τα αναθέματα θα ήταν φρόνιμο να δούμε τί γίνεται σε Ευρωπαϊκό επίπεδο. Παρατηρώντας τις ροές από το TechCrunch και το TechCrunch Europe θα συμπεράνουμε ότι η Ευρώπη είναι πολύ μακρυά από το mentality των startups που επικρατεί στην Αμερική. Η διαπίστωση αυτή δεν είναι καινούρια και πρωτότυπη. Επίσης δεν είναι πρωτότυπες οι συνταγές που εφαρμόστηκαν κατά καιρούς στην Ευρώπη αλλά και στην Ελλάδα. Όπως εύστοχα αναφέρει το άρθρο του TechCrunch για το μεγάλο πείραμα καινοτομίας της Χιλής το παραδοσιακό μοντέλο καινοτομίας αφορούσε τεχνολογικά πάρκα, επιδοτήσεις, περικοπές φόρων και προσέλκυση venture capitals. Τόσο στην Ελλάδα όσο και στην Ευρώπη αντίστοιχα μοντέλα είχαν από μερική έως μηδενική επιτυχία.

Η Χιλή προτείνει κάτι ριζοσπαστικό, δίνει κρατική επιδότηση 40.000$ και διευκολύνσεις σε, αρχικά 25, επιλεγμένα startup από το εξωτερικό για να λειτουργήσουν εντός της επικράτειάς της. Μπολιάζει δηλαδή την κοινωνία της με mentality διαφορετικό από το υφιστάμενο, με μικρό σχετικά κόστος. Το κέρδος είναι πολλαπλασιαστικό ακόμα και αν δεν πετύχει κανένα από αυτά. Άρει άμεσα την καταδίκη της επιχειρηματικής αποτυχίας που αποτελεί ανάθεμα για μια κοινωνία όπως τη δική μας και δίνει το παράδειγμα στη ντόπια νεολαία να προσπαθήσει να κάνει την ιδέα της πραγματικότητα, ακόμα και αν αποτύχει.

Εκατό τέτοια startup θα κόστιζαν 4.000.000 ευρώ, ποσό ίσο με μια μεσαίας τάξης επένδυση του αναπτυξιακού νόμου ή 2-3 διαμερίσματα στο Κολωνάκι.

Για τους σκεπτικούς της ιδέας θα ήθελα να θυμηθούν τις ριζοσπαστικές αλλαγές στην επιχειρηματική νοοτροπία της χώρας που επήλθαν από την είσοδο στους κόλπους της κοινωνίας μας, των Ελλήνων ξεριζωμένων από την Μικρά Ασία.

Μήπως είναι ώρα να αφήσουμε τον εθνικισμό στην άκρη και να φέρουμε πολύ καλούς ή και τους καλύτερους δίπλα μας;

Meddling Around v3

Μηδενικός χρόνος για administration στο Wordpress που είχα στήσει στο domain της εταιρίας μου και χωρίς να το πολυσκεφτώ έκανα την μετακόμιση του ιστολογίου αυτού, στον Blogger.

Η κίνησή μου αυτή, ήταν μέρος μιας γενικότερης αλλαγής προσέγγισης της διαχείρισης της online παρουσίας μου. Αρχής γενομένης με το twitter, όπου η σύγχρονη επικοινωνία, σε συνδυασμό με τον υψηλό θόρυβο, οδηγούσε σε ενδιαφέρουσες μεν, αποσπασματικές δε προσεγγίσεις σε πολύ σημαντικά θέματα, τεχνολογικά και μη. Εκεί, μετά από αρκετή σκέψη και αναβολές, έγινε ένα μαζικό unfollow σε ανθρώπους (από αδιάφορους έως πολύ συμπαθείς) των οποίων τα γραπτά δημιουργούσαν ανομοιομορφία στο timeline μου. Αντίστοιχα, αναδιάρθρωσα το Google Reader το οποίο πλέον αποτελεί το κύριο μέσο ενημέρωσής μου μέσω του εξαιρετικού web client αλλά και αυτού που πρόσφατα έβγαλε για το Android. Τέλος, το blog αυτό επιθυμώ να ξαναγίνει μέρος γόνιμης ανταλλαγής απόψεων σε θέματα τεχνολογικής φύσεως.

Για να δούμε πώς θα πάει...

Πέμπτη 25 Φεβρουαρίου 2010

Twitter real-time indexing by google. Does it minimize indexing time?

A few months after the Google announcement, it's more than obvious that Google loves Twitter and real-time indexing in general. Just make a search for your latest tweet, and Presto! It's there!

I made a few experiments with some unindexed brand-new sites I created for my customers. Without any doubt, Googlebot was at their doorsteps only a few minutes later. On top of that, the pages started to appear in search results a couple of days later.  Furthermore, the results are even better in already-established sites and blogs. The previous post of this blog, was instantly indexed and appeared in results in less than an hour.

I'm not quite sure about Google's future policy on that. I profoundly hope that  it will not be abused by spammers and specialized link-building twitter bot networks. For sure, the approach of search engines in indexing will be from now on focused on real-time information flow as it represents a huge  percentage of the overall user-contributed content in the web.

EDIT:

Oh! I forgot! The proof of concept :-)

Twitter real-time indexing by google. Does it minimize indexing time?

Τετάρτη 24 Φεβρουαρίου 2010

7 cool CSS text effects

CSS Gradient Text EffectOne of the newest trends in CSS design deals with text effects. Despite its relatively small adoption, it gains popularity day by day. A great advantage of CSS text effects is that you do not need to rely on flash to replace text with images, with the obvious penalty on loading speed.

Intro texts are taken from the respective showcased pages.

1. The CSS text-shadow property


The aim of this article is to give you a quick introduction of a css property named text-shadow which was first included in CSS2 (but it’s not implemented in all browsers yet). Nevertheless you can make some cool effects with it, which could only be done before by photoshopping text and rendering it as an image.

the css text-shadow property



2. Cufón, an Alternative to sIFR for Image Replacement


Cufón aims to become a worthy alternative to sIFR, which despite its merits still remains painfully tricky to set up and use. To achieve this ambitious goal the following requirements were set:

  • No plug-ins required – it can only use features natively supported by the client

  • Compatibility – it has to work on every major browser on the market

  • Ease of use – no or near-zero configuration needed for standard use cases

  • Speed – it has to be fast, even for sufficiently large amounts of text



(pic taken from http://net.tutsplus.com/videos/screencasts/the-easiest-way-to-use-any-font-you-wish/)



3. How to Create a Cool Anaglyphic Text Effect with CSS


Anaglyphs are those amazing 3D images that are created by offsetting two of the red, green and blue channels, and are viewed with those nerdy looking 3D glasses with different coloured lenses. I don’t know if this effect works for real, as I’ve unfortunately misplaced my 3D specs, but it’s a pretty cool text effect nevertheless! Let’s take a look at how a similar style can be created for sprucing up your web designs, while taking into consideration semantics and avoiding the repetition of any markup.





4. CSS Gradient Text Effect


Do you want to create fancy headings without rendering each heading with Photoshop? Here is a simple CSS trick to show you how to create gradient text effect with a PNG image (pure CSS, no Javascript or Flash). All you need is an empty <span> tag in the heading and apply the background image overlay using the CSS position:absolute property. This trick has been tested on most browsers: Firefox, Safari, Opera, and even Internet Explorer 6. Continue to read this article to find out how.




5. Text Embossing Technique With CSS


If you’re like me, you love embossed text like it is going out of fashion. In fact, it’s liked so much right now by many web designers that it featured in Smashing Magazines “Web Design Trends for 2009” article which firmly puts it up there! In this article I will show you a couple of real world examples of this, as well as describing how to implement this effect with CSS. More importantly, I give you the rules around how to correctly add an embossed effect to any text depending on the colors used.





6. Create a Letterpress Effect with CSS Text-Shadow


The letterpress effect is becoming hugely popular in web design, and with a couple of modern browsers now showing support for the text-shadow CSS3 property it’s now simple and easy to create the effect with pure CSS. No Photoshop trickery here!

Letterpress – Isn’t that a type of industrial print method? That’s right! But the effect has also made its way into web design. Check out the previous feature showcasing examples of how designers are using this cool ‘de-bossed’ look on designs across the web.



7. Text Rotation with CSS


Once again, after reading somebody else's article, I felt inspired to put together an alternative example. In this case: Text Rotation.

Within the article I linked to, the example uses an image sprite and a sprinkle of CSS to get things positioned right. Well, maybe not so much a sprinkle. It's like the top fell off the pepper shaker and you've suddenly got a large pile of pepper on your food. It makes me want to sneeze.

Παρασκευή 12 Φεβρουαρίου 2010

Add Facebook chat (through XMPP) to your favourite IM client

It's very easy to enable Facebook chat using the new XMPP functionality.

Some simple instructions for Adium.

File -> Add Account -> Jabber

Add XMPP Facebook Chat to Adium


We suppose that you already have created an account at facebook, e.g.: http://www.facebook.com/your_username

Type in the following window as your username : your_username@chat.facebook.com and your password and click OK

Add facebook chat to Adium using XMPP

Κυριακή 12 Ιουλίου 2009

Back from the dead. Μερικά σχόλια για το twitter.

Μετά από σχεδόν 8 μήνες επιστρέφω στο αραχνιασμένο μου blog.

Δεν ξέρω πόσο θα καθίσω, αυτό θα εξαρτηθεί από την καθημερινότητά μου από εδώ και εκεί.  Σε αυτούς τους μήνες που πέρασαν δεν έπαψα να επικοινωνώ μέσα από τα ηλεκτρονικά δίκτυα.

Κάθε άλλο, η αλληλογραφία μου αυξήθηκε, το ίδιο και τα posts μου στο twitter. Αντίθετα, άφησα εντελώς το blog καθώς και τα profiles μου στο facebook και linked in.

Βαρεμάρα ; Δεν θα το έλεγα. Πιό πολύ προς το αμεσότητα και ευκολία χρήσης. Στο κινητό και στους υπολογιστές οι clients για το mail και για το twitter τρέχουν σχεδόν συνέχεια, οπότε είναι σχεδόν φυσική κίνηση να σχολιάσω κάτι, να λάβω μέρος σε μία συζήτηση που εξελίσσεται εκείνη τη στιγμή και να δω ένα ενδιαφέρον (;) link.

Νομίζω ότι η τάση που βλέπω να συμβάινει σε εμένα έχει περάσει και σε άλλους ανθρώπους, μιας και τελευταίες στατιστικές δείχνουν πολλά ερημωμένα blog σε αντίθεση με την έκρηξη του twitter.

Ίσως το twitter να έχει την ίδια αποδοχή που έχει το sms στο κινητό. Εντελώς unmotivated έκφραση...

Σχόλια ευπρόσδεκτα...

Κυριακή 14 Δεκεμβρίου 2008

Mac cool apps of the week

1) MAMP... σε χρόνο 0 έχετε ένα Apache + PHP + MySQL οικοσύστημα πλήρως λειτουργικό.

2) Dosbox , MS-DOS emulator για τους νοσταλγούς του Digger και του Leisure Suite Larry. Αποσυμπιέζετε, κάνετε mount το directory με τα παλιά dos προγραμματά σας και είστε έτοιμοι!

3) Chicken of VNC για να δουλεύετε τα VNC clients σας. Ήδη το linuxοκουτό μου με το ubuntu ζει μέσα σε ένα παράθυρο στο desktop του OS X.

Κυριακή 7 Δεκεμβρίου 2008

iMAC 5 λόγοι ψαρώματος, 3 ευχαρίστησης και 1 ξενερώματος :-)

ΟΚ ασχολούμαι με τους υπολογιστές εδώ και 17 χρόνια. Την χαρά που είχα όταν άνοιγα την κούτα του iMac μπορώ να τη συγκρίνω μόνο με αυτή που είχα όταν άνοιγα την κούτα του 286 μου, λίγο μετά την πρωτοχρονιά του '92.

Ψάρωμα 1: Από το Multirama μου έδωσαν ένα κακάσχημο και αρκετά βαρύ κουτί χρώματος καφέ... Πάει λέω αρχίσαν να κόβουν από τις συσκευασίες. Ατυχής σκέψη. Μόλις άνοιξα την κακάσχημη καφέ κούτα είδα μια πανέμορφη έγχρωμη συσκευασία που θα τη ζήλευαν και ακριβότερα προϊόντα (δείτε π.χ. κούτες από Laptop ή LCD τηλεοράσεις και θα με θυμηθείτε.) Αντίστοιχη ήταν η κατάσταση με την κούτα του ποντικιού και του πληκτρολογίου οι οποίες ήταν μέσα σε άλλες.

Τρομερή εντύπωση μου έκανε το πανάκι για το καθάρισμα αλλά και το ειδικό καλώδιο το οποίο έχει στρογγυλή βάση και στερεώνεται τέλεια στο πίσω μέρος του υπολογιστή, μοιάζοντας να είναι μέρος του. Κερασάκι στην τούρτα ήταν το πανέμορφο τηλεκοντρόλ (το οποίο για να είμαι ειλικρινής δεν πρόλαβα να δουλέψω). Πανέξυπνη η κίνηση της Apple να βάλει 2 Usb θύρες στο πληκτρολόγιο μειώνοντας έτσι τον αριθμό των καλωδίων που φεύγουν από την πίσω πλευρά (τη μία τη χρησιμοποιεί για το ποντίκι)

Ψάρωμα 2: Πατάω το Power On και βλέπω το καλωσόρισμα σε ένα animation το οποίο πρέπει να ψιλοέχασε κάτι frames αλλά δεν μας πειράζει και περιμένω. Στη συνέχεια, μου ζητάει στοιχεία δικτύου... Το κλειδί μου ήταν κάτι της μορφής 0xAABBDDFFCC και φυσικά δεν ήξερα την ASCII αντιστοιχία του και ούτε είχα τη διάθεση να το ψάξω. Με τα πολλά δούλεψε το δίκτυο με WPA passphrase το οποίο αναγκάστηκα να θέσω εκ νέου. Εκεί έχασα κάπου 10 λεπτά. Ναι, είπαμε να το κάνουμε απλό αλλά θα μπορούσε να είχε μια δυο περισσότερες πληροφορίες και για τους "μη συνηθισμένους χρήστες". Δεν τα ισοπεδώνω, πιθανώς να ήταν και δικό μου το σφάλμα σε εκείνο το σημείο.

Ψάρωμα 3: Το λειτουργικό ξεκινάει σε 31" και είναι έτοιμο για χρήση. Όλα τα services είναι σηκωμένα και μπορώ να δουλέψω κανονικότατα. Το μεγαλύτερο shock είναι το shutdown... δεν πρόλαβα να μετρήσω πόση ώρα θα κάνει shutdown... Είχα συνηθίσει από το Linux και τα Windows boot times της τάξης του λεπτού και shutdown times της τάξης των 30 δευτερολέπτων.

Ψάρωμα 4: Το expose δουλεύει τέλεια με τα δύο (όχι και τόσο εύκολα στο πάτημα) πλαϊνά πλήκτρα του ακριβούς ποντικιού. Περιττό να πώ ότι ακόμα να συνηθίσω το ένα πλήκτρο και συχνά πυκνά ψάχνω το δεξί... Η ροδέλα είναι υποδειγματική. Όσο για το πληκτρολόγιο... κύριοι των Multirama κάντε τη χάρη στον κόσμο και στα μηχανήματα επίδειξης προσπαθήστε να βγάζετε τη ζελατίνα. Οι διαδρομές είναι πολύ μικρές και η αίσθηση που δίνει είναι ενός ποιοτικού πληκτρολογίου. Τέτοια αίσθηση είχα πολλά χρόνια να νιώσω και συγκρίνεται με αυτή του Compaq laptop που είχα μοσχοπληρώσει το '02. Κρίμα που η Apple δεν δίνει τον συγκεκριμένο συνδυασμό σε Wireless για να έχουμε ένα πραγματικά Wireless Desktop.

Ψάρωμα 5: Αφήστε τους φίλους των Windows να παίζουν με DLLs, Installshields, Windows Installers και τρίχες κατσαρές. Αφήστε το Debian στο APT του και υποδεχθείτε την επιτομή της απλότητας στην εγκατάσταση και απεγκατάσταση εφαρμογών. Κατεβάζετε το dmg αρχείο, διπλό κλικ και το αρχείο που έχει εντός του (εάν δεν έχει installer) το τραβάτε στο applications folder και ΤΕΛΟΣ. Για να το απεγκαταστήσετε απλά σβήνετε το φάκελο της εφαρμογής στο Application και ΤΕΛΟΣ.

Ευχαρίστηση 1: Ναι είναι Unix και ναι έχει sed, awk, vi,tar, perl, bash και όλα τα καλούδια που δουλεύω τόσα χρόνια.

Ευχαρίστηση 2: Ο Firefox, το Skype, τα NetBeans δουλεύουν άψογα και ταχύτατα. Μυρίζομαι κάποια τεχνολογία Prefetching αλλιώς δεν είναι δυνατόν ο Firefox να ξεκινάει σε 1 δευτερόλεπτο.

Ευχαρίστηση 3: Ναι, έχει σωστή υποστήριξη ελληνικών και σουίτα γραφείου (το NeoOffice) η οποία είναι πιο γρήγορη από οτιδήποτε deployment του OpenOffice είχα δει και πλήρως προσαρμοσμένη στη φιλοσοφία του Mac.

Ευχαριστώ τους φίλους Papo και Γιώργο που μου άνοιξαν τα μάτια σε ένα νέο κόσμο!
Υ.Γ. Ξενέρα 1: Ρε παιδιά, έπρεπε να μυρίσω τα νύχια μου για το Command + Space στην αλλαγή της γλώσσας (thanx Γιώργο).

Σάββατο 8 Νοεμβρίου 2008

Javascript framework for 2009 :-)

Είμαι μεταξύ :

* Prototype - Scriptaculous

* jQuery

* MooTools

Στο παρελθόν είχα κάνει κάποια πράγματα με Scriptaculous και δεν μπορώ να πω ότι ήταν άσχημη. Ψάχνω για κάτι ελαφρύ, εύκολο, γενικής χρήσης και με όσο γίνεται περισσότερο έτοιμο code-base.

Any ideas ?

Τετάρτη 3 Σεπτεμβρίου 2008

O Google Chrome είναι...

* Γ Ρ Η Γ Ο Ρ Ο Σ

* Περνάει για πλάκα το Acid Test

* Δεν είναι τόσο unstable όσο λέγεται 

* Έχει πλάκα :-) (tip: Δοκιμάστε να σκοτώσετε ένα process)

* Έχει firebug-like debugger ενσωματωμένο (και μάλιστα πολύ πολύ καλό)

Τον περιμένω εναγωνίως για Linux !

Τρίτη 2 Σεπτεμβρίου 2008

Google Apps for domains rulez :-)

Το google apps for domains μπορώ να πω ότι μου έχει λύσει τα χέρια σε άπειρες περιπτώσεις. Πρόσφατα, αποφάσισα να μεταβώ σταδιακά αποκλειστικά στην υποδομή τους για τα e-mail της μικρής (ελπίζω για την ώρα) επιχειρησής μου.

Εκεί όμως που έμεινα έκθαμβος ήταν όταν άνοιξα χθες ένα spreadsheet, μαζί με έναν συνεργάτη, στα Google Documents. Η συνεργασία ήταν άψογη και απρόσκοπτη. Όσες αλλαγές έκανε, τις έβλεπα άμεσα με υπενθύμιση ότι έγιναν από το συνεργάτη.

Νομίζω ότι ο δρόμος προς τις on-line εφαρμογές, αν και μακρύς, έχει όλο το μέλλον δικό του.

Τετάρτη 27 Αυγούστου 2008

Thunderbird και Gmail IMAP

Τον τελευταίο καιρό κάνω μια προσπάθεια να οργανώσω καλύτερα την αλληλογραφία μου. Μία από τις επιλογές μου ήταν η σταδιακή κατάργηση του IMAP server μου και η μετάβαση στον αντίστοιχο του Google. Τις τελευταίες ημέρες μου έκανε εντύπωση το γεγονός ότι attachments word αρχείων ερχόντουσαν με τη μορφή Part 1.x

Τελικά η λύση είναι απλή και δόθηκε μέσα από τα fora του Mozillazine:

mail.imap.mime_parts_on_demand_threshold 30000000 (30MB).

Δευτέρα 18 Αυγούστου 2008

index.html.old και Apache2

Δεν ξέρω αλλά μου έφαγε κάμποσο χρόνο. Είχα ξεχάσει ένα αρχείο με όνομα index.html.old σε ένα directory του οποίου το default αρχείο είναι το index.php. Ο apache (2.2.3)  αρνούνταν πεισματικά να δείξει το εν λόγω directory. Ο υπαίτιος ήταν το Option Multiviews, το οποίο είχα ξεχάσει ενεργοποιημένο και το οποίο προσπαθεί να δείξει οτιδήποτε είναι της μορφής index.*