Category Archives: code

PHP password generator

Χρειάστηκα σήμερα έναν password generator, γιατί ήθελα να δώσω passwords σε μια λίστα από emails που έφτιαχνα, και δεν μου πέρασε καν απο το μυαλό ότι το συγκεκριμένο το έχουν χρειαστεί χιλιάδες πριν από μένα. Οπότε ξεκίνησα να γράφω κώδικα και ιδού:

<?php
header('Content-type: text/plain');

function generatePassword($len)
{
    $passwordChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()-_=+[]{}\|,<.>/?`~;:';
    $passwordCharsLen = strlen($passwordChars);
    $tmp = '';
    for ($i=0; $i < $len; $i++)
    {
        $x = rand(1, $passwordCharsLen);
        $tmp .= $passwordChars[$x-1];
    }
    return $tmp;
}

    if (isset($_GET['len'])) $len = (int)$_GET['len'];
    if (($len < 4) || ($len > 128)) $len = 8;
    echo generatePassword($len);
?>

Ισως βέβαια το να έψαχνα και να δοκίμαζα τι δουλεύει και τι όχι να μου έπαιρνε περισσότερο χρόνο απ΄ όσο μου πήρε να κάτσω να το γράψω μόνος μου, αλλά δεν πρόκειται να το μάθω ποτέ…

Αριθμοί Κυκλοφορίας

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

Ειδίκευση στο SEO, Search, Engine, Optimization, για το WWW

Αν έκανα μια δοκιμή να γράψω ένα άρθρο που να αναφέρει ότι έχω μια εταιρία που ειδικεύεται σε μερικούς τομείς, θα ήθελα να δώ πόσοι θα είναι αυτοί που θα βρούν τη σελίδα μου από κάποια μηχανή αναζήτησης του WWW.

Η σελίδα μου λοιπόν αναφέρει ότι ειδικεύεται στην κατασκευή ιστοσελίδων, ανακατασκευή ιστοσελίδων, σχεδίαση ιστοσελίδων, επανασχεδίαση ιστοσελίδων, σχεδιασμό ιστοσελίδων, επανασχεδιαμό ιστοσελίδων, ανάλυση ιστοσελίδων, ανάπτυξη ιστοσελίδων, φιλοξενία ιστοσελίδων, web design, web redesign, web development, web deployment, web hosting, hosting, web site design, web site redesign, web site development, web site deployment, web site hosting, site hosting, greek site hosting, greek hosting, web page design, web page redesign, web page development, web page deployment, web page hosting, page hosting, ιστοσελίδα, ιστοσελίδες, ιστοχώρος, κατασκευή, ανακατασκευή, σχεδιασμός, επανασχεδιασμός, βελτιστοποίηση, αναζήτηση, έλεγχος, έρευνα, αναζήτηση, seo, μηχανές, αναζήτηση, αναζήτησης, ιστός, ιστοχώρος, ιστοσελίδα, ιστοσελίδες, φιλοξενία ,domain, domains, seo services, υπηρεσίες, υπηρεσίες βελτιστοποίησης, αποτελέσματα, cuil, yahoo, google, bing.

Μόνο εγώ μπορώ να θεωρώ ότι μπορώ να ισχυρίζομαι ότι μπορώ να προσφέρω αξιόπιστα τις υπηρεσίες αφού επάρχει εξειδίκευση στο seo, search, engine, optimization για το www.

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

Ακόμα θα προσθέσω να μην μείνουν εκτός αναζήτησης από τις μηχανές αναζήτησης τα web design, web redesign, web development, web deployment, web hosting, hosting, web site design, web site redesign, web site development, web site deployment, web site hosting, site hosting, greek site hosting, greek hosting, web page design, web page redesign, web page development, web page deployment, web page hosting, page hosting, ιστοσελίδα, ιστοσελίδες, ιστοχώρος, κατασκευή, ανακατασκευή, σχεδιασμός, επανασχεδιασμός, βελτιστοποίηση, αναζήτηση, έλεγχος, έρευνα, αναζήτηση, seo, μηχανές, αναζήτηση, αναζήτησης, ιστός, ιστοχώρος, ιστοσελίδα, ιστοσελίδες, φιλοξενία ,domain, domains, seo services, υπηρεσίες, υπηρεσίες βελτιστοποίησης, αποτελέσματα, cuil, yahoo, google, bing,

Για να δούμε τελικά πόσοι είναι αυτοί που θα βρούν τη σελίδα μου από κάποια μηχανή αναζήτησης πιθανώς του google ή του yahoo ή ακόμα και του cuil. Αν τελικά βρούν την ιστοσελίδα μου ίσως αφήσουν και κάποιο σχετικό σχόλιο σχετικά με το πόσο χρήσιμη θεωρούν τη σελίδα μου και πόσο σχετική είναι με αυτό που έψαχναν να βρούν.

Ελεγχος Εγκυρότητας Α.Φ.Μ. (PHP Version)

Απλώς για να υπάρχει διαθέσιμο σε όποιον το χρειαστεί, η php version του κώδικα που υπάρχει στο άρθρο Ελεγχος Εγκυρότητας Α.Φ.Μ.

<?php
    function CheckAFM($afm)
    {
        if (!preg_match('/^(EL){0,1}[0-9]{9}$/i', $afm))
            return false;
        if (strlen($afm) > 9)
            $afm = substr($afm, 2);

        $remainder = 0;
        $sum = 0;

        for ($nn = 2, $k = 7, $sum = 0; $k >= 0; $k--, $nn += $nn)
            $sum += $nn * ($afm[$k]);
        $remainder = $sum % 11;

        return ($remainder == 10) ? $afm[8] == '0'
                                  : $afm[8] == $remainder;
    }
?>

Εχει μερικές μικροδιαφορές από τις C, C# Versions, αλλά ήταν απαραίτητο αφού προοριζόταν για χρήση σε ιστοσελίδα…

WordPress plugin Quick ‘n’ Dirty

Ηθελε ένας συμφορουμίτης στο freestuff.gr που είμαι μέλος να προσθέσει ένα custom widget για να παίρνει κάποια στατιστικά από ένα άλλο plugin (GD Star Rating) που είχε εγκαταστήσει, και έψαχνε για κάποιον να του φτιάξει ένα νέο plugin που να μπορεί να διαβάσει τα στοιχεία από το υπάρχον και να τα εμφανίζει με κάποιον custom τρόπο που ήθελε.
Το να κάτσεις να κάνεις ένα νέο plugin που να βγαίνει στη sidebar του wordpress blog σαν widget είναι αρκετή δουλειά και έχει και αρκετή χαμαλοδουλειά πέρα από τις λίγες απαιτήσεις γνώσεων που έχει για php και mysql. Continue reading

Highlight C# source code

Επαιζα πριν λίγο καιρό με την php και χρησιμοποιούσα την show_source για να δείχνω χρωματισμένο τον κώδικα. Κάποια στιγμή που προσπάθησα να μεταφράσω τον κώδικα από php σε C# για να δοκιμάσω την ταχύτητα της αντίστοιχης aspx σελίδας, χρειάστηκα πάλι την show_source, αλλά όσο έψαξα δεν βρήκα να δίνει κάτι αντίστοιχο το .net framework. Continue reading

PHP Extension – Ευρώ Ολογράφως

Χρησιμοποιώντας περιστασιακά (ubuntu) linux και php, σε μια στιγμή χαλαρότητας, είπα να δοκιμάσω να δουλέψω λίγο με την php. Να προσπαθήσω να προσθέσω κάποιες συναρτήσεις επιπλέον, όχι όμως σαν php source κώδικα, αλλά σαν extension module. Οι βασικοί λόγοι ήταν 3.
1ον) Δεν έχω κάποιον (αφεντικό ή πελάτη) πάνω από το κεφάλι μου να με πιέζει να παραδώσω χθές.
2ον) php sources γράφει και η κουτσή μαρία. php extensions όμως είναι λίγοι αυτοί που γράφουν, και ήθελα να δω πόσο εύκολο είναι να μην είσαι ένας από τους πολλούς, να ξεχωρίσεις από το μπουλούκι.
3ον) μια function μέσα σε ένα compiled php module τρέχει πιο γρήγορα από μια που γίνεται parse κάθε φορά. Το πόσο πιο γρήγορα θα κάτσω άλλη φορά να ασχοληθώ (αν βρώ χρόνο και κυρίως όρεξη). Continue reading

Ημέρες – Μήνες – Έτη

Όσοι θέλουν τη διαφορά ημερομηνιών σε ημέρες μήνες έτη ας μην ψάξουν παραπέρα. Εγώ τη χρειάστηκα πρόσφατα και φαίνεται να δουλεύει σωστά (όσο μπόρεσα να την τεστάρω με δεδομένα και αποτελέσματα που είχα έτοιμα σε κάποια αρχεία excel.) Continue reading

Serial Number

Serial Numbers. Οπως λέμε serial killers. Οσο δύσκολο είναι να βρεθούν οι δε, άλλο τόσο δύσκολο είναι να βρεθούν και οι μεν.

Υπάρχει η ανάγκη να γίνει μια καταγραφή όλων των υπολογιστών (και των περιφερειακών συσκευών φυσικά) ώστε να γνωρίζουμε ανά πάσα στιγμή (μέσα σε κάποια πλαίσια – ανοιχτά για παζάρεμα) τι εξοπλισμό έχουμε, τι δουλεύει και τι όχι, τι έχουμε δώσει και σε ποιόν.

Αν και αυτή η δουλειά μέχρι πριν λίγο καιρό γινόταν μερικώς και με τον παραδοσιακό χειρονακτικό τρόπο: επίσκεψη, αυτοκόλλητο, καταγραφή στο πατσαβούρι χαρτί και τέλος πληκτρολόγηση, είπαμε να αυτοματοποιήσουμε λίγο τη διαδικασία. Continue reading

the Prime Source

Τελικά αυτή η άσκηση με τους πρώτους αριθμούς (primes numbers) πρέπει να είναι all time classic!

Γράψτε ένα πρόγραμμα C το οποίο, για δεδεμένο Ν, να βρίσκει, για κάθε Κ που είναι θετικός περιττός ακέραιος και μικρότερος ή ίσος του Ν, την πρώτη ομάδα από Κ συνεχόμενους σύνθετους αριθμούς…

Με έχει ρωτήσει ένα σωρό κόσμος πως μπορούν να αυξήσουν την ταχύτητα στον αλγόριθμο που έχουν (χμ, ας πούμε) φτιάξει. Παρότι υπήρχε ένα προηγούμενο post που είχα γράψει πριν περίπου ενά-μιση χρόνο και νομίζω είναι αρκετά γρήγορο, δεν αρκεί για να είναι γρήγορη και η συνολική λύση της άσκησης. Continue reading