Tag archive: Website
-
Hosting foo.
I love Webfaction for Python sites. But for PHP it’s been a PITA the past months, despite the friendliness and fast response of the support stuff. Need to find solutions for d.g.com fast.
-
Περισσότερο blogging
Feedback taken. Θα αρχίσω να γράφω περισσότερο.
-
Weblog maintenance
I need to do some maintenance on the blog (upgrade, theme adjustment, etc), so some glitches might be visible (like the generic theme for example). Will try to get them fixed by tomorrow. It’s times like this you feel that the future is all about hosted solutions…
-
Ο ιστότοπος μου και ο Internet Explorer
Δεν το κάνω επίτηδες. Απλά βαριέμαι να μπω στη διαδικασία. Και δεν έχω και IE να το δοκιμάσω. Γενικώς, είναι μια κόλαση και μισή, την οποία αρνούμαι πεισματικά να ζήσω. (U: Επ’ ευκαιρίας, μεγάλωσα το θέμα σε πλάτος 1024 από το σκουριασμένο 800.)
-
Κάποια στιγμή…
…αυτό το ιστολόγιο θέλει ένα γερό σέρβις. Εκ νέου εγκατάσταση, συγύρισμα, ανανέωση του θέματος, διόρθωση του λογισμικού.. Όχι πως βοηθάει καθόλου να το παραδέχεσαι. Ουφ.
-
Προβλήματα hosting
Δε λένε να σταματήσουν. Ο ιστότοπος μου τελευταία είχε τόσες πολλές μαύρες μέρες που το ημερολόγιο του uptime μου αρχίζει να θυμίζει σκακιέρα.
-
Duh — Self-defacement
Γκρρ. Ο μπουμπούνας, ξέχασα από χθες το
index.htmlστο.htaccessκι έμεινε μια μέρα το ιστολόγιο κλειστό χωρίς λόγο. Συγνώμη γι’ αυτό.
-
Προσαρμοσμένες σελίδες σφαλμάτων
Με αφορμή την πρόσφατη προαρμογή των σελίδων για τα μηνύματα σφαλμάτων του ιστοχώρου μου, σκέφτηκα να γράψω μερικές συμβουλές επ’ αυτού.
Γιατί;
Εξ’ ορισμού, οι περισσότεροι διακομιστές ιστού (web servers) επιστρέφουν ένα απλό “404 not found” μήνυμα σφάλματος όταν ζητούνται να εξυπηρετήσουν μια αίτηση για μια σελίδα την οποία δεν έχουν. Άλλα συχνά μηνύματα σφαλάτων είναι τα 400 (bad request), 401 (authorization required), 403 (forbidden) και 500 (internal server error). Όλα τα μηνύματα μπορείτε να τα βρείτε στη σχετική σελίδα του προτύπου HTTP.
Τα μηνύματα σφαλμάτων, σε κάθε περίπτωση (στο web ή όχι, στον κόσμο των Η/Υ ή όχι), οφείλουν να να είναι γραμμένα σε απλή γλώσσα, να είναι κατανοητά από απλούς χρήστες, να είναι ακριβή στο τι μπορεί να πήγε λάθος και να είναι εποικοδομητικά παρέχοντας συμβουλές για επιδιόρθωση του προβλήματος.
Τα παραπάνω κάθε άλλο συμβαίνουν με τα προκαθορισμένα μηνύματα σφαλμάτων των εξυπηρετητών ιστού. Γι’ αυτό, κάθε διαχειριστής ιστοχώρου (webmaster), καλό θα ήταν να παρέχει προσαρμοσέμενες σελίδες σφαλμάτων. Ένας άλλος λόγος (μεταξύ πολλών) μπορεί να είναι μια αναδιοργάνωση του ιστοχώρου η οποία είχε ως αποτέλεσμα την αλλαγή των URL ενός συνόλου σελίδων — ο χρήστης θα ήταν καλό να μάθει πώς θα βρει τη νέα τοποθεσία των σελίδων αυτών.
Πώς;
Για να ορίσουμε στον apache web server να χρησιμοποιήσει τις δικές μας προαρμοσμένες σελίδες για τα παραπάνω σφάλματα, προσθέτουμε τις παρακάτω γραμμές στο
.htaccessαρχείο στον αρχικό κατάλογο του ιστοχώρου μας:- ErrorDocument 400 /errors/error400.html
- ErrorDocument 401 /errors/error401.html
- ErrorDocument 403 /errors/error403.html
- ErrorDocument 404 /errors/error404.html
- ErrorDocument 500 /errors/error500.html
Κατόπιν, δημιουργούμε τον υποκατάλογο
errors/στη σελίδα μας και βάζουμε τις σελίδες σφαλμάτων μας μέσα (οι οποίες μπορεί να είναι HTML, PHP, κλπ).Τι;
Σχετικά με το περιεχόμενο των σελίδων, το πιο σημαντικό δηλαδή.
- Σχεδιάστε τη μορφή της σελίδας σφάλματος ώστε να είναι παρόμοια με του ιστοχώρου ώστε ο χρήστης να μην καταλάβει εσφαλμένα ότι δεν βρίσκεται πλέον στον ιστοχώρο.
- Πρέπει να είναι φανερό ότι η σελίδα αποτελεί σελίδα σφάλματος και όχι κανονική σελίδα του ιστοχώρου, πχ. με τη χρήση μεγάλων γραμμάτων, πιθανότατα κόκκινης απόχρωσης.
- Ο αριθμός του σφάλματος, ειδικά στην περίπτωση του 404, πρέπει είναι εμφανής, μια και χαρακτηρίζει καθολικά στο Διαδίκτυο, με τον πιο απόλυτο τρόπο, το σφάλμα που συνέβη. Ο καλύτερος τρόπος να περιγράψετε το σφάλμα 404 είναι να φαίνεται ξεκάθαρα στη σελίδα ο αριθμός 404.
- Ο τίτλος του προβλήματος πρέπει να βρίσκεται οποωσδήποτε στο πεδίο
<title>, και επίσης στην αρχή της σελίδας, πριν τα πιθανά αστειάκια, ώστε τα ΑμεΑ που χρησιμοποιούν αναγνώστες σελίδων να αναγνωρίσουν το πρόβλημα γρήγορα. - Η σελίδα είναι επιθυμητό να περιέχει μια περιγραφή στην αγγλική γλώσσα, τουλάχιστον του τύπου του σφάλματος.
- Περιγράψτε για αρχή το πρόβλημα που βρέθηκε και κατόπιν αναφέρετε ένα-ένα τους πιο πιθανούς λόγους που συνέβη το σφάλμα, για τον συγκεκριμένο ιστοχώρο. Για παράδειγμα, κάποιος ιστοχώρος μπορεί να περιέχει κάποιες σελίδες που να καταλήγουν σε
.htmlκαι κάποιες σε.htmή πρόσφατα να αναδιοργανώθηκε ένα μεγάλο μέρος του, με αποτέλεσμα να αλλάξουν πολλές σελίδες ονόματα (κάτι ιδιαίτερα άσχημο, το οποίο πρέπει σε κάθε περίπτωση να αποφεύγεται χρησιμοποιώντας καθολικά, μόνιμα URL). - Αν μπορείτε, ελέγξτε το URL της αίτησης ώστε να αναγνωρίσετε ένα πιθανό πρόβλημα (π.χ. αν μεταφέρατε πρόσφατα την γκαλερί σας από το
/galleryστο/photos, μπορείτε να διορθώσετε την αίτηση ή να συμβουλέψετε ανάλογα τον χρήστη που έκανε μια αίτηση για τον παλιό κατάλογο). - Τέλος, η σελίδα σφάλματος πρέπει να περιέχει ένα κουτί αναζήτησης, ή ένα σύνδεσμο σε αυτό ώστε να αναζητήσει ο χρήστης άμεσα τη σελίδα που τον ενδιαφέρει.
Τα προσωπικά αποτελέσματα εφαρμογής των παραπάνω, μπορείτε να βρείτε στις σελίδες σφαλμάτων 403 και 404 του ιστοχώρου αυτού.
Για πιο προχωρημένους ελέγχους στο σφάλμα 404, δείτε το άρθρο του A list apart με τίτλο “The Perfect 404“.
-
Markdown σε ιστοσελίδες

Με το διαφωτιστικό σχόλιο του Άγγελου Ορφανάκου, έμαθα ότι το Markdown syntax του John Gruber έχει γίνει ported σε PHP, εν ονόματι (τι άλλο) PHP Markdown.
Ρίγη συγκίνσης διαπέρασαν το κορμί μου.
Τουλάχιστον συγκλονιστικό.
Το φανταστικό χαρακτηριστικό του Markdown σε σχέση με άλλα συντακτικά text-2-html είναι ότι είναι φτιαγμένο έτσι ώστε να είναι όσο το δυνατόν πιο αναγνώσιμο και κατανοητό από μόνο του. Αυτό σημαίνει ότι το κείμενο είναι τόσο καθαρό, ώστε να μπορεί να δημοσιευτεί όπως είναι, χωρίς να φαίνονται χαρακτήρες ελέγχου ή εντολές φορμαρίσματος. Για το σκοπό αυτό, οι δημιουργοί του εμπνεύστηκαν από τη σύνταξη των email αντί των ιστοσελίδων (εξού και το markdown αντί markup).
Για να μην κάθομαι να γράφω όλα τα εντυπωσιακά χαρακτηριστικά, σας παραπέμπω στη σελίδα του markdown. Για να το θέσω όσο πιο απλά γίνεται, ο μόνος λόγος που επέλεξα το κουτσουρεμένο Text_Wiki ήταν ότι το Markdown ήταν γραμμένο σε Perl και έπαψα προ πολλού να γράφω perl.
Εκτός όλων αυτών, ο Aaron Swartz έφτιαξε το πολύ χρήσιμο html2text με το οποίο μπορεί κανείς να μετατρέψει HTML σελίδες σε markdown format.
Όσο για την υλοποίηση, δεν υπάρχει και πολλά να πω: Απλά κάνεις
include_once "markdown.php";και τελείωσες:echo Markdown($wikitext);.Για του λόγου το αληθές, δείτε τον markdown κώδικα αυτής της καταχώρησης και της αρχικής σελίδας του ιστοχώρου μου.
-
Λογότυπο και desktop backgrounds
Για όσους ενδιαφέρθηκαν για το λογότυπο του ιστοχώρου και το 16×16 εικονίδιο τους έπεφτε μικρό (παράλογο!), έκανα export το λογότυπο και σε μεγαλύτερες αναλύσεις. Παίζοντας με το Inkscape βγήκαν και μερικά ομορφούλια desktop backgrounds. Enjoy!
-
Wiki markup σε απλές ιστοσελίδες
Πρόσφατα αναρωτήθηκα αν θα συνέφερε να χρησιμοποιώ κάποιο wiki-style markup για τις στατικές σελίδες του ιστοχώρου, κυρίως για να δημιουργούνται αυτόματα τα βασικά: παράγραφοι, επικεφαλίδες, λίστες και σύνδεσμοι. Αποδείχτηκε πολύ εύκολο τελικά.
Καταρχάς χρειάστηκε ένα επιπλέον πακέτο στην PHP, το Text/Wiki (πακέτο της βιβλιοθήκης PEAR):
# pear install text_wiki downloading Text_Wiki-1.0.0.tgz ... Starting to download Text_Wiki-1.0.0.tgz (47,569 bytes) .............done: 47,569 bytes install ok: Text_Wiki 1.0.0Στο σημείο αυτό χρειάστηκε να αλλάξω ένα αρχείο της βιβλιοθήκης για να υποστηρίζει σωστά το UTF-8 encoding, ακολουθώντας τις οδηγίες στα σχόλια της τεκμηρίωσης της βιβλιοθήκης.
Το δεύτερο βήμα ήταν να φτιάξω μια συνάρτηση η οποία θα καλεί τη βιβλιοθήκη και θα μετατρέπει ένα wiki-κείμενο σε XHTML.
Αυτό ήταν. Για να δούμε με ένα παράδειγμα…
…τυμπανοκρουσίες αγωνίας πριν το rendering…
**Γειά! Είμαι ένα παράδειγμα κειμένου wiki.** Αυτό το κείμενο περιέχει //emphasized// και **strong** κείμενο. Επίσης, @@--- αυτό διαγράφηκε @@ και @@ +++ αυτό εισήχθηκε@@ μετά τη συγγραφή του. +++ Επικεφαλίδα επιπέδου 3 ++++ Επικεφαλίδα επιπέδου 4 # Νούμερο 1 * Λίστα * Λίστα * Υπο-λίστα # Υπο-υπο-αριθμός # Υπο-υπο-αριθμός # Νούμερο 2 * Λίστα * Λίστα Αυτό εδώ είναι κανονικό κείμενο > Μπλοκ κειμένου (blockquote) > Ακόμη ένα μπλοκ, το οποίο περιέχει... >> Ένα εσωτερικό μπλοκ. Λα λα λα, όλα καλά \ όλα ανθηρά! Πίσω στο κανονικό κείμενο.
Έτοιμο! Για του λόγου το αληθές, η αρχική σελίδα του ιστοχώρου είναι γραμμένη σε ~~wiki-format~~ Markdown πλέον.
Προφανώς, δεν πρόκειται να αντικαταστήσει πλήρως την χειρόγραφη HTML. Γι’ αυτό, όπου βλέπεις πως δε σε βολεύει, ρίχνεις ένα ζευγάρι διπλών backticks (
don't-parse-me-please) και γράφεις ό,τι θα έγραφες κανονικά (από HTML μέχρι και PHP).Η βιβλιοθήκη θέλει λίγο ρεγουλάρισμα φυσικά. Ήδη την πείραξα ώστε να υποστηρίζει σχετικά URL (χωρίς http:// μπροστά). Επίσης, σε μια πιο καθαρή προσέγγιση θα μπορούσε κανείς να περικλείσει το wiki κείμενο σε δύο XML tags (π.χ.
<wikitext language="php">μπλα μπλα</wikitext>), ώστε το αρχείο να περιέχει καθαρή XML αντί ανακατεμένες HTML+PHP.Ό,τι χρειαστεί, στην πορεία…
-
Ειδοποίηση νέων σχολίων
Ψες έφτιαξα ένα νέο feature στο weblog, το οποίο ζήτησαν ένα-δυο φίλοι και το οποίο συχνά θα ήθελα να είχα στη διάθεση μου σαν αναγνώστης άλλων ιστολογίων. Διαβάζοντας ιστολόγια γνωστών και μη, βρίσκω συχνά πολύ ενδιαφέρουσες συζητήσεις, στις οποίες θα ήθελα να ενημερωθώ όταν υπάρξει κάποιο νέο σχόλιο. Ακόμη πιο πολύ, όταν έχω κάνει κάποια ερώτηση και περιμένω απάντηση.
Από σήμερα λοιπόν μπορείτε στη σελίδα μιας καταχώρησης να ζητάτε να ενημερωθείτε μέσω e-mail όταν αναρτηθεί ένα νέο σχόλιο σ’ αυτή τη καταχώρηση. Μέσα από τη σελίδα διαχείρισης ειδοποιήσεων μπορείτε να ελέγχετε τα subscription σας, αφαιρώντας καταχωρήσεις που δεν σας ενδιαφέρουν πια.
Χάρη στην open-source licence του wordpress, το tweaking της ήδη υπάρχουσας δουλειάς του Mark Jaquith ήταν δυνατό και δεν χρειάστηκε να επανεφεύρω τον τροχό.
Νιώστε ελεύθερα να το δοκιμάσετε για bugfixing μέσω αυτής της καταχώρησης.
-
Back online baby!
Μετά από 6 μήνες και 1 μέρα αδράνειας, ο ιστοχώρος μου και το ιστολόγιο μου βγαίνουν ξανά online! Yeehaa!
Δουλεύω σε αυτό καμιά βδομάδα τώρα και δυστυχώς δεν μπόρεσα να κρατήσω την υπόσχεση μου για χθες το βράδυ. Το ΣΚ στο Ναύπλιο έγινε ΣΚΔ, οπότε “το weblog άργησε μια μέρα”..
Μια και έχουν γίνει πάμπολλες αλλαγές, πολλά πράγματα μπορεί να μην παίζουν τέλεια και κάποια άλλα να μην παίζουν καθόλου. Λίγη υπομονή ακόμη, και σε μερικές μέρες ελπίζω να παίζουν όλα ΟΚ! Θέλει πολλή δουλειά ακόμη, το μεγαλύτερο μέρος της οποίας ελπίζω να τελειώσω αύριο-μεθαύριο.
Έτσι, θα μπορέσω να σας γράφω τα νέα μου από την Κάλυμνο αντί να διορθώνω bugs.
Καλώς σας βρήκα και πάλι! :)
-
Hosting !#$
Τελικά το hosting είναι αρκετά περίπλοκο θέμα. Όχι πως δεν το βιώνω χρόνια, αλλά τώρα ανακαλύπτω ότι και οι πιο απλές απαιτήσεις χρειάζονται αρκετό χρήμα. Αν όχι χρήμα, διασυνδέσεις με τον admin. Αν ούτε αυτό, πολύ χρόνο και χακεριές (ακόμη και κάτι τόσο απλό όσο το @INC της Perl για DB_File-style modules).
Όπως φαίνεται θα καθυστερήσει λίγο ακόμη να βγει στον αέρα το weblog, μέχρι να μετακομίσω σε κοντινότερο, με περισσότερο χώρο και καλύτερο administration server ολόκληρο το domain glezos.com.
Δεν ξέρω ποια εικόνα είναι πιο τρομακτική. Το να εγκαταστήσω spamassassin, την καινούρια perl, να σηκώσω developing περιβάλλον php/apache2 στον server του cylug.org ή να νοικιάσω shell με αρκετά δικαιώματα/χώρο για αυτά που θέλω;
Πάλι εφιάλτες θα ‘χω απόψε…
-
Look ma, no tables!
Από σήμερα το layout τόσο της ιστοσελίδας μου όσο και του weblog είναι φτιαγμένο καθαρά με CSS, χωρίς τη χρήση tables, ενώ και τα δύο είναι valid XHTML. Η μετάβαση δε μπορώ να πω ότι ήταν όσο εύκολη περίμενα να είναι, κυρίως γιατί θέλω τα πράγματα να ‘ναι από ‘δω κι από κει, αλλά μετά από λίγα ζόρια έκατσε και άξιζε τον κόπο με το παραπάνω.

Όλα ξεκίνησαν μ’ εκείνη την επίμονη βαρεμάρα ενός απογεύματος που δεν έλεγε να τελειώσει που τη βρίσκει κανείς συχνά σ’ εμάς τους κομπιουεράδες. Βρέθηκα να παίζω με τα χρώματα στο gimp για αρκετή ώρα.. Ε κάποια στιγμή φάνηκε να βγαίνει κάτι όμορφο..
Και λέω.. “Αφού θα φορέσεις τις γαλότσες και θα χωθείς μες την HTML, δε χώνεσαι με το σωστό τρόπο;” (λέγε με valid CSS/XHTML)…
Οι πίνακες μπήκαν στην HTML για ένα και μόνο λόγο: Για την παρουσιάση tabular δεδομένων. Από τη στιγμή όμως που υπάρχει και το μαγικό border=”0″, οι web designers άρχισαν να τους χρησιμοποιούν για να τοποθετούν τα αντικείμενα της σελίδας τους εκεί που θέλουν. Αν και αυτό πετυγχαίνει παράγοντας το επιθυμητό αποτέλεσμα, έχει ένα δυσάρεστο side-effect: Ο κώδικας παρουσίασης και τα ίδια τα δεδομένα βρίσκονται στο ίδιο αρχείο, μπλεγμένα μεταξύ τους. Ο web developer αναγκάζεται να έχει μες τα πόδια του κομμάτια ολόκληρα HTML, εκεί που θα έπρεπε να έχει το πολύ-πολύ μερικά custom tags για να παράγει τα δεδομένα στην ιστοσελίδα.
Το πρόβλημα λοιπόν ανάγεται στο εξής: Τα δεδομένα οφείλουν και πρέπει να διαχωρίζονται από την αναπαράσταση τους.
Αυτό γίνεται με τη χρήση των CSS. Αν και υπάρχουν προ πολλού (οι ΙΕ, NN3 υποστήριζαν CSS1 ενώ οι IE4/NN4 υποστήριζαν CSS2), τα τελευταία 1-2 χρόνια φαίνεται πιο επιτακτική η ανάγκη χρήσης τους.
Πλεονεκτήματα των CSS:
- Χρησιμοποιώντας CSS οι σελίδες φορτώνουν πιο γρήγορα (λιγότερος κώδικας, τα CSS γίνονται cached)
- Το κόστος για το hosting μειώνεται μια και μειώνεται το απαιτούμενο bandwidth (και στο ένα τρίτο!)
- Οι σελίδες είναι πιο ευέλικτες για επανασχεδίαση
- Ομειογενής σχεδίαση του website, αφού μια αλλαγή μπορεί να επιρεάσει πολλές (ή όλες) τις σελίδες του website.
- Οι σελίδες είναι περισσότερο προσβάσιμες από ανθρώπους με σωματικές αναπηρίες (με ένα κλικ μπορεί το χρώμα των γραμμάτων να γίνει πιο έντονο) και από ανθρώπους που χρησιμοποιούν άλλους viewers και browsers για το σερφάρισμα τους
- Οι μηχανές αναζήτησης δίνουν ψηλότερη βαθμολογία στη σελίδα
- Σαν bonus, έχεις και ένα ίματζ αβαντάζ πως ακολουθείς παγκόσμια πρότυπα ;)
Όπως καταλαβαίνετε, αν και το learning curve είναι λίγο απότομο, αξίζει τον κόπο με το παραπάνω. Γιατί είναι καλύτερα όταν υπάρχει ένα κοινό πλαίσιο σχεδιασμού και διαδραστικότητας σ’αυτά που κάνουμε..
Resources:
- Look ma, no tables! – Eric Costello
- The CSShark Answers FAQs – MaKo
- CSS/edge – Eric Meyer
- From Table Hacks to CSS Layout – Jeffrey Zeldman/alistapart
- Advanced CSS Layouts – webreference.com
- W3C CSS Spec
-
Κι έτσι ξεκινάει ένα ακόμη weblog…
Όπως όλα τα πράγματα, κι αυτό το weblog έχει μια αρχή.
Και όπως φαίνεται, κρίνοντας από αυτά που ήδη γράφω, έμελλε να ξεκινήσει με αυτές τις βιαστικές, ανόητες και επιτηδευμένες λέξεις που από πείσμα για την ακοσμία και τυπικότητα τους δεν θα αλλάξω μετά για να το μετανιώνω.
Προς το παρών το βλέπω να σηκώνεται στο πισάκι της ADSL μέχρι να βρεθεί ένα πιο μόνιμο και σταθερό σύστημα από αυτό που έχω τώρα την ιστοσελίδα μου. Ωστόσο, μέχρι να σταθεροποιηθεί το σπίτι του weblog και η μορφή του θα γράφω που και που.
Καλωσήρθατε λοιπόν! Ελπίζω να μας μείνει κάτι μετά από αυτό. Έστω κι αν είναι μόνο το συναίσθημα ότι περάσαμε καλά! ;-)
Δημήτρης
