jump to navigation

Open Source and Freeware Utilities 26 Απριλίου 2006

Posted by Νικόλας in Software, Windows.
Tags: ,
add a comment

Το βρήκα σήμερα από το digg.com και το θεωρώ αρκετά χρήσιμο. Πρόκειται για δύο λίστες με 400+ (η κάθε μία) δωρεάν (freeware και open source) εργαλεία ή εφαρμογές για κάθε περίπτωση. Από βάσεις δεδομένων, μέχρι mp3 players. Οι λίστες είναι δομημένες σε στύλ «Θα ήθελα ένα αργαλεία για να …», αρκετά βολικό για να βρείτε ακριβώς αυτό που ψάχνετε.

Επειδή προσωπικά ξοδεύω αρκετές ώρες για να βρώ κάποια μικρά εργαλεία για απλές εργασίες (π.χ. μαζικές μετονομασίες αρχείων) και επιπλέον θεωρώ ότι είναι προτιμότερο να έχεις ένα εργαλείο για κάθε δουλειά, παρά σουίτες εφαρμογών (π.χ. πιστεύω ότι το McAffee είναι από τα καλύτερα antivirus, αλλά σιχαίνομαι το Firewall του ή προτιμώ το Dreamweaver για HTML writing και το TopStyle για CSS), βρίσκω αυτές τις λίστες αρκετά χρήσιμες.

Enough said … αυτές είναι οι λίστες.

Full Screen Auto Resize Background στο Flash 18 Απριλίου 2006

Posted by Νικόλας in ActionScript.
Tags: ,
8 Σχόλια

Όποιος έχει δεί το site του Νίκου Πορτοκάλογλου ή της Δέσποινας Βανδής, σίγουρα θα έχει παρατηρήσει ότι υπάρχει ένα full screen background το οποίο γίνεται αυτόματα resize όποτε αλλάζει το μέγεθος του παράθυρου του browser.

Για να μην αναρωτιέστε πώς γίνεται αυτό, σας παραθέτω παρακάτω το κώδικα (ActionScript) με κάποια σχόλια.

// Με το noScale αποτρέπουμε το περιεχόμενο από το να γίνεται resize, εκτός και αν του πούμε εμείς. Ουσιαστικά προκειμένου να χρησιμοποιήσουμε την onResize που είναι απαραίτητη παρακάτω, πρέπει αυτή η εντολή να υπάρχει.

Stage.scaleMode = «noScale»;

// LT σημαίνει Left Top. Ορίζουμε ότι το 0,0 pixel βρίσκεται στην πάνω αριστερή γωνία.

Stage.align = «LT»;

// Εδώ είναι το «ζουμί». Το bg είναι το MovieClip στο οποίο περιέχεται το Background Image. Ορίζουμε μία function η οποία θα διαμορφώσει ανάλογα το μέγεθος του bg MovieClip, όποτε κάνουμε Resize το παράθυρο.

mc_bg.onResize = function() {

// Stage.width και Stage.height είναι το πλάτος και το ύψος του Stage, δηλαδή ολόκληρου του SWF.

this._width = Stage.width;
this._height = Stage.height;

};

// Πρέπει να «πούμε» στο bg MovieClip να «έχει τα αυτιά του ανοικτά» για οτιδήποτε συμβεί, δηλ. για το event (onResize)

Stage.addListener(mc_bg);

// Εδώ απλά ορίζουμε τις αρχικές συντεταγμένες του mc_bg MovieClip

mc_bg._x = mc_bg._y = 0;
mc_bg.onResize();

// Οι παρακάτω γραμμές είναι υπεύθυνες για τη τοποθέτηση του MovieClip mc_content στο κέντρο της οθόνης Ακολουθείται η ίδια ακριβώς λογική όπως και με το bg, με τη διαφορά, ότι εδώ απλά τοποθετούμε το mc_content MovieClip εκεί που θέλουμε και εν προκειμένου στο κέντρο της οθόνης. Είναι λογικό ότι αυτή η τοποθέτηση πρέπει να γίνεται κάθε φορά που γίνεται resize.

mc_content.onResize = function() {

this._x = (Stage.width – this._width) / 2;
this._y = (Stage.height – this._height) / 2;

};
Stage.addListener(mc_content);
mc_content.onResize();

Εννοείται ότι για να έχετε το επιθυμητό αποτέλεσμα, θα πρέπει στο HTML OBJECT tag να ορίσετε τα properties width και height στο 100%.

Right-click on a file or folder crashes explorer.exe 17 Απριλίου 2006

Posted by Νικόλας in Windows.
Tags: ,
1 comment so far

Εδώ και κάποιους μήνες με βασάνιζε ένα καινούριο πρόβλημα στον υπολογιστή μου. Όταν έκανα δεξί κλίκ σε κάποιο αρχείο ή φάκελο, το contect menu καθυστερούσε να εμφανιστεί και όταν τελικά εμφανιζόταν, πρίν προλάβω να επιλέξω κάτι από το menu, ο explorer κρασάριζε, ρωτώντας αν θέλω να αποσταλεί error report στη Microsoft (που δεν ήθελα).

Στην αρχή υποψιάστηκα το Google Desktop, αλλά επειδή με βολεύει φανταστικά (εκτός από την δυνατότητα αναζήτησης – η δύναμη του Google στον υπολογιστή σου -, βρίσκω αρκετά λειτουργικό τον RSS aggregator που περιέχει, καθώς και το TODO plugin). Η εύκολη λύση, θα ήταν να απεγκαταστήσω το Google Desktop. Επειδή όμως έχω αποκτήσει και μία «μυστήρια» άποψη το τελευταίο καιρό, ότι δεν είναι δυνατόν κάθε πρόβλημα στα Windows να επιδιορθώνετε με Format και εγκατάσταση από την αρχή ή με απεγκατάσταση της ύποπτης εφαρμογής, θέλω και προσπαθώ να αποφεύγω αυτές τις εύκολες λύσεις. Το κακό αυτής της απόφασής μου είναι ότι συχνά, λόγω φόρτου εργασίας δεν έχω το χρόνο να αρχοληθώ με ένα συγκεκριμένο πρόβλημα με αποτέλεσμα, εν προκειμένω το συγκεκριμένο πρόβλημα, να με ταλαιπωρεί αρκετούς μήνες.

(σημ. ζηλεύω το γεγονός ότι στα Unix/Linux/BSD συστήματα, δεν υπάρχει – εκτός ακραίων περιπτώσεων – η περίπτωση, λύση ενός προβλήματος να αποτελεί η επανεγκατάσταση. Οι φανατικοί των Unix/Linux/BSD πατάνε ακριβώς σε αυτή την «αδυναμία» των Windows και θεωρούν – όχι άδικα βεβαίως – ότι τα «δικά τους» συστήματα είναι πιο «συμπαγή» και σταθερά. Εγώ πιστέυω ότι ο μόνος λόγος που αυτά τα συστήματα είναι πιο σταθερά, είναι γιατί οι χρήστες τους είναι ταυτόχρονα και προγραμματιστές του λειτουργικού. Με απλά λόγια, θεωρώ ότι φταίνε οι χρήστες των Windows γιατί δεν ασχολούνται αρκετά με το λειτουργικό τους και περιμένουν όλες τις λύσεις από τη Microsoft, εν αντιθέσει με τους Linuxάδες οι οποίοι εκ προοιμίου γνωρίζουν ότι τη λύση στο πρόβλημά τους, μπορούν να τη βρούν μόνο οι ίδιοι!)

Στο διά ταύτα, λοιπόν, μετά από αρκετό ψάξιμο (δυστυχώς το Knowledge Base της Microsoft δεν βοήθησε καθόλου) έφτασα στο site του Ramesh Srinivasan, και στο άρθρο του «Right-click is slow or weird behavior caused by context menu handlers. Το άρθρο είναι αρκετά κατατοπιστικό και περιγράφει αρκετές περιπτώσεις με προβλήματα που αφορούν στο Context Menu. Σύμφωνα λοπόν με το άρθρο του Ramesh Srinivasan, αιτία των προβλημάτων είναι:

These problems are caused by a bad context menu handler. A context menu handler is a shell extension handler that adds commands to an existing context menu (Example: cut, copy, paste, print, Scan with Norton etc).

Μετάφραση: Αυτά τα προβλήματα προέρχονται από κάποιο κακό context menu handler. Ο Context Menu Handler είναι μία επέκταση του shell (κέλυφος), η οποίο προσθέτει κάποιες πρόσθετες εντολές στο context menu (σ.μ. το μενού που εμφανίζεται όταν κάνουμε δεξί κλίκ σε κάποιο αρχείο ή φάκελο)

Το συμπέρασμά μου λοιπόν ήταν ότι έφταιγε κάποια επέκταση του shell. Αυτές όμως επεκτάσεις, καταχωρούνται σε πολλαπλά σημεία μέσα στη registry, συνεπώς η εύρεσή τους είναι δύσκολη. Ποιά όμως και άντε τώρα να ψάχνεις μέσα στη registry … να κάνεις και καμιά πατατιά και να ψάχνεσε. Ευτυχώς που υπάρχει το ShellExView. To ShellExView είναι ένα εργαλείο (freeware) από τον Nir Sofer (τί όνομα και τούτο!;) το οποίο εμφανίζει όλα τα Context Menu Handlers και δίνει τη δυνατότητα να ενεργοποιήσετε και απενεργοποιήσετε αυτά που θέλετε.

Η λύση μου λοιπόν ήταν απλή. Απενεργοποίησα όλα τα Non – Microsoft Context Menu Handlers (το ShellExView δείχνει ποιά είναι αυτά) και ενεργοποιώντας τα, ένα-ένα, βρήκα πιό ήταν το «κακό» που μου δημιουργούσε όλο το πρόβλημα. Στη δική μου περίπτωση το πρόβλημα μου του δημιουργούσε το Steganos Safe και το Destroy Context Menu. To απενεργοποίησα λοιπόν (άλλωστε ποτέ δεν χρησιμοποίησα το συγκεκριμένο extension) και έτσι και το Steganos Safe κράτησα και το πρόβλημά μου έλυσα (μέχρι να προκύψει κάτι νέο).

Σημ. Ψάχνω να βρώ κάποιο εργαλείο να αντικαταστήσω το Steganos Safe. Όποιος έχει κάτι υπόψην, ας το αναφέρει. Θα του ήμουν ευγνώμων.