Τετάρτη 17 Ιουλίου 2019

Προσπαθώντας να συνδέσω μια εφαρμογή γραμμένη σε .net compact framework 3.5 για PDA με Windows Mobile 5 σε SQL Server, διαπίστωσα ότι ήταν αδύνατο να συνδεθεί σε Named Instance του SQL Server. Το ίδιο πρόγραμμα όταν έτρεχε από PC λειτουργούσε κανονικά.

Η μορφή που είχε το connection string, ως προς το datasource,  ήταν X.X.X.X\InstanceName (όπου X.X.X.X η IP διεύθυνση του SQL Server).

Μετά από αρκετή προσπάθεια διαπίστωσα ότι το πρόβλημα ήταν ότι ο Server δεν διέθεται Pointer Record στο DNS Server.

Μόλις προσέθεσα το Pointer Record, η εφαρμογή συνδέθηκε κανονικά.

Παρασκευή 27 Ιανουαρίου 2017

Υπάρχουν φορές που τα αρχεία που έχουμε σε μία διανομή Linux και έχουν ελληνικό όνομα δεν απεικονίζονται σωστά στη λίστα αρχείων όπως φαίνεται στην παρακάτω εικόνα:

-rwxrwxr-x 1 mpd  audio  9877558 Aug  1  2013 ????? ?????????????- ???????? ????????- ?????? ?????????? - ?? ??????? ??? ????.mp3
-rwxrwxr-x 1 mpd  audio  3279931 Aug  1  2013 ?????_[???????? ???????].mp3
-rwxrwxr-x 1 mpd  audio  7285595 Aug  1  2013 ?????? - ???? ??? ??????? ???? ?????????.mp3
-rwxrwxr-x 1 mpd  audio  3897257 Aug  1  2013 ?????? - ??????_[?????????? ????????].mp3
-rwxrwxr-x 1 mpd  audio  4180368 Aug  1  2013 ?????? - ???????? .mp3
-rwxrwxr-x 1 mpd  audio  2905440 Aug  1  2013 ?????? ? ?????_[?????????? ?????????_???????? ?????].mp3
-rwxrwxr-x 1 mpd  audio  2856539 Aug  1  2013 ?????? ??? ???_[?????????? ?????????].mp3

-rwxrwxr-x 1 mpd  audio  2930517 Aug  1  2013 ?????? ???_[??????? ?.].mp3

Αυτό ωφείλεται στο ότι η κωδικοποίηση των ονομάτων των αρχείων είναι διαφορετική από αυτή που υποστηρίζει το σύστημα μια και οι νεότερες διανομές Linux υποστηρίζουν εξ ορισμού κωδικοποίηση UTF-8 ενώ οι παλιότερες διανομές υποστήριζαν ISO (π.χ. ISO8859-7 για ελληνικά).

Ένας γρήγορος τρόπος για να μετατρέψουμε τα ονόματα των αρχείων ώστε να απεικονίζονται σωστά είναι με τη χρήση του προγράμματος convmv.

Για να μετατρέψουμε ένα αρχείο με το convmv του δίνουμε ώς παράμετρους την τρέχουσα κωδικοποίηση του αρχείου με το διακόπτη -f (π.χ. -f iso8859-7 για ελληνικά), την επιθυμητή κωδικοποίηση στην οποία θέλουμε να μετατρέψουμε το όνομα του αρχείου, το όνομα του αρχείου και το διακόπτη --notest για να εκτελεστεί κανονικά και να γίνει η αντικατάσταση.

Σε κάθε περίπτωση πρωτού κάνουμε μια μετατροπή είναι καλό να έχουμε εκτελέσει το convmv χωρίς τον διακόπτη --notest ώστε να ελέγξουμε εκ των προτέρων τη μετατροπή πρωτού αυτή εκτελεστεί ουσιαστικά και τροποποιήσει το αρχείο στο δίσκο μας.

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

Στην περίπτωση αυτή η εντολή που θα εκτελέσουμε παίρνει την ακόλουθη μορφή:

convmv -f iso8859-7 -t utf8 -r /path/to/files/* --notest

Τέλος αν το convmv δεν υπάρχει ήδη στη διανομή σας θα πρέπει να το εγκαταστήσετε με τον ανάλογο package manager. Στην περίπτωση του Ubuntu από την κονσόλα εκτελέιτε

sudo apt-get install convmv




Πέμπτη 19 Ιανουαρίου 2017

Πρόσφατα διαπίστωσα ότι ένας Server με Windows 2008 R2 Standard 64bit καθυστερούσε αδικαιολόγητα μετά από επανεκκίνηση στη διαδικασία εφαρμογής ρυθμήσεων υπολογιστή, το γνωστό "Applying Windows Settings", αυξάνοντας το συνολικό χρόνο εκκίνησης σε περίπου 1 ώρα.

Μετά από αρκετό ψάξιμο έπεσα σε αυτό το άρθρο Server 2008 R2 Slow startup while applying computer settings στο ιστολόγιο 33KB available high memory.

Το άρθρο αυτό πρότεινε 2 λύσεις από τις οποίες δοκίμασα την πρώτη που παρέπεμπε στο άρθρο της Microsoft με τίτλο Unexpectedly slow startup or logon process in Windows Server 2008 R2 or in Windows 7 μια και δεν είχα ενεργοποιήσει την πολιτική "Do not automatically make redirected folders available offline" στο δίκτυό μου.

Το Hotfix δεν είναι άμεσα διαθέσιμο αλλά αποστέλλεται σύνδεσμος στο χρήστη μετά από τη συμπλήρωση αίτησης στη σελίδα του. Έκανα την αίτηση αργά το απόγευμα και την επόμενη ημέρα είχα το link στο email μου.

Μετά την εφαρμογή του εν λόγω Hotfix ο χρόνος εκκίνησης του Server μου επανήλθε στα φυσιολογικά επίπεδα.


Δευτέρα 24 Αυγούστου 2015

Πρόβλημα εκκίνησης Windows Server 2003 μετά από Updates στα Windows STOP: c000021a (Fatal System Error) The windows Logon Process System process terminated unexpectedly with a status of 0x00000080



Μετά από μια αναβάθμιση στα Windows 2003 Server R2 x64 εμφάνισε το ακόλουθο μήνυμα:

STOP: c000021a (Fatal System Error)
The windows Logon Process System process terminated unexpectedly with a status of 0x00000080 (0x00000000 0x00000000).
The system has been shut down.

Η διαδικασία για την εύρεση του "ενόχου" πακέτου αναβάθμισης είναι συνήθως η απεγκατάσταση όλων των αναβαθμίσεων που περάστηκαν αμέσως πριν δημιουργηθεί το πρόβλημα. Πρέπει να αφαιρείται κάθε μία ξεχωριστά και στη συνέχεια να γίνεται επανεκκίνηση και προσπάθεια κανονικής εκκίνησης του Server. Όταν ο Server εκκινήσει κανονικά η τελευταία αναβάθμιση που απεγκαταστήσαμε είναι προφανώς και αυτή που ευθύνεται για το πρόβλημα. Ευτυχώς κάποιος άλλος είχε ήδη κάνει αυτή τη δουλειά και είχε βρει το προβληματικό update και γνωστοποίησε σχόλιό του στο Ghacks.net.

Στην προκειμένη περίπτωση το πρόβλημα ωφειλώταν στο Update με αριθμό KB3067505 το οποίο έπρεπε να αφαιρεθεί για να επανέλθει το σύστημα. 

Η διαδικασία αφαίρεσης πραγματοποιείται μέσω του Recovery Console (που αν δεν είναι προεγκατεστημένο στο Server εκτελείται από το CD εγκατάστασης των Windows 2003) και είναι πραγματοποιείται με τις ακόλουθες δύο εντολές:

CHDIR C:\WINDOWS\$NTUNINSTALLKB3067505$\SPUNINST

BATCH SPUNINST.TXT

Αν η εγκατάσταση του Update έχει γίνει μέσω του Windows Server Update Services είναι καλό να γίνει decline το Update και να εκτελεστεί η εντολή wuauclt /detectnow /reportnow ώστε να ενημερωθούν και οι υπόλοιποι servers να μην προχωρήσουν σε εγκατάσταση του update.



Τρίτη 5 Μαΐου 2015

Υπάρχουν πάρα πολλά tutorials για να μετατρέψεις ένα Access Point AP1131ag της Cisco από Stand Alone σε ελεγχόμενο από Controller LWAPP. Το αντίστροφο είναι αρκετά πιο σπάνιο. Όταν όμως πρόσφατα ήρθε στα χέρια μου μια παρτίδα μεταχειρισμένα AP1131ag κάποια από αυτά ήταν προγραμματισμένα για LWAPP ενώ εγώ ήθελα να τα λειτουργήσω ως Stand Alone.

Μετά από αρκετό ψάξιμο βρέθηκα στο ιστολόγιο του Paul Beyer στο οποίο περιγράφει τη διαδικασία Converting a Cisco AP From Lwapp to autonomous-mode το οποίο σε γενικές γραμμές εξηγούσε τη διαδικασία.

Η διαδικασία, όπως την εξηγεί, περιλαμβάνει την μεταφορά του Cisco ΙOS image και των σχετικών αρχείων από ένα αρχείο τύπο TAR που πρέπει να διαθέτεις πριν ξεκινήσεις τη διαδικασία.

Τι γίνεται όμως αν δεν έχεις ήδη το εν λόγω αρχείο; Αν βρίσκονται στα χέρια σου αντίστοιχα AP1131ag τα οποία λειτουργούν ως Stand Alone τα πράγματα είναι απλά. Αρχειοθετείς το σύνολο της flash σε ένα TAR αρχείο πάνω σε έναν tftp server στο τοπικό σου δίκτυο και το κατεβάζεις από εκεί.

Η διαδικασία συνολικά είναι η εξής

1) Δημιουργείς ένα κενό αρχείο με την ονομασία του αρχείου που θα ανεβάσεις στο φάκελο που χρησιμοποεί ο tftp server που χρησιμοποιείς (μια και προυπόθεση για να επιτρέψει ο tftp server το να ανεβάσεις κάτι είναι να υπάρχει ήδη - κάτι που γίνεται για λόγους ασφαλείας) και του δίνεις μια ονομασία κατάλληλη κατά προτίμηση που να να περιλαμβάνει το version ώστε να μπορείς να βρεις πιο εύκολα άκρη στο μέλλον και με επέκταση tar (π.χ. c1130-k9w7-mx.124-10b.JA3.tar).

2) Αρχειοθετείς πάνω στον tftp server τα περιεχόμενα της flash ενός AP που είναι ήδη σε λειτουργία Stand Alone  με την εντολη archive upload-sw ως ακολούθως

archive upload-sw tftp://XXX.XXX.XXX.XXX/filename.tar

όπου XXX.XXX.XXX.XXX η IP διεύθυνση του tftp server και filename.tar το όνομα του αρχείου που δημιουργήσαμε στο βήμα 1.  Αν δηλαδή η διεύθυνση μας είναι 192.168.0.101 και το όνομα του αρχείου c1130-k9w7-mx.124-10b.JA3.tar τότε εκτελούμε ως ακολούθως

archive upload-sw tftp://192.168.0.101/c1130-k9w7-mx.124-10b.JA3.tar

Αν όλα πήγαν καλά έχουμε ανεβάσει στον tftp server το αρχείο που μας ενδιαφέρει και μπορούμε να προγραμματίσουμε πλέον τα AP1131ag που είναι σε λειτουργία LWAPP ώστε να γίνουν κι αυτά Stand Alone με τα ακόλουθα βήματα:

1) Μπαίνουμε σε λειτουργία Enable ώστε να μπορούμε να δίνουμε εντολές αυξημένων προνομίων (privileged) στο AP με την εντολή:

enable

Στη συνέχεια για να ενεργοποιήσουμε τη διαδικασία διαμόρφωσης (configuration mode) πρέπει να τρέξουμε την ακόλουθη εντολή:

debug lwapp con cli

για να λάβουμε απάντηση (αν όλα πήγαν καλά):

LWAPP console CLI allow/disallow debugging is on

Σε νεότερα Images όπου το πρωτόκολο lwapp έχει αντικατασταθεί από το πρωτοκολο capwap η αντίστοιχη εντολή είναι:

debug capwap console cli


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

archive download-sw /overwrite /force-reload tftp://192.168.0.101/c1130-k9w7-mx.124-10b.JA3.tar

Η εντολή αυτή θα ανοίξει το αρχείο από τον tftp server, θα αντικαταστήσει τα αρχεία και θα επαναφορτώσει το λειτουργικό του AP1131ag χωρίς απαραίτητα να είναι αποθηκευμένο το configuration.

Αν όλα πάνε καλά, το AP1131ag θα επανεκκινήσει σε λειτουργία Stand Alone με ένα minimal configuration και θα είναι έτοιμο να δεχτεί τον προγραμματισμό του σύμφωνα με τις ανάγκες σας.

Πέμπτη 29 Μαΐου 2014

Υπάρχουν φορές που θέλουμε να δούμε την πραγματική ταχύτητα μιας σύνδεσης στο Internet χωρίς να θέλουμε ή να μπορούμε να χρησιμοποιήσουμε το Browser μας ή και γενικά το GUI. Για το λειτουργικό Linux υπάρχει μια πληθώρα εφαρμογών που κάνουν αυτή τη δουλειά, τι γίνεται όμως όταν θέλουμε να χρησιμοποιήσουμε μια CLI εφαρμογή στα Windows για το σκοπό αυτό;

Ευτυχώς κάποιος άλλος είχε την ανάγκη αυτή πριν από μας και δημιούργησε για το σκοπό αυτό το πρόγραμμα speedtest σε εκδόσεις για Linux και Windows (32bit και 64bit) και μπορούμε να το μεταφορτώσουμε από εδώ: http://thehelpfulhacker.net/projects/speedtest/

Τρίτη 15 Απριλίου 2014

Εγκατάσταση Windows 7 x64 σε MBR Partition

Τα Windows 7 x64 εγκαθιστούνται εξ ορισμού σε GPT Partition όταν η εγκατάσταση γίνεται από υπολογιστή με UEFI αντί για BIOS.

Υπάρχουν όμως περιπτώσεις που η χρήση GPT Partition δεν είναι εφικτή (π.χ. στις περιπτώσεις όπου χρησιμοποιείται RAID Controller μη συμβατός με UEFI). Στις περιπτώσεις αυτές υπάρχει ένα τρικ που μπορούμε να χρησιμοποιήσουμε ώστε να γίνει εγκατάσταση σε partition με Master Boot Record. Στις ρυθμίσεις του UEFI, κι εφόσον αυτό υποστηρίζεται από τον Η/Υ μας, επιλέγουμε να απενεργοποιήσουμε τα UEFI boot sources και να κάνουμε boot από Legacy boot sources. (το DVD ROM για παράδειγμα μπορεί να είναι τόσο EUFI boot source όσο και Legacy boot source).

Έτσι η εγκατάσταση των Windows 7 x64 θεωρεί ότι ο υπολογιστής δεν είναι συμβατός με UEFI και επιτρέπει την εγκατάσταση σε partition με MBR.

Παρασκευή 11 Απριλίου 2014

Υπάρχουν περιπτώσεις στις οποίες ίσως χρειάζεται να γίνει rename το username ενώς user account στο Active Directory. Μερικές εφαρμογές, μεταξύ των οποίων ο SQL Server, ίσως να μην εμφανίζουν το σωστό username όταν προστίθεται το user account σε αυτό. 
Αυτό οφείλεται στο ότι τα Windows XP και Windows Server 2003, και συγκερκιμένα η υπηρεσία LSA (Local Security Authority) ,  κρατάνε αποθηκευμένα σε μνήμη cache την αντιστοίχιση του SID με το user name για ένα διάστημα ώστε να επιταχύνουν την αναζήτηση αυτής της αντιστοίχησης. Όμως σε μερικές περιπτώσεις αυτό δημιουργεί πρόβλημα μέχρι να περάσει ο χρόνος ανανέωσης της cache (να λήξουν οι εγγραφές).
Για να μην κρατώνται τοπικά οι εγγραφές αυτές επεμβαίνουμε στη registry και ορίζουμε ως 0 το μέγεθος της τοπικής cache αυτής ως ακολούθως, σύμφωνα με τις οδηγίες της Microsoft στο αντίστοιχο άρθρο της Knowledge Base 
The LsaLookupSids function may return the old user name instead of the new user name if the user name has changed
  1. Open Registry Editor.

    To do this in Windows XP or in Windows Server 2003, click Start, click Run, type regedit, and then click OK.

    To do this in Windows Vista and newer, Click Start, type regedit in the Start Search box, and then press ENTER.
  2. Locate and then right-click the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
  3. Point to New, and then click DWORD Value.
  4. Type LsaLookupCacheMaxSize, and then press ENTER.
  5. Right-click LsaLookupCacheMaxSize, and then click Modify.
  6. In the Value data box, type 0, and then click OK.
  7. Exit Registry Editor.

Τρίτη 23 Αυγούστου 2011

Απόρριψη κρατημένου μηνύματος στο mailman από console

Μια και στο Snow Leopard Server το Web Interface του mailman είναι προβληματικό και δεν λειτουργεί σωστά ώστε να απορρίπτει τα μηνύματα που αναμένουν έγκριση όταν ο χρήστης επιλέγει να τα απορρίψει η δουλειά αυτή πρέπει να γίνει από console.

Στο OS X Snow Leopard τα κρατημένα μηνύματα φυλάσσονται στο /var/mailman/data με ονομασία heldmsg-listname-#.pck όπου listname το όνομα της λίστας σας, και # ένας αύξων αριθμός. Με την εντολή /usr/share/mailman/bin/discard και την πλήρη διαδρομή του μηνύματος που θέλουμε να απορρίψουμε το απορρίπτουμε.

Π.χ. αν θέλουμε να διαγράψουμε το μήνυμα 8 της λίστας mylist:

/usr/share/mailman/bin/discard /var/mailman/data/heldmsg-mylist-8.pck

Τρίτη 16 Αυγούστου 2011

F: ConnectServerAndOpenDatabase Can not initialize automation server\Program returned error

Αν μετά την εγκατάσταση Navision Aplication Server και ορισμού του ως LS Retail Scheduler σας εμφανίζεται το μήνυμα που βλέπετε στον τίτλο της ανάρτησης στα logs του Scheduler τότε υπάρχει μια απλή λύση την οποία δεν μπόρεσα να βρω όσο κι αν έψαξα στο Internet.

Πρέπει να πάτε στο Administrative Tools -> Component Services ->DCOM Config και να βρείτε το PlusCFrontSrv.Application, να κάνετε δεξί κλίκ και properties και στο Security να επιλέξετε Customize και Edit για το Launch and Activation Permissions. Εκεί απλά προσθέστε το χρήστη του με το λογαριασμό του οποίου τρέχει το NAS και δώστε του permissions για Local Launch και Local Activation.

Θα μπορούσε να παίξει ακόμα και απλά ορίζοντας τον χρήστη ως Administrator αλλά δεν μπορώ να τονίσω αρκετά πόσο λάθος είναι κάτι τέτοιο αν όχι και βλακώδες.


If after installing Navision Application Server and setting it up as an LS Retail Scheduler you find the error message you see on this post's title there is a simple solution that I could not find on the Internet no matter how I tried.

You have to go to Administrative Tools -> Component Services ->DCOM Config and find the entry PlusCFrontSrv.Application, right click on it and select properties and then at the Security tab choose Customize and Edit for the Launch and Activation Permissions and just add the user under which you are running NAS and give him the permissions Local Launch and Local Activation.

It could also work by simply setting the user account that NAS runs under as Administrator but I cannot stress enough how wrong this is if not outright stupid to do so.

Σάββατο 23 Ιουλίου 2011

Building MySQL client programs on Mac OS X

Προσπαθώντας να κάνω build το SNORT σε MAC OS X Snow Leopard κι αφού ταλαιπωρήθηκα λίγο με τα Header files της MySQL που εγκαθιστώνται μέσω MacPorts αποφάσισα να το ψάξω λίγο παραπάνω. Έτσι με μία αναζήτηση του Google έπεσα σε αυτή τη σελίδα Mac OS X Server v10.6: MySQL libraries available for download που περιλαμβάνει όλα τα απαραίτητα καθώς και οι οδηγίες για να γίνουν extract.

Δευτέρα 6 Ιουνίου 2011

Χρώμα στο Terminal.app

Έχοντας χρησιμοποιήσει Linux από πολύ παλιά, ένα από τα αγαπημένα μου features είναι ο χρωματισμός των αρχείων, φακέλων κλπ από το bash shell.

Μετά από 3 περίπου χρόνια που χρησιμοποιώ μόνιμα Mac OS X, μια και χρειάστηκε να κάνω εκτεταμένη χρήση του τερματικού, αποφάσισα να ενεργοποιήσω το χρωματισμό.

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

Κατ’ αρχήν ανοίγουμε το Terminal.app. Εκτός απροόπτου το Terminal.app ξεκινάει από το home directory. Εκτελούμε
nano .bashrc


Αν το αρχείο αυτό υπάρχει ήδη θα το ανοίξει εμφανίζοντάς μας τα περιεχόμενά του, αν δεν υπάρχει θα το δημιουργήσει όταν το αποθηκεύσουμε. Προσθέτουμε στο .bashrc τις ακόλουθες εγγραφές:

export CLICOLOR='Yes'
export TERM=xterm-color

και στη συνέχεια πατάμε Ctrl + X και στη συνέχεια y και enter για αποθήκευση. Μόλις ανοίξουμε ένα νέο παράθυρο (ή νέο Tab) Terminal και κάνοντας ls θα δούμε αμέσως τα χρώματα.

Σάββατο 4 Ιουνίου 2011

Προσθήκη διαδρομής στη μεταβλητή PATH σε Snow Leopard

Όσοι έχουν δουλέψει έστω και λίγο με Unix-οειδή λειτουργικά (αλλά και αρκετοί power users του DOS σίγουρα γνωρίζουν τη μεταβλητή PATH που δηλώνει διαδρομές φακέλων (ή καταλόγων για τους πιο παραδοσιακούς) στις οποίες το λειτουργικό σύστημα θα αναζητά εκτελέσιμα προγράμματα.

Στο Snow Leopard όταν θέλουμε να προσθέσουμε μια τέτοια διαδρομή στο PATH αρκεί να εκτελέσουμε την ακόλουθη εντολή από ένα παράθυρο τερματικού (π.χ. από το Terminal.app)

echo "/path/to/files" >> /etc/paths.d/filename

Όπου αντικαθιστούμε το /path/to/files με τη διαδρομή που θέλουμε (π.χ. /opt/local/bin) και το filename με κάτι περιγραφικό για τη διαδρομή αυτή π.χ. MacPorts

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

Καλό θα είναι πριν εκτελέσουμε αυτή την εντολή να ελέγξουμε κατά πόσον υπάρχει ήδη κάποιο αρχείο στο φάκελο /etc/paths.d με το όνομα που επιθυμούμε να χρησιμοποίησουμε για να μην το αντικαταστήσουμε κατά λάθος με το νέο.

Στη συνέχεια αφού βγούμε και ξαναμπούμε στο τερματικό θα διαπιστώσουμε ότι λειτουργεί.


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

iPhone personal hotspot and iPad tethering

Πριν ένα μήνα περίπου, είχα διαβάσει σε ένα άρθρο του The Unofficial Apple Weblog με τίτλο Does iPhone 4 Personal Hotspot add GPS to Wi-Fi only iPads.

Σήμερα είπα να το δοκιμάσω, έτσι ενεργοποιησα το Personal Hotspot στο iPhone 4 που έχω και συνεδεσα σε αυτό το πρώτης γενιάς iPad wifi που έχω. Ξεκινώντας από τη δουλειά και επιστρέφοντας στο σπίτι παρατήρησα ότι πράγματι το iPad έπαιρνε, ίσως και σε πραγματικό χρόνο, το στίγμα μου απο το iPhone 4.

Συνεπώς μια και το GPS ήταν για μένα ο μόνος λόγος που, έχοντας ήδη iPhone, θα έπαιρνα iPad me 3G θεωρώ ότι μια έκδοση του iPad με μεγαλύτερη χωρητικότητα προσφέρει περισσότερη αξία στα ίδια χρήματα.





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

OS X Snow Leopard mail server: επαναφορά email μαρκαρισμένου ως spam

Έχοντας κατεβάσει τους απαιτούμενους βαθμούς για μαρκάρισμα ενός email ως spam στο 7, παρατήρησα το πρώτο false positive. Για να παραδωθεί το email αυτό στον παραλήπτη χρειάζεται να τρέξουμε μια εντολή που θα υποδείξει στο amavis να το παραδώσει. Η εντολή αυτή είναι η amavis-release και ως παράμετρο περνάμε το όνομα του gz αρχείου με το οποίο έχει αρχειοθετηθεί και το email του χρήστη στον οποίο θέλουμε να παραδωθεί.

Το όνομα του αρχείου περιλαμβάνεται στο email που μας ειδοποίησε για τη μη παράδωση του αρχικού email και η μορφή του είναι ως ακολούθως:

The message has been quarantined as: spam-9ZMNKOAKrb4Y.gz

Το όνομα ξεκινάει με spam- και ακολουθείται από τυχαίους χαρακτήρες ενώ έχει την επέκταση .gz

Η εντολή που θα εκτελούσαμε λοιπόν για το εν λόγω email θα ήταν η ακόλουθη:

Amavis-release spam-9ZMNKOAKrb4Y.gz user@domain.tld

Όπου στη θέση user@domain.tld βάζουμε το email του παραλήπτη

- Posted using BlogPress from my iPhone

Δευτέρα 18 Απριλίου 2011

Android Cisco IPSec VPN

Μια και χάλασε το iPhone 4 που έχω και θα το έστελνα για service εντώς εγγύησης αποφάσισα να αγοράσω ένα οικονομικό κινητό Android μέχρι να έρθει το iPhone 4 πίσω. Αυτό θα μου παρείχε τη δυνατότητα να μπορώ να συνδέομαι ανά πάσα στιγμή στα συστήματα που διαχειρίζομαι (POS/Servers/Routers/Switches) όπως έκανα και με το iPhone (κάτι που λόγω δουλειάς είναι αναγκαίο μια και είμαι on call όλη τη μέρα, κάθε μέρα)

Οι ανάγκες μου είναι σχετικά απλές, να συνδέομαι μέσω IPSec VPN στο γραφείο και μετά με να μπορώ να χρησιμοποιώ VNC/SSH/RDP clients.

Εκ πρώτης όψεως δεν ήταν και κάτι τραγικό και το Android θα υποστήριζε εγγενώς το IPSec VPN ενώ τα clients υπήρχαν άλλα προς αγορά και άλλα δωρεάν στο Android Market. Έτσι τελικά κατέληξα στη συσκευή Samsung Galaxy Mini S5570.

Αφού συγρόνισα τις επαφές κι έκανα τις αρχικές ρυθμίσεις στο κινητό προσπάθησα να αγοράσω το RealVNC Viewer και το iTap RDP τα οποία έχω και στο iPhone, μάταια. Έμαθα ότι τελικά η Google ΔΕΝ έχει προς πώληση εφαρμογές στην Ελλάδα και στην Κύπρο και για να αγοράσει κανείς πρέπει να χρησιμοποιήσει το πρόγραμμα Market Enabler με το οποίο στην ουσία κάνεις spoof τον carrier σε κάποιον από χώρα όπου δραστηριοποιείται το Android Market διαφορετικά περιορίζεσαι μόνο στις δωρεάν εφαρμογές.

Για να τρέξει το Market Enabler πρέπει να έχεις κάνει root το κινητό σου κάτι για το S5570 μπορεί να γίνει με το πρόγραμμα Superoneclick το οποίο, αφού κάνει root το κινητό, εγκαθιστά το πρόγραμμα Superuser το οποίο στη συνέχεια καλείται από όποιο πρόγραμμα χρειάζεται πρόσβαση super user (το γνωστό su για τους φίλους του Unix/Linux).

Έτσι, με το Market Enabler, κατάφερα να αποκτήσω το RealVNC που χρειαζόμουν. To iTap RDP δεν ήταν δυστοιχώς διαθέσιμο στο ιταλικό Android Market, και όπως παρατήρησα μετά δεν μου επέτρεπε να αλλάξω εκ νέου σε Android Market άλλης χώρας.

Στη συνέχεια δοκίμασα να ρυθμίσω το VPN όμως διαπίστωσα ότι εργοστασιακά το Android ΔΕΝ είναι συμβατό με IPSec VPN συμβατό με Cisco. Υποστηρίζει PPTP το οποίο όμως είναι μη ασφαλές και εκτός αυτού το μπλοκάρει και MTN Κύπρου με αποτέλεσμα να μην είναι εφικτό με αυτό να συνδεθείς μέσω 3G ή EDGE. Επίσης υποστηρίζει L2TP VPN, ένα ασφαλές πρωτόκολο VPN το οποίο όμως δεν είναι υλοποιημένο στο δίκτυό μου και δεν άξιζε τον κόπο για 2 - 3 εβδομάδες που θα έχω το Android να ασχοληθώ με αυτό.

Ευτυχώς, όντας το Android μια ανοιχτή πλατφόρμα, υπάρχουν χρήστες που έχουν δημιουργήσει οι ίδιοι μια εφαρμογή με όνομα VPN Connections η οποία επιτρέπει τη δημιουργία IPSec στο Android η οποία όμως για να λειτουργήσει χρειάζεται ένα tunneling module (tun.ko) το οποίο δεν είναι παρόν στην υλοποίηση Android στο Samsung Galaxy Mini S5570 (και σε αρκετά άλλα κινητά Android όπως διαπίστωσα).

Κατά συνέπεια, και αφού δεν βρήκα το tun.ko αναγκάστηκα να κατεβάσω το Android SDK, το source code για τον πυρήνα του Linux για το S5570 από τη Samsung, να τραβήξω ένα config file από το κινητό, να τροποποιήσω το .config και Makefile για να κάνω enable το αντίστοιχο module και να δηλώσω που βρήσκεται ο compiler κλπ κλπ και να κάνω compile τα modules.
(Για τους χρήστες Mac όπως εγώ πρέπει να γίνουν εγκατάσταση και οι βιβλιοθήκες libelf μέσω του port install)

Μετά έκανα mount το /system στη συσκευή μου με read-write access, δημιούργησα στο /system/lib το φάκελο modules που δεν υπήρχε και ανέβασα το tun.ko σε αυτόν. Από console έτρεξα το insmod /system/lib/modules/tun.ko και αφού δεν ανέφερε σφάλμα δοκίμασα το VPN Connections το οποίο και δούλεψε τελικά.

Κατά τη γνώμη μου είναι μεγάλη παράβλεψη που το Android δεν υποστηρίζει εγγενώς το IPSec της Cisco και η διαδικασία παράκαμψης αυτής της έλλειψης είναι μια αρκετά μεγάλη πρόκληση ακόμα και για έμπειρους χρήστες. Έχοντας εμπειρία σε Linux από το 1999 περίπου κι έχοντας περάσει από αρκετά Kernel compilations για να ενεργοποιήσω κάρτες δικτύου ή κάρτες ήχου ξόδεψα περίπου 20 ώρες για να βρώ τις απαραίτητες πληροφορίες, να κατεβάσω τα απαραίτητα προγράμματα και τον πηγαίο κώδικα για να προσθέσω αυτή τη δυνατότητα στο κινητό μου. Πλέον όντας επαγγελματίας κι όχι φοιτητής είμαι της λογικής ότι τα πράγματα πρέπει να είναι απλά και να δουλεύουν. Δεν θέλω να χάνω άλλο το χρόνο μου προσπαθώντας να τα κάνω να δουλέψουν αλλά αξιοποιώντας τις λειτουργίες τους κι εκεί είναι που η Apple με κερδίζει...

Επειδή ίσως να φανεί χρήσιμο και σε κάποιον άλλο:
Πατήστε εδώ για λήψη του tun.ko για Samsung Galaxy Mini S5570
Πατήστε εδώ για οδηγίες για compiling του module tun.ko σε HTC Hero τις οποίες χρησιμοποίησα ως βάση για να κάνω την αντίστοιχη διαδικασία για το S5570
Πατήστε εδώ για το Site της Samsung όπου δημοσιεύει τον Open Source Κώδικα για όλες τις συσκεύες της και φιλτράρετε το μοντέλο σας.

Τετάρτη 23 Σεπτεμβρίου 2009

Over promise, under deliver... Το κλασσικό φαινόμενο Microsoft επιστρέφει στην πιο γοητευτική του μορφή...

Εδώ κι αρκετό καιρό κυκλοφορούν έντονα φήμες ότι η Apple ετοιμάζεται να παρουσιάσει ένα Tablet Mac. Οι φήμες αυτές, στην πλειοψηφία τους, θέλουν την Apple να το εμπορεύεται το πρώτο τρίμηνο του 2010 και να γνωρίζει την επιτυχία του iPhone.

Η Microsoft, μια και έχει αρχίσει να χάνει σε κάθε μέτωπο, όπως π.χ. στα κινητά τηλέφωνα (από το iPhone αλλά και το Android της Google), στην αναζήτηση στο internet (από το Google), στους Web Browsers (από το Firefox της Mozilla) κλπ. επαναλαμβάνει την πάγια τακτική της να ανακοινώνει ότι ετοιμάζει, εργάζεται πάνω σε ένα project που θα φτιάξει το τέλειο tablet και μάλιστα παρουσίασε κι ένα μη λειτουργικό μοντέλο (mock up) καθώς κι ένα βίντεο προθέσεων του προϊόντος με την κωδική ονομασία Courier. To Tablet τόσο στις φωτογραφίες όσο και στο βίντεο που το συνοδεύει φαίνεται εντυπωσιακό. Τόσο ως προς την εμφάνιση όσο κι ως προς τη λειτουργία του. Μάλιστα είμαι βέβαιος ότι αν αυτό το προϊόν υπήρχε στο εμπόριο θα έκανε θραύση ενώ σίγουρα θα αγόραζα κι εγώ ένα. Κάπου εδώ υπάρχει ένα "αλά". Το προϊόν αυτό μέχρι στιγμής υπάρχει μόνο ως προϊόν μάρκετινγκ της Microsoft κι όχι ουσιαστικά.

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

Χαρακτηριστικό παράδειγμα τα Windows Longhorn (γνωστά και ως LongWait) τα οποία αναμενόταν τον Οκτώβρη του 2003 και τελικά ενσαρκώθηκαν υπό τη μορφή των Windows Vista το 2006.

Σε αυτό το σποτάκι από τη Μicrosoft επιδεικνύει τα χαρακτηριστικά των Longhorn

Όπως είναι εμφανές σε όποιον έχει χρησιμοποιήσει τα Vista, το λειτουργικό που παρουσιάστηκε το 2003 δεν έχει καμμία απολύτως σχέση με τα Vista.

Το ίδιο προβλέπω να γίνεται και με το Courier. Η Microsoft, ως πυροτέχνημα, εμφανίζει τις "ερευνητικές" της προσπάθειες με το Courier δημιουργώντας μια αναμονή στην αγορά η οποία όμως θα διαψευσθεί στην πορεία έχοντας όμως αφήσει το όποιο ανταγωνιστικό προϊόν να συγκρίνεται με μια ιδέα.

Αν είναι όμως να μιλάμε για mock ups και ιδέες νομίζω πως έχει αργήσει κατά μια εικοσαετία μιας και το 1987 η Apple είχε παρουσιάσει αυτή την ιδέα


Παρασκευή 11 Σεπτεμβρίου 2009

Η ζωή με το iPhone...

Μετά από ένα χρόνο και δύο μήνες που αγόρασα το MacBook Pro και χρησιμοποιώ πλέον αποκλειστικά το Mac OS (στο οποίο ελπίζω να αναφερθώ εκτενέστερα στο άμεσο μέλλον), αγόρασα ένα μεταχειρισμένο iPhone πρώτης γεννιάς.

Μετά από αρκετά χρόνια χρήσης διαφόρων κινητών από τις Ericsson, Sony Ericsson, Nokia, Philips, Siemens, Motorola, Imate ομολογώ ότι έχω εντυπωσιαστεί. Ιδίως συγκρίνωντάς το με τα Windows Mobile (επίσης Pocket PC και CE) που είχα κυρίως δοκιμάσει στο Imate KJam (που στην ουσία είναι HTC Wizard re-branded), σε Symbol MC9090, σε Symbol MC3000 καθώς και το Pocket PC της HP iPAQ 5450.

Για μία ακόμη φορά η Apple είναι πιστή στη φιλοσοφία της. Όταν κάνει κάτι το κάνει σωστά. Στα 2 χρόνια που πέρασαν από το 1997 που εμφανίστηκε το πρώτο iPhone, η Apple με incremental updates τόσο στο software όσο και στο hardware έχει καταφέρει να εκτοπίσει όλες τις εταιρίες που παράγουν smartphones, οι οποίες εκ των υστέρων τρέχουν να την προλάβουν. Δεν είναι τυχαίο ότι όλα τα smartphones που βγήκανε μετά το iPhone διεκδικούν τον τίτλο του "iPhone killer".

Το ποιό απίστευτο ίσως είναι ότι το iPhone δεν κάνει ίσως τόσα πολλά πράγματα όπως τα Windows Mobile π.χ. (άλλωστε μέχρι πρόσφατα δεν υποστήριζε ούτε MMS, ούτε Copy & Paste) όμως αυτά που κάνει τα κάνει με ένα απίστευτα διαισθητικό τρόπο.

Η οθόνη αφής εκτός από πανέμορφη είναι καταπληκτική στη χρήση της, τα gestures, ο Safari που μπορώ να πω αποτελεί το φως στη χώρα τον τυφλών όσον αφορά τους mobile web browsers και φυσικά το App Store που για μένα είναι η φιλοσοφική λίθος του iPhone.

Το iPhone δημιούργησε ένα απίστευτο και πρωτοφανές οικοσύστημα εφαρμογών που μπορεί κανείς να αποκτήσει με τον πιο εύκολο και πρακτικό τρόπο είτε είναι δωρεάν είτε επί πληρωμή. Το μοίρασμα των κερδών 70-30 υπέρ των προγραμματιστών μαζί με ένα δυνατό SDK, και φυσικά το ανάλογο hardware, έδωσε κίνητρο να δημιουργηθού οι πιο ευφάνταστες εφαρμογές. Δεν είναι τυχαίο ότι σύντομα ξεπέρασαν τις 65000 οι διαθέσιμες από το App Store εφαρμογές.

Μετά από αυτή την επιτυχία της Apple οι ανταγωνιστές έσπευσαν να ανακοινώσουν τα δικά τους App Stores αναγνωρίζοντας εκ των υστέρων την ουσιαστική ανάγκη των χρηστών να βρίσκουν σε ένα μέρος, one stop shop, όλες τις εφαρμογές που είναι διαθέσιμες για το κινητό τους.

Ας ελπίσουμε ότι η Apple θα συνεχίσει να πρωτοπορεί και να οδηγεί ανταγωνιστικά την αγορά μπροστά...


Πέμπτη 2 Ιουλίου 2009

Τα Windows ποτέ δεν σταματούν να με εκπλήσσουν...

Από τον καιρό του MS-DOS τα Windows υποστήριζαν ένα μοτίβο ονομασίας των αρχείο της μορφής "όνομα τελεία επέκταση" (π.χ. somefile.txt).


Στην αρχή το MS-DOS επέτρεπε την ονομασία αρχείων με 8 χαρακτήρες για το όνομα και 3 χαρακτήρες για την επέκταση και φυσικά μόνο μια τελεία. Με την έλευση των Windows 95 προστέθηκε η δυνατότητα για μεγάλα ονόματα αρχείων (long file names) που δεν περιορίζονταν σε 8.3 όπως πριν. Εκτός από την αύξηση των χαρακτήρων, δώθηκε και η δυνατότητα να χρησιμοποιούνται περισσότερες από μία τελείες. Π.χ. το this.file.has.more.dots.txt είναι πλέον αποδεκτό ενώ το μέγιστο μέγεθος μιας διαδρομής (path) ή συνδιασμού διαρομής και ονομάτων αρχείων είναι 256 χαρακτήρες.


Συνεπώς δεν μπορούμε να δημιουργήσουμε αρχεία τα οποία μαζί με τη διαδρομή τους (π.χ. "c:\some directory\some other directory") να ξεπερνάνε τους 256 χαρακτήρες.


Τι γίνεται όμως αν σε ένα υπολογιστή με το όνομα PC1 έχουμε έναν κοινόχρηστο φάκελο, έστω τον "c:\Documents and settings\Username\My Documents\Shared" με το όνομα Shared και μέσω της διαδρομής δικτύου δημιουργήσουμε ένα αρχείο κειμένου σε αυτόν;


Στην περίπτωση αυτή η διαδρομή δικτύου θα ήταν \\PC1\Shared, κατά πολύ μικρότερη από την πραγματική θέση του ("c:\Documents and settings\Username\My Documents\Shared") οπότε τα Windows XP θα μας επέτρεπαν να δημιουργήσουμε το αρχείο λαμβάνοντας υπόψιν μόνο το μέγεθος της διαδρομής δικτύου κι όχι της πραγματικής θέσης. Έτσι αν εξαντλήσουμε τον αριθμό χαρακτήρων που τα Windows μας επιτρέπουν το αρχείο αυτό δεν θα είναι προσβάσημο από την πραγματική του διαδρομή αλλά μόνο από τη διαδρομή δικτύου! Έτσι δεν θα μπορεί κανείς να το ανοίξει, διαγράψει, μετονομάσει ή μεταφέρει σε άλλο φάκελο παρά μόνο μέσω της διαδρομής δικτύου. Καταπληκτικό;


Σε αυτό βέβαια υπάρχει κι ένα μικρό παραθυράκι... Αν στην κανονική διαδρομή για το αρχείο (π.χ. "c:\path\to\file\file.txt") προσθέσουμε χρησιμοποιήσουμε το \\?\ (οπότε θα έχουμε πλέον "\\?\c:\path\to\file\file.txt") το οποίο υποδεικνύει στα windows να ΜΗΝ ελέγξουν το path και το όνομα αρχείου για επιτρεπτούς χαρακτήρες και αριθμό χαρακτήρων πριν να εκτελέσουν την εντολή.

Έτσι μπορούμε από τη γραμμή εντολών να διαγράψουμε ή να μετονομάσουμε το αρχείο με τις γνωστές εντολές του MS-DOS ren, del ή και move για μεταφορά σε άλλο φάκελο. Αυτό το "κόλπο" μπορεί να χρησιμοποιηθεί και την περίπτωση που έχουν δημιουργηθεί μη κανονικά ονομαζόμενα αρχεία όπως π.χ. κάποιο αρχείο που τελειώνει σε τελεία.


Τώρα τι είχαν στο μυαλό τους στη Microsoft ένας Θεός ξέρει...

Τρίτη 7 Οκτωβρίου 2008

Μεταφορά αρχείων από ξένο iPod

main.png 500×340 pixels.jpgΌπως γνωρίζουν οι περισσότεροι χρήστες iPod, δεν είναι δυνατόν να μεταφέρεις τα τραγούδια (και γενικά το περιεχόμενο) ενός iPod άλλου χρήστη στη βιβλιοθήκη iTunes σου. Καθώς πρόσφατα αγόρασα ένα μεταχειρισμένο iPod και ήθελα να κρατήσω κάποια βίντεο που είχε μέσα, έψαξα για το κατάλληλο πρόγραμμα για OS X και βρήκα το Senuti.<

Το Senuti είναι πολύ απλό στη χρήση και επιτρέπει τη μεταφορά τραγουδιών, video είτε απ'ευθείας στο iTunes (συμπεριλαμβανομένων των Playlist), είτε σε φάκελο που επιλέγουμε διατηρώντας τη δομή Καλιτέχνη/Άλμπουμ.