port scanner σε javafx

Καινούριο request από πελάτη . Αυτή την φορά είχα να φτιάξω έναν port scanner που να ελέγχει ποιες πόρτες είναι ανοικτές και να εμφανίζει κάποιες πληροφορίες για κάθε πόρτα. Το GUI είναι φτιαγμένο σε javafx ,ενώ ο έλεγχος των ports γίνεται με παράλληλα threads (20 αλλά είναι configurable στο tab Advance) που μειώνουν το χρόνο ελέγχου των 65536 ports από 3 ώρες σε 10...

Το χάσμα των χρηστών και των προγραμματιστών

Βρήκα πρόσφατα μια φωτογραφία στο internet και με αφορμή αυτή θέλησα να μοιραστώ μαζί σας τις απόψεις μου. Ο γραφών πολλές φορές βρέθηκε να “μαλώνει” με πελάτες του γιατί άλλο software σκεφτόντουσαν ότι χρειάζονται και άλλο software τελικά παρέλαβαν. Στην πραγματικότητα, η παρακάτω φωτογραφία καθρεφτίζει την αλήθεια για ένα software project. Ποιος φταίει? Αν ρωτήσετε τους πελάτες θα πούνε κάτι σαν “Μα τι άθλιος προγραμματιστής , εδώ ο bill gates έφτιαξε τα windows , αυτός ούτε ένα μικρό προγραμματάκι δεν μπορεί να κάνει?” Αν ρωτήσετε τους προγραμματιστές θα πουν κάτι σαν ” Όυτε ο μάντης τειρεσίας δεν θα μπορούσε να καταλαβει τι ζητάει αυτός και φυσικά να το πληρώσει λιγότερο από όσο πληρώνει τον ασπριτζή για να βάψει δύο τοίχους του σπιτιου του” Η αλήθεια είναι κάπου στην μέση τις περισσότερες φορές . Το μεγαλύτερο πρόβλημα είναι φυσικά το κόστος. Το λογισμικό δεν είναι κάτι μετρήσιμο , όπως λέμε ενα κιλο φασόλια , μια φορολογική δήλωση , ενα συμβόλαιο σπιτιου. Δεν υπάρχουν τρόποι να “μετρήσεις” την δουλειά σου εκτός από εμπειρικά και τις περισσότερες φορές πέφτεις μαθηματικά έξω. Ας υποθέσουμε ότι ένας πελάτης μας αναθέτει ένα έργο λογισμικού. Ας υποθέσουμε , ότι με κάποιο μαγικό τρόπο οι απαιτήσεις του είναι σωστά τεκμηριωμένες (πράγμα αδύνατον αλλά ας υποθέσουμε) . Ας υποθέσουμε τέλος  ότι για το συγκεκριμένο project  χρειαζόμαστε μια βδομάδα. Ένας μέσος – νόμιμος ελεύθερος επαγγελματίας έχει τουλάχιστον τις εξής υποχρεώσεις για μία βδομάδα. Ασφαλιστικό ταμείο (250 το λιγοτερο τον μήνα , αρά ας πουμε 70 ευρώ για μία βδομάδα) Ενοίκια , ΔΕΗ ,  ΟΤΕ , internet (βάλτε άλλο ένα 50άρι για μια βδομάδα και λίγα λέμε) Τον μισθό του...

usbman – Πρόγραμμα διαχείρισης usbstorage devices

Πρόσφατα μου ζητήθηκε να φτιάξω ένα πρόγραμμα με το οποίο θα μπορεί ο χρήστης να απενεργοποιει τα usb ports. Τελικά επειδή όταν απενεργοποιούνταν τα usb απενεργοποιούσαν και συσκευές που δεν θέλαμε όπως p.x usb mouse, τροποποιήσα λίγο τις απαιτήσεις ώστε να ελέγχει τα usb storage devices , (δηλαδή flash και HDD usb drives). Έτσι γεννήθηκε το usbman που χρησιμοποιείται για ενεργοποίηση/απενεργοποίηση/επανεκκίνηση usbstorage devices γραμμένο σε vstudio 2013 και με την χρήση το WDK (windows driver kit). Απο κάποιες δοκιμές φαίνεται να δουλέυει σωστά σε win7,win8.1,win10 και στα 32/64...

Hello World

Επειδή κάθε τι στον προγραμματισμό ξεκινάει με “Hello World”…