<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Δημήτρης Γιώτας &#187; Programming</title>
	<atom:link href="http://www.giotas.eu/category/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://www.giotas.eu</link>
	<description>Σκέψεις, ιδέες και προτάσεις γύρω από τον σχεδιασμό ιστοσελίδων</description>
	<lastBuildDate>Wed, 25 Aug 2010 11:44:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Καθημερινά εργαλεία</title>
		<link>http://www.giotas.eu/programming/daily-tools.html</link>
		<comments>http://www.giotas.eu/programming/daily-tools.html#comments</comments>
		<pubDate>Mon, 25 Jan 2010 09:02:51 +0000</pubDate>
		<dc:creator>Δημήτρης Γιώτας</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Project 52]]></category>
		<category><![CDATA[Εργασία]]></category>

		<guid isPermaLink="false">http://www.giotas.eu/?p=307</guid>
		<description><![CDATA[Σίγουρα αυτό δεν είναι ένα πρωτότυπο άρθρο. Όλοι θα έχουμε γράψει κάποτε έστω και σε comment τα εργαλεία που χρησιμοποιούμε για να βγάλουμε σε πέρας όλα τα καθημερινά tasks. Σίγουρα όλοι όμως μπορεί κάποια στιγμή να βρήκατε κάτι ενδιαφέρον από αυτές τις λίστες και από τότε να το χρησιμοποιείτε, σκεπτόμενοι πως ζούσατε χωρίς αυτό τόσο [...]]]></description>
			<content:encoded><![CDATA[<p>Σίγουρα αυτό δεν είναι ένα πρωτότυπο άρθρο. Όλοι θα έχουμε γράψει κάποτε έστω και σε comment τα εργαλεία που χρησιμοποιούμε για να βγάλουμε σε πέρας όλα τα καθημερινά tasks. Σίγουρα όλοι όμως μπορεί κάποια στιγμή να βρήκατε κάτι ενδιαφέρον από αυτές τις λίστες και από τότε να το χρησιμοποιείτε, σκεπτόμενοι πως ζούσατε χωρίς αυτό τόσο καιρό.<span id="more-307"></span></p>
<p>Το μεγαλύτερο πρόβλημα που έχω είναι ότι σαν ιδιωτικός υπάλληλος, υποχρεούμαι να έχω έναν υπολογιστή στην εταιρία που δεν διαλέγω και ένα άλλο στο σπίτι που είναι 100% δικός μου. Βέβαια ο υπολογιστής στο σπίτι ελάχιστες φορές έχει χρησιμοποιηθεί για δουλειές λόγω του μικρού ελεύθερου χρόνου που έχω πλέον. Αλλά δεν παύει να είναι και αυτός ένας χώρος εργασίας που πρέπει να βρω το πιο σωστό τρόπο ώστε όλα να γίνονται γρήγορα και εύκολα. Γι αυτό παρακάτω θα δώσω μια λίστα με τα προγράμματα που χρησιμοποιώ σε κάθε ένα από τα εργαλεία. Να μην ξεχάσω να αναφέρω πως στην εταιρία έχω ένα Dell Desktop PC με Windows Vista και στο σπίτι ένα MacBook με Leopard (το ξέρω ότι έχω αργήσει).</p>
<h3>Editors</h3>
<p>Μετά από πολλές αναζητήσεις και απ-εγκαταστάσεις κατέληξα ότι ο πιο εύκολος και γρήγορος editor για ένα PC είναι ο <a href="http://notepad-plus.sourceforge.net/uk/site.htm">Notepad++</a>. Απλός, βασισμένος στο Notepad, με όλες τις ευκολίες ενός editor, και πάνω από όλα ελαφρύς για το σύστημα. Ναι ξέρω ότι υπάρχουν καλύτεροι και πιο όμορφοι, αλλά το να ανοίγεις σε 2&#8243; ένα αρχείο και να αρχίζεις την δουλειά είναι το καλύτερο δυνατό. Για το MacBook μετά από πολύ ψάξιμο βρήκα ότι ο <a href="http://www.panic.com/coda/">Coda</a> είναι από τους πιο χρήσιμους, μιας και σου παρέχει όλα όσα χρειάζεσαι σαν developer (FTP, Subversion integration, Terminal κλπ). Θα μου πεις ότι σε σχέση με τον Notepad++ αργεί να ανοίξει αλλά και πάλι είσαι έτοιμος να γράψεις κώδικα πολύ πιο γρήγορα από πολλά άλλα προγράμματα.</p>
<h3>Image editing</h3>
<p>Εδώ δεν υπάρχουν και πολλές εναλλακτικές. Photoshop is the only way to go. Πολύ θα ήθελα να χρησιμοποιήσω κάποιο άλλο open source πρόγραμμα (λέγε με GIMP) αλλά δεν έχει την ευχρηστία και όλα τα καλούδια του Photoshop. Και επίσης ένα ακόμα μείον είναι ότι όπου και να πας το πιο συνηθισμένο εργαλείο είναι το Photoshop.</p>
<h3>Σχέδιο και πρώτες ιδέες</h3>
<p>Για αυτό σίγουρα δεν χρειάζεται καθόλου υπολογιστής. Μόνο άσπρες σελίδες. Πολλοί χρησιμοποιούν συγκεκριμένο είδος sketchbook (λέγε με Moleskin). Εγώ χρησιμοποιώ λευκές σελίδες ή την πίσω πλευρά εκτυπωμένης σελίδας και ένα στυλό ή μολύβι.</p>
<h3>Version control</h3>
<p>Δεν υπάρχει καλύτερος τρόπος από το version control ώστε να μπορέσεις να γλυτώσεις τον χρόνο και την ηρεμία σου. Πολλοί μπορεί να χρησιμοποιούν φακέλους με διαφορετικές ημερομηνίες για να κρατήσουν ένα αντίγραφο αλλά το κακό με αυτό το τρόπο είναι ότι δεν μπορείς να τον συγκρίνεις με προηγούμενες εκδόσεις και να δεις τις αλλαγές που έχουν γίνει αναλυτικά σε κάθε αρχείο. Για εμένα, το πιο χρήσιμο μέχρι τώρα είναι το Subversion. Στο PC το εγκατέστησα και χρησιμοποιώ το <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a> σαν γραφικό περιβάλλον και στο MacBook, που είναι προ-εγκατεστημένο, χρησιμοποιώ το Coda. Και με έχει βγάλει ήδη πολλές φορές από άσχημες καταστάσεις.</p>
<h3>File uploading</h3>
<p>Μιας και το uploading αρχείων είναι κάτι που δεν κάνω πλέον τόσο συχνά όσο παλιά, δεν το έχω ψάξει και πάρα πολύ. Σίγουρα όμως χρησιμοποιώ τον <a href="http://filezilla-project.org/">Filezilla</a>, που είναι open source και κάνει την δουλειά του μια χαρά. Και δεν μπορώ να πω ότι με έχει απογοητεύσει ποτέ.</p>
<h3>Mail client</h3>
<p>Στην δουλειά έχω 2 επιλογές. Ή να βάλω το Microsoft Outlook ή τον <a href="http://el.www.mozillamessaging.com/el/thunderbird/">Thunderbird</a>. Φυσική επιλογή είναι το δεύτερο που πλέον στην τελευταία έκδοση δίνει καινούργια καλούδια όπως tabbed browsing, mail archiving &#038; smart folders. Στο σπίτι χρησιμοποιώ Gmail οπότε χρησιμοποιώ και το web-interface του που βολεύει μια χαρά. Ακόμα και στο MacBook σκέφτομαι να σβήσω το Mail.app μιας και πλέον δεν το χρησιμοποιώ καθόλου.</p>
<h3>Browsers</h3>
<p>Τελευταία κατηγορία αλλά μια από τις σημαντικότερες είναι και η κατηγορία τον Browsers. Μιας και είμαστε αναγκασμένοι να κάνουμε δουλειά που πρέπει να παίζει σχεδόν ίδια (όπως υποχρεώνει η εταιρία) σε όλα τα λειτουργικά και browser, μπορώ να πω ότι τους χρησιμοποιώ όλους. Όμως όταν είμαι στην αρχή σίγουρα χρησιμοποιώ <a href="http://www.mozilla-europe.org/el/firefox/">Firefox</a>, που μαζί με το Firebug plugin, είναι το απόλυτο debuging tool. Και στα 2 λειτουργικά υπάρχει μια έκδοση για τον σχεδιασμό. Για surfing στο διαδίκτυο στην δουλειά χρησιμοποιώ Chrome και στο σπίτι Safari (όχι δεν θα βάλω Chrome) όχι για κάποιο άλλο λόγο, αλλά για να μην φορτώνω την μνήμη του συστήματος.</p>
<h3>Άλλα εργαλεία</h3>
<p>Το Flash με έχει αφήσει χρόνους οπότε μόνο το αναφέρω. Για vectors, μιας και δεν ασχολούμαι πολύ τώρα τελευταία (αν και θα έπρεπε), χρησιμοποιώ το Illustrator. Επίσης ένα πολύ καλό εργαλείο για PC είναι το <a href="http://www.launchy.net/">Launchy</a>, που κάνει ότι το <a href="http://www.blacktree.com/">Quicksilver</a> για τα MacBook.</p>
<p>Νομίζω ότι τελείωσα με τα δικά μου. Καμιά ιδέα η πρόταση;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.giotas.eu/programming/daily-tools.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Magic Features</title>
		<link>http://www.giotas.eu/programming/php-magic-features.html</link>
		<comments>http://www.giotas.eu/programming/php-magic-features.html#comments</comments>
		<pubDate>Wed, 15 Apr 2009 09:27:07 +0000</pubDate>
		<dc:creator>Δημήτρης Γιώτας</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.giotas.eu/?p=171</guid>
		<description><![CDATA[Έχω πολύ καιρό να κάτσω στον υπολογιστή και να κάνω hard-core προγραμματισμό σε PHP. Προσπαθώ όμως να είμαι ενήμερος σε ότι αλλαγές γίνονται. Και από ότι βλέπω γύρω μου, όλοι περιμένουν την καινούργια version της, με έμφαση στην Ελλάδα μιας και λύνει πολλά προβλήματα με τους ελληνικούς χαρακτήρες. Σήμερα διάβασα αυτό το πολύ καλό και [...]]]></description>
			<content:encoded><![CDATA[<p>Έχω πολύ καιρό να κάτσω στον υπολογιστή και να κάνω hard-core προγραμματισμό σε <acronym title="Hypertext Preprocessor">PHP</acronym>. Προσπαθώ όμως να είμαι ενήμερος σε ότι αλλαγές γίνονται. Και από ότι βλέπω γύρω μου, όλοι περιμένουν την καινούργια version της, με έμφαση στην Ελλάδα μιας και λύνει πολλά προβλήματα με τους ελληνικούς χαρακτήρες. Σήμερα διάβασα αυτό το πολύ καλό και λιτό <a href="http://www.packtpub.com/article/php-magic-features">άρθρο</a> που περιγράφει τις &#8220;μαγικές&#8221; μεθόδους, όπως τις αναφέρει:</p>
<blockquote><p><strong>Magic methods</strong>, which are class methods with specific names, are used to perform various specialized tasks. They are grouped into two: overloading methods and non-overloading methods. Overloading magic methods are used when your code attempts to access a method or a property which does not exist. Non-overloading methods perform other tasks.<br />
<strong>Magic functions</strong>, which are similar to magic methods, but are just plain functions outside any class. Currently there is only one magic function in PHP.<br />
<strong>Magic constants</strong>, which are similar to constants in notation, but act more like &#8220;dynamic&#8221; constants &#8211; their value depends on where you use them.</p></blockquote>
<p>Θα το πρότεινα σε όποιον έχει την διάθεση να &#8220;χαλάσει&#8221; 10 λεπτά από τον χρόνο του ώστε να δει τις μεθόδους</p>
]]></content:encoded>
			<wfw:commentRss>http://www.giotas.eu/programming/php-magic-features.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom CMS και συναφή</title>
		<link>http://www.giotas.eu/programming/custom_cms_and_other.html</link>
		<comments>http://www.giotas.eu/programming/custom_cms_and_other.html#comments</comments>
		<pubDate>Fri, 03 Oct 2008 07:00:32 +0000</pubDate>
		<dc:creator>Δημήτρης Γιώτας</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Custom CMS]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.giotas.eu/?p=142</guid>
		<description><![CDATA[Σήμερα διάβασα ένα πολύ ενδιαφέρον άρθρο για την χρησιμότητα ή όχι της δημιουργίας ενός Custom CMS. Αν διάβαζα αυτό το άρθρο 2-3 χρόνια πριν, το πρώτο πράγμα που θα έκανα θα ήταν να προβάλλω τις ενστάσεις μου για την χρησιμότητα η μη του να φτιάξεις ένα δικό σου CMS.
Δεν ξεχνάω ότι την εποχή εκείνη σκεφτόμουνα [...]]]></description>
			<content:encoded><![CDATA[<p>Σήμερα διάβασα ένα πολύ ενδιαφέρον <a href="http://el.porcupine.gr/web-design/comments/so-you-want-to-make-your-own-cms-part-2/">άρθρο</a> για την χρησιμότητα ή όχι της δημιουργίας ενός Custom <acronym title="Content Management System">CMS</acronym>. Αν διάβαζα αυτό το άρθρο 2-3 χρόνια πριν, το πρώτο πράγμα που θα έκανα θα ήταν να προβάλλω τις ενστάσεις μου για την χρησιμότητα η μη του να φτιάξεις ένα δικό σου <acronym title="Content Management System">CMS</acronym>.<span id="more-142"></span></p>
<p>Δεν ξεχνάω ότι την εποχή εκείνη σκεφτόμουνα πως το να καταφέρεις να κάνεις το δικό σου <acronym title="Content Management System">CMS</acronym> δίνει πρεστίζ στην εταιρία (ατομική ή μη), τεχνογνωσία στον/στους developer και τρομερές δυνατότητες support μιας και ο δημιουργός ξέρει τι βρίσκεται που και πως θα το διορθώσει. Επίσης έδινε στην εταιρία μια τρομερή βάση πάνω στην οποία θα μπορούσε να χτίσει και άλλα κομμάτια ή να το εμπλουτίσει με καινούργιες δυνατότητες.</p>
<p>Βέβαια όπως αναφέρει και ο Γιάννης Κωνσταντακόπουλος στο άρθρο του, το μεγάλο μειονέκτημα ήταν ότι ποτέ δεν έχει μια εταιρία να λύσει πολλά μικροπροβλήματα που τυχόν έχει το <acronym title="Content Management System">CMS</acronym> της πριν βγει στον πελάτη γιατί δεν έχει και το ανάλογο user feedback. Πράγμα που ανάλογα με το μέγεθος του προβλήματος έχει και το ανάλογο κόστος στην εταιρία.</p>
<p>Στην διαδρομή μου μέχρι σήμερα έχει τύχει να δημιουργήσω 2 φορές ένα <acronym title="Content Management System">CMS</acronym> σύστημα με τις ανάλογες αποτυχίες/επιτυχίες. Σαν developer μπορώ να πω ότι είναι μέσα στα projects που πρέπει να κάνεις ώστε να μπορέσεις να πεις ότι έχεις πιο πολλές γνώσεις για την γλώσσα που χρησιμοποιείς. (Τα άλλα 2 must-do projects τα περιγράφει θαυμάσια ο Jonathan Snook στο <a href="http://www.snook.ca/archives/opinion/web-dev-personal-projects/">άρθρο</a> του)</p>
<p>Το θέμα όμως είναι ότι πλέον με τις επιλογές που έχεις από έτοιμα συστήματα (Wordpress, Drupal, ExpressionEngine, Joomla κλπ) η δημιουργία ενός απλού <acronym title="Content Management System">CMS</acronym> πρέπει να μένει εκεί και μόνο εκεί. Σαν ένα καλό μέσο εκμάθησης της τεχνολογίας. Η μόνη περίπτωση που μπορεί ο developer να το παραβλέψει και να κάνει κάτι δικό του είναι όταν έχει δει ότι όλα τα υπάρχοντα συστήματα δεν μπορούν να του καλύψουν όλες τις ανάγκες του. Πράγμα και πάλι απίθανο γιατί με το user-base που έχει το κάθε σύστημα, οι πιθανότητες να θέλεις να κάνεις κάτι που δεν έχει κάνει κάποιος άλλος είναι μηδαμινές.</p>
<p>Εν κατακλείδι, η δημιουργία <acronym title="Content Management System">CMS</acronym> μπορεί να βοηθήσει ένα developer αλλά δεν πρέπει να γίνει αυτοσκοπός. Υπάρχουν τρόποι και εργαλεία να τελειώσεις κάτι πιο γρήγορα και με περισσότερες δυνατότητες από αυτές που μπορείς να προσφέρεις, γνωρίζοντας ότι αυτό που θα παραδώσεις θα είναι δοκιμασμένο και σίγουρο.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.giotas.eu/programming/custom_cms_and_other.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
