Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

MediaCamp2 Day 1

Πάρα πολύ ωραία, σήμερα, η πρώτη μέρα στο MediaCamp2 (μία φοβερή πρωτοβουλία που φέρνει κοντά και ενώνει όσους ασχολούμαστε με τεχνολογία, από όποια φιλοσοφία και αν έχουμε υιοθετήσει). Ο χώρος είναι ένα από τα πιο ευχάριστα και φωτεινά μέρη που έχω δει (Microsoft Innovation Center), που ευγενικά παραχώρησε η MS Hellas. 14032009011

Μοιραστήκαμε ιδέες και ενδιαφέροντα τόσο μέσω ομιλιών όσο και στα μικρά πηγαδάκια που σχηματίζονταν ανά τους ορόφους. Προσωπικά παρακολούθησα ομιλίες σχετικά με Drupal όπου ακολούθησε και ωραία συζήτηση για διάφορα Web Frameworks, για code conventions, Windows Mobile Development, WPF, Expression Design, Expression Blend, ASP.NET και την εισαγωγή σε αυτή τη νέα στροφή στο development που “ακούει” στον όρο Cloud Computing, μέσω της νέας οικογένειας υπηρεσιών της Microsoft (Windows Azure realm ;) ).

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

 

Για όσους ενδιαφέρονται να έρθουν αύριο μπορούν να περάσουν ότι ώρα θέλουν ώστε ή να παρακολουθήσουν, ή να συζητήσουν ή ακόμα και να παρουσιάσουν την δουλειά τους και ότι τους τρελλαίνει. Πληροφορίες μπορείτε να βρείτε και μέσω Facebook.

Posted: Σάββατο, 14 Μαρτίου 2009 9:20 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Ύψηστο Recover Utility & άπειρη τύχη

Τι δώρο ήταν αυτό απόψε...Την περασμένη εβδομάδα αποφάσισα να βάλω στο Laptop μου (5 ετίας) Windows 7. Όλα πήγαν καλά, το μόνο που με χάλασε ήταν ότι λόγο discontinued driver στην γραφικών δεν μπορούσα να ρυθμίσω την φωτεινότητα με αποτέλεσμα να δώσω τόπο στην οργή και να κάνω restore το back up image της Toshiba με τα XP + utitlities. Έχω βάλει Office 2007, Visual Studio 2008 και όολα τα updates και πριν κανά δίωρο (ενώ είχα πάρει backup πριν περάσω τα Windows 7, ακόμα) θυμάμαι ότι είχα αρκετές σημειώσεις από μαθήματα (που δίνω τώρα στην σχολή) στο OneNote 2003 που είχα ξεχάσει τελείως όμως....Ρίγος και κρύος ιδρώτας. Ήμουν άπειρα τυχερός και ευχαριστώ όποια θεϊκή δύναμη έβαλε το χέρι της και το χτένι δεν πήγε σε αυτό το κρίσιμο block. Φορτώνω σε usb το active undelete που κοιτάει όχι μόνο MFT, αλλά και sectors 1 προς ένα. Search *.one και από όλα τα corrupted το μόνο που χρειαζόμουν ήταν recoverable. 

Μετά από δύο εγκαταστάσεις με formats, απλά ένα μεγάλο ευχαριστώ και με την πρώτη ευκαιρία ένα κερί στον ύψηστο.

Posted: Δευτέρα, 2 Φεβρουαρίου 2009 1:49 πμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

"Sparks will Fly | 2009" Via ARTiGO kit is here

…and now it is here. I should wait until semester exams, come to an end… or not? The largest drawback is that in a 50-day deadline, I have a 20-day exam period, at the MSc. But I shouldn’t worry. I will design implement and craft the deliverable as long as I can. After all the, experience and knowledge is a multivariable incremental function ;)

002

Cheers

Posted: Τετάρτη, 21 Ιανουαρίου 2009 12:28 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία: ,

Multisensor Data Fusion: Theory and Practice

Recently I had to prepare my theses about evidential reasoning in a data fusion component of a pervasive application. I borrowed from my library this book (the 1st edition) and found it one of the best references in this area. Both introductory and advanced satisfied my needs to understand the multilevel character of the df process. Yesterday, I received this updated version (only 2 days after I placed my order, cheers amazon). I find the chapters that were added a unique and very clever addition (specially the automated reasoning, fusion in automated environment and SOA concept, chapters) that bring this book at the upfront of the data fusion bibliography!! To whom it may concern, you can preview it freely through google books.

CRC.Handbook.of.Multisensor.Data.Fusion.Theory.and.Practice.2nd.Edition.Sep.2008.eBook-DDU_Page_001

Posted: Τετάρτη, 21 Ιανουαρίου 2009 12:05 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Συστήματα Επίγνωσης Πλαισίου / Context Aware

Τι εννοούμε με τον όρο «επίγνωση πλαισίου»; Ποια είναι τα αντίστοιχα υπολογιστικά συστήματα που περιγράφονται από το ομώνυμο πεδίο εφαρμογών, της περιοχής του διάχυτου υπολογισμού; Με ποιες θεωρίες; Θα προσπαθήσουμε να απαντήσουμε τα παραπάνω ερωτήματα προσπαθώντας να κατανοήσουμε σε κάθε βήμα αυτό ακριβώς που έχουμε ορίσει. Ετυμολογικά, με τον όρο πλαίσιο (context), αναφερόμαστε σε οτιδήποτε περιβάλλει και ορίζει κάτι άλλο. Εξειδικεύοντας τον όρο στον τομέα της πληροφορικής, αυτό το «κάτι άλλο» μπορεί να είναι μία υπόθεση, ένα άτομο, ένα υπολογιστικό σύστημα. Με το ρήμα «ορίζει» εννοούμε όλα εκείνα τα χαρακτηριστικά τα οποία δίνουν ξεχωριστή αξία στο αντικείμενό μας. Για παράδειγμα, αυτό το «κάτι», έστω ότι είναι ένας άνθρωπος, το «πλαίσιο» του οποίου αναφέρεται στην πληροφορία, στις ιδιότητες και στα χαρακτηριστικά του περιβάλλοντός του, όπως οι τοποθεσίες ατόμων που βρίσκονται γύρω του και τα αντίστοιχα προφίλ τους. Πολλά παρόμοια παραδείγματα μπορούμε να σκεφτούμε στο ίδιο μοντέλο. Κοιτάζοντας τα προσεκτικά, θα βρούμε αρκετά σημεία κοινά, τα οποία θα μας βοηθήσουν στο να αναγνωρίσουμε κάποια συγκεκριμένα πρότυπα τα οποία ακολουθούνται. Σχεδόν πάντα θα αναγνωρίζουμε κάποιο στοιχείο και κάποια κατάσταση που ορίζεται. Έτσι οδηγούμαστε σε έναν πιο γενικό ορισμό που λέει ότι: Πλαίσιο είναι κάθε πληροφορία που μπορεί να χρησιμοποιηθεί για να χαρακτηρίσει την κατάσταση μίας οντότητας. Την προαναφερθείσα πληροφορία μπορούμε να την χωρίσουμε σε δύο κατηγορίες με βάση την πολυπλοκότητά της: Σε στοιχειώδη πλαίσια και σε μοντέλα πλαισίου.

Παραδείγματα πλαισίου οντοτήτων

· Χωρική τοποθεσία

· Χρόνος

· Κατάσταση εκτέλεσης μίας εφαρμογής

· Πόροι συστήματος

· Χωρητικότητα δικτύου

· Κάποια δραστηριότητα

· Τάσεις χρηστών

· Συναισθηματικό προφίλ χρηστών

· Θερμοκρασία

Παραδείγματα μοντέλων πλαισίων

· Χωρικά μοντέλα

· Μοντέλα δραστηριοτήτων (δραστηριότητες ανθρώπων, τάσεις)

· Μοντέλο φυσικής κατάστασης (θερμοκρασία, καύσιμη ύλη, υγρασία, άνεμος και συναρτήσεις αυτών)

 

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

  1. Με μία κοινή οντολογία διευκολύνεται ο διαμοιρασμός γνώσης σε ανοιχτά και δυναμικά κατανεμημένα συστήματα
  2. Οντολογίες με καλώς ορισμένη δηλωτική σημασιολογία παρέχει ένα μέσο σε έξυπνους πράκτορες να βγάλουν συμπεράσματα για πληροφορία πλαισίου (contextual information).
  3. Με οντολογίες μπορούν συσκευές και πράκτορες να μπορούν να συνομιλούν χωρίς να είναι απαραίτητα σχεδιασμένοι για να μπορούν να επικοινωνούν μεταξύ τους.

image

Άλλες αναπαραστάσεις γνώσης είναι οι εξής:

Λογική πρώτης τάξης:

Πχ.

• 1. Τοποθεσία (Άγγελος, Στο, Δωμάτιο 2401)

• 2. Τοποθεσία (Κώστας, Στο, Δωμάτιο 2401)

• 3. Τοποθεσία (Δημήτρης, Εισέρχεται, Δωμάτιο 2401)

• 4. Θερμοκρασία (Δωμάτιο 2401, =, 68)

• 5. Φωτισμός (Δωμάτιο 2401, Είναι, Χαμηλός)

• 6. Εφαρμογή (PowerPoint, Είναι, Ενεργή)

• 7. Εφαρμογή (MP3 Player, Είναι, Ενεργή)

Εννοιολογικά γραφήματα:

Πχ.

• [Person]¬(Betw)- ¬1-[Rock] ¬2-[Place]®(Attr)®[Hard].

Ένα άτομο είναι μεταξύ μίας πέτρας και ενός σκληρού αντικειμένου

Passive και Active Context – Awareness

Δεδομένου ότι η έννοια της επίγνωσης πλαισίου θεσπίστηκε με το Schilit, αρκετοί ορισμοί έχουν διατυπωθεί που περιγράφουν τα διαφορετικά επίπεδα διαδραστικότητας. Ο Cheverst για παράδειγμα, εξετάζει κατά πόσον οι πληροφορίες θα πρέπει να ωθούνται προς το χρήστη ή ο χρήστης θα πρέπει να αφεθεί να ανακτήσει τις πληροφορίες από μόνος τους, ενώ άλλοι ερευνητές θεωρούν ότι μόνο όταν οι εφαρμογές στις οποίες η πληροφορία καταχωρείται (και όχι να ανακτάται χειροκίνητα) πρέπει να ονομάζονται επίγνωσης πλαισίου. Ως ορισμός πιστεύω ότι πρέπει να κρατήσουμε εκείνον, των Chen και Kotz; που αναγνωρίζει την ενεργητική και παθητική διαφοροποίηση στις εν λόγω εφαρμογές. Το ενεργό πλαίσιο επίγνωσης λοιπόν (Active context awareness) περιγράφει εφαρμογές που βασίζονται σε δεδομένα από αισθητήρες που αλλάζουν το περιεχόμενο των εφαρμογών αυτόματα, με βάση τα δεδομένα που ανακτώνται, ενώ στο παθητικό πλαίσιο επίγνωσης, απλώς υποβάλλονται αιτήσεις προς ενημέρωση του χρήστη και εκείνος προσδιορίζει κατά βούληση τον τρόπο με τον οποίο η εφαρμογή θα αλληλεπιδρά μαζί του. Ένα απλό παράδειγμα μίας εφαρμογής ενεργού πλαισίου είναι ,όταν το κινητό τηλέφωνο αλλάζει την ώρα αυτόματα αν ο χρήστης εισέλθει σε μια νέα ζώνη ώρας. Στην αντίστοιχη παθητική έκδοση, το κινητό τηλέφωνο ειδοποιεί τον χρήστη με πληροφορίες που σχετίζονται με την αλλαγή της ώρας

Sensing –> Data Fusion –> Action

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

 

Enjoy

Posted: Παρασκευή, 16 Ιανουαρίου 2009 1:40 πμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Qualified for the 2nd round at Microsoft's "Sparks will Fly | 2009" Challenge

This contest wasn't an early notice for me, but a true 10 hour challenge, as I had only found about it in Wednesday's morning, when I checked my mails and rss feeds and accidentialy saw some advertisements. The excitement was immediately smashed, as I had seen the competition clock at the upper right corner of the page, ticking 16 hours away from the deadline. In addition to this, I had a 6-hour class (Wednesday morning), so I went to attend it, thinking all morning about the architecture of a home automation application. When I got back, I prepared the concept. Then I couldn't abandon my rest responsibilities on such short notice, so I had to participate in a team activity regarding an MSc project in Software Engineering class. So when this was over, I started writing the proposal (the competition's deliverable). 3-4 hours before the clock showed 00:00:01, I had uploaded my entry feeling already a winner as I had achieved something very nice from my point of view. 

However just a few hours ago, I learned that I was one of the Round 1 winners

Check my entry here: [link]

I hope to go well on the next round too. 

 

Posted: Σάββατο, 10 Ιανουαρίου 2009 7:41 πμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία: ,

Βιβλιογραφική έρευνα με το Zotero

Εδώ και ένα χρόνο έχω κατεβάσει το Zotero, ένα plugin για τον Firefox (και σε άλλους) που είναι απλά μοναδικό και είμαι σίγουρος ότι καθώς περνάει ο καιρός θα γίνει ακόμα πιο αναγκαίο για την ακαδημαϊκή ζωή μου στον τομέα της έρευνας. Ο περισσότερος χρόνος όταν ερευνούμε σε διάφορες βιβλιογραφικές πηγές, φεύγει στην κατηγοριοποίηση των πηγών, στην σύνταξη βιβλιογραφίας και στην οργάνωση των παραπομπών στο κείμενο μας (είτε αυτό είναι Word είτε σε LaTex). Το εν λόγω εργαλείο κάνει integrate στον browser και κάθε φορά που είμαστε σε σελίδα που έχει κάποια πληροφορία (όπως δημοσίευση, βιβλίο στο amazon, καταχώρηση στο scholar.google.com, Journal σε κάποια βιβλιοθήκη κτλ)  το αντιλαμβάνεται και σου δίνει την δυνατότητα να το σώσεις σε συλλογή ενδιφέροντος. Για παράδειγμα στην φωτογραφία βλέπουμε ότι όταν ο χρήστης μπαίνει σε μία βιβλιοθήκη με την αντίστοιχη λειτουργικότητα (σχεδόν όλες οι ηλεκτρονικές βιβλιοθήκες και πάρα πολλές άλλες), εμφανίζεται το εικονίδιό στην address bar και σώζεται το αντικείμενο με πολλές πληροφορίες σχετικά με αυτό.

Το πιο σημαντικό κατά την γνώμη μου είναι ότι κάνει integrate σε word και openoffice (και latex κατεξοχήν). Έτσι εκεί που γράφεις κείμενο (στο word στην προκείμένη περίπτωση), πηγαίνοντας στο αντίστοιχο menu και επιλέγοντας το insert citation σου πετάει παραθυράκι με τις παραπομπές που έχεις σώσει στον Firefox και σου προσθέτει την καταχώρηση που θα επιλέξεις στο έγγραφο σε ότι bibliography format θες (εγώ χρησιμοποιώ το IEEE). Αυτά δεν είναι απλά κείμενο αλλά elements του Word κανονικά, οπότε αυτόματα με το βάζουμε ένα citation προστίθεται και στην λίστα με την βιβλιογραφία.

image

 

Χαιρετώ!

Posted: Τετάρτη, 31 Δεκεμβρίου 2008 4:23 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Ισοκράτης (436 π.Χ-338 π.Χ.)

Ισοκράτης (436 π.Χ-338 π.Χ.)

«Η Δημοκρατία μας αυτοκαταστρέφεται
διότι κατεχράσθη το δικαίωμα
της ελευθερίας και της ισότητας,
διότι έμαθε τους πολίτες
να θεωρούν την αυθάδεια ως δικαίωμα,
την παρανομία ως ελευθερία,
την αναίδεια του λόγου ως ισότητα
και την αναρχία ως ευδαιμονία..»

Ως πότε ακόμα.....;

 

Δωρεάν βιβλίο για C#

O Rob Miles, καθηγητής στο πανεπιστήμιο του Hull και εθισμένος στο .NET Compact Framework, έδωσε στο κοινό ένα από τα βιβλία του (σημειώσεις για την σχολή) σε C# δωρεάν. Το κάλεσε «κίτρινο βιβλίο», δεδομένου ότι είναι δομημένο όπως ένα κανονικό βιβλίο με κίτρινο εξώφυλλο, και το κατέστησε διαθέσιμο από το www.csharpcourse.com.

Το βιβλίο περιέχει 185 σελίδες και καλύπτει τα πάντα, από το πώς κάποιος να αρχίσει με C# έως πώς να δημιουργήσει user interfaces.

Μπορείτε να το κατεβάσετε από το site του εδώ: Rob Miles CSharp Yellow Book 2008.pdf

Posted: Κυριακή, 16 Νοεμβρίου 2008 11:42 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Winning at TechEd 2008

This year TechEd had a surprise for me... Playing in a game at the speaker idol booth I got to win a brand new HTC mobile phone. Luckily (or not this depends on how you look at it ;-) there were a couple of my fellow delegates around to capture this in camera. So to be even more embarrassed here I am winning the HTC…

Διαβάστε περισσότερα »

TechEd 2008 Day 1

Last year I used photos to capture the event and although these were great pictures they didn’t actually capture the event vibe so this year I’ve decided that I wouldn’t take any pictures. Instead I brought my video camera with me and decided to get everyone in. So here it is first day’s video. I hope that I’ll find some time later on to give you my opinion of TechEd first day till

Διαβάστε περισσότερα »

TechED Developers, Barcelona 10-14/Nov

In less than a couple of weeks until the ultimate trip. Several tasks to complete in time, before flying to Barca, but the anticipation is growing rapidly (in a good manner)!!! I will keep you posted with details via blog posts and my twitter too. Photographs and other material will be posted at location that will be announced later (looking forward to a more centralized correspondence

Διαβάστε περισσότερα »

Posted: Τρίτη, 28 Οκτωβρίου 2008 7:44 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Windows Vista virtual flame

Μέσα σε εξεταστική δεν έχω και πολύ περιθώριο να bloggaro πράγματα που μου τραβούν την προσοχή (επιστημονικά ή μη) αλλά ήθελα οπωσδήποτε να δείξω κάτι χωρίς ιδιαίτερο νόημα εν γένει. Ο λόγος είναι ότι πριν λίγο έφτασα στα πρόθυρα τσακωμού με γνωστό φανατισμένο anti – ms – vista – everyday – figure γνωστό μου και απλά ήθελα να πω πως ως φοιτητής πληροφορικής, συνεχώς και αδιαλείπτως, βάζω βγάζω προγράμματα, χρησιμοποιώ κατα καιρούς για εργασίες από Matlab, Eclipse, Latex, Dreamweaver + τα περισσότερα της MS (development & rest), opengl development, rendering, βλέπω ταινίες, τραγούδια, IM, sychronization με διάφορα, p2p, svn, team system, παιχνίδια, πολλά παιχνίδια, uninstall και μετά πάλι άλλα, system utilities κτλ και ποτέ μα ποτέ δεν χρειάστηκε να κάνω format από την πρώτη μέρα εγκατάστασης. Πρόσφατα διάβαζα για snmp και έβαλα ότι SNMP Tree Browser utilities βρήκα και τα έκανα όλα χάλια. Με ένα system restore ούτε γάτα ούτε ζημιά. Το σύστημα ακμαίο και συνεχίζω ακάθεκτος. Χωρίς κανένα antivirus, μόνο με το windows firewall, περιηγήσεις σε warez sites για tv-shows κτλ, UAC always on και κανένα πρόβλημα. Για να μην πούμε για το windows media extender + xbox που μπορείς απλά να έχεις ένα full home entertainment μόνο από ένα pc.

Δεν διαφωνώ ότι τα *nix variants ταιριάζουν γάντι σε μερικές περιπτώσεις, απλά ηρεμίστε μία για αλλαγή και καλύτερα επιχειρήματα άλλη φορά pls…

image

Posted: Πέμπτη, 4 Σεπτεμβρίου 2008 7:04 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Το Photosynth είναι επιτέλους εδώ!

Το photosynth είναι εδώ. Το ακούγαμε για αρκετούς μήνες και βλέπαμε τα demos αλλά επι τέλους άνοιξε τις πύλες του στις μαγικές απεικονίσεις φωτογραφίας. Το site από χτες που άνοιξε έχει λάβει άπειρες αιτήσεις και τις τελευταίες ώρες, όμως, γύρισε σε static mode όπως αναφέρουν στο blog τους.

Παρόλα αυτά μπορείτε να κατεβάσετε τον viewer και να περιμένετε μέχρι να ξανανοίξουν. Είμαστε τυχεροί όσοι το προλάβαμε πριν το κλείσουν λόγο φόρτου. Χεχεχε. Μέχρι να ξαναλειτουργήσει ορίστε ένα screenshot και ένα video από την ομάδα του channel 10 για να πάρετε μία γεύση.

 


View Video
Format: wmv
Duration:

Posted: Παρασκευή, 22 Αυγούστου 2008 1:31 πμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Αγαπημένες σειρές

(σε απάντηση στο post του φίλου Μανόλη από το blog του)

Οι παρακάτω σειρές είναι μερικές από εκείνες θα παρακολουθώ την ερχόμενη τηλεοπτική χρονιά. Μπήκαν σε λίστα αναμονής στο μtorrent και όποτε έχω χρόνο και όρεξη θα βλέπω και ένα batch. Στο τέλος του post θα δείξω τι εννοώ.

The Big Bang Theory

image

Californication

image

Chuck

image

Dexter

image

Entourage

image

Fear Itself

image

Flashpoint

image

Gossip Girl

image

Greek

image

Heroes

image

How I met your mother

image

Prison Break

image

Τις παραπάνω σειρές λοιπόν και μερικές ακόμα που ίσως δω κάποια στιγμή, τις έχω καταχωρήσει στον RSS Downloader του μtorrent, έτσι με το που βγαίνουν κατεβαίνουν στο pc και όποτε θέλω να δω κάτι, ανοίγω τον φάκελο να δω τι έχει μέσα :). To rss που χρησιμοποιώ είναι φυσικά εκείνο του eztv. Δοκιμάστε το και εσείς ;)

image

Cheers

Posted: Πέμπτη, 21 Αυγούστου 2008 11:49 πμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Παίζοντας με το Deep Zoom

Πέρσι τέτοιες μέρες ήθελα να φτιάξω ένα στατικό site γρήγορα και εύκολα. Οι σχέσεις μου με web design και web development δεν είναι οι καλύτερες, οπότε και αποφάσισα σήμερα να ξεκινήσω την αναδόμηση του site από πλευράς design και σκεφτόμουν τι μπορώ να προσθέσω ή να αλλάξω. Δύο πράγματα μπορούσα να αλλάξω. Το design και τη gallery φωτογραφιών που υπάρχει στο site. Έτσι σε αυτό το post θα σας δείξω, πως ένας developer μπορεί να προσθέσει μία πολύ όμορφη έκθεση φωτογραφιών στο site του. Χρησιμοποίησα το Deep Zoom Composer της Microsoft το οποίο χρησιμοποιεί την τεχνολογία silverlight. Μερικά από τα κυριότερα παραδείγματα του Deep  Zoom είναι τα παρακάτω, όπου όπως μπορείτε να δείτε, τα αποτελέσματα είναι εντυπωσιακά.

Vertigo :: Deep Zoom Obama :: Hard Rock Memorabilia

Βήμα 1

Κατεβάζουμε και εγκαθιστούμε τον Deep Zoom Composer από το site της Microsoft.

Βήμα 2

Φτιάχνουμε ένα νέο project και το ονομάζουμε όπως θέλουμε. Εγώ το ονόμασα pseudorofes από το ομώνυμο site στο οποίο θα το χρησιμοποιήσω.

 

 

 

 

 

 

image

Βήμα 3

Προσθέτουμε όσες φωτογραφίες θέλουμε από το πλήκτρο add image πάνω δεξιά και όταν λέμε “όσες θέλουμε” το εννοούμε ;) Όταν τελειώσουμε πατάμε το Compose στο μενού πάνω από την φωτογραφία.

image

Βήμα 4

Εδώ είναι το διασκεδαστικό κομμάτι. Έχετε στην κεντρική εικόνα, το περιβάλλον εργασίας και δεξιά τις φωτογραφίες. Με drag n drop και μερικές απλές κινήσεις μπορείτε να φτιάξετε ότι θέλετε, να μετασχηματίσετε τις φωτογραφίες όπως θέλετε και σε ότι μεγέθη χρειάζεστε. Μην ανησυχήσετε για την ευκρίνεια. Θα δείτε στο τέλος ότι όλες οι φωτογραφίες φαίνονται τέλεια όταν γίνεται zoom πάνω τους (that’s y και Deep Zoom). To περιβάλλον είναι ξεκούραστο, έχει στηλοθέτες και λοιπα βοηθήματα που κάνουν την τοποθέτηση φωτογραφιών πραγματικό παιχνίδι, σαν κολλάζ χωρίς κόλλα, ψαλίδια και χάρακες. Όταν τελειώσετε πατήστε το export.

 

 

 

 

 

 

 

 

 

 

 

image

Βήμα 5

Εδώ έχετε δύο επιλογές, να φορτώσετε το gallery σε ένα photozoom account ή να πάρετε τον κώδικα που θα γίνει generate και να τον χρησιμοποιήσετε όπως εσείς θέλετε. Διάλεξα να έχω τα images σε png. Επίσης διάλεξα να δω και το silverlight project και πάτησα export. Περιμένουμε μερική ώρα μέχρι να τελειώσει η επεξεργασία και μετά μπορούμε να συνεχίσουμε.

image

Βήμα 6

Έχοντας έτοιμα τα αρχεία του silverlight μπορούμε να τα χρησιμοποιήσουμε όπως θέλουμε. Φόρτωσα στον server μου όλα τα αρχεία και το μόνο που έκανα ήτα να taggaro το object μέσα στο html μου. Σε αυτό το σημείο χρησιμοποίησα το Microsoft Expression Web 2 (το οποίο είναι φανταστικό) και έγραψα απλά το παρακάτω:

image

image

Το πρόγραμμα είναι σε silverlight οπότε δεν σας ενδιαφέρει αν έχετε apache, iis, php, asp, firefox, IE etc etc. Είναι Silverlight το οποίο τρέχει στον client και αν δεν υπάρχει το redistributable απλά το κατεβάζει και το εγκαθιστά ο χρήστης. Το αποτέλεσμα ήταν πολύ ωραίο όπως μπορείτε να δείτε και μόνοι σας. Τώρα μένει το lifting για όλο το υπόλοιπο site :P:P:P hehehe…

http://www.pseudorofes.gr/previous_work.htm

Cheers

Posted: Τρίτη, 19 Αυγούστου 2008 4:35 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία: ,

Αυθεντικά προϊόντα διάνοιας

Σχετικά με τα πειρατικά, τις τιμές των αυθεντικών και την αγορά γενικά αυθεντικού λογισμικού είχα πάντα μία "προκλητική" άποψη και ποτέ δεν κατάλαβα γιατί οι περισσότεροι διαφωνούσαν μαζί μου. Το θέμα είναι ότι το προϊόν διάνοιας μέχρι να φτάσει στο γραφείο μας, περνάει από 40 κύματα, κάθε ένα από τα οποία, θα ταράξει κατιτίς και την τσέπη μας. Εξαρχής λοιπόν ξεκαθαρίζω, ότι δεν είμαι άνθρωπος που ρέει το χρήμα, ούτε χτυπάω παλαμάκια και πέφτουν τα πενηντάρικα στο χέρι... Είμαι απλά πελάτης αυθεντικού software γιατί θεωρώ ότι το αντίστοιχο revenue που μου επιστρέφεται (υλικό + ηθικό) είναι αντάξιο των χρημάτων που αποδίδω. Από λειτουργικά συστήματα μέχρι παιχνίδια σχεδόν όλα φρόντιζα να τα έχω αυθεντικά, με αγορές όμως έξυπνες και συμφέρουσες. Όταν δε, δεν έβρισκα κάτι που να αντέξει η τσέπη μου κοιτούσα άλλης κατηγορίας λύσεις όπως open source.

Προγράμματα

Καθώς περνούν τα χρόνια και έχοντας εμπλακεί σε ακαδημαϊκούς κύκλους έχω διαμορφώσει ακόμα μια πιο ισχυρή άποψη σε αυτό το θέμα, επεκτείνοντάς την και με λύσεις που δεν εμπλέκουν μόνο χρήματα. Όταν θελήσετε να αγοράσετε ένα software εξετάστε όλες τις περιπτώσεις. Δείτε την ιδιότητά σας. Αν είστε φοιτητής έχετε πάρα πολλά οφέλη. Οι εταιρίες δεν θα βγάλουν από εσάς, οπότε δεν θα κοιτάξουν να πάρουν από εσάς χρήματα. Μεγάλα ονόματα όπως Microsoft, Oracle, Adobe, Mathwork κτλ έχουν λύσεις για φοιτητές. Δείτε τις επιλογές σας και ψάξτε καλύτερα γιατί ίσως υπάρχει κάποιο παράθυρο που να σας εξυπηρετεί και εσάς και την τσέπη σας, γιατί αγοράζοντας το software δεν παίρνετε απλά το binary σε ένα ψηφιακό μέσο. Αγοράζετε το δικαίωμα χρήσης, το documentation, την υποστήριξη κτλ. Παρακάτω θα γράψω μερικά παραδείγματα από προσωπικές εμπειρίες και πώς δρούσα κάθε φορά. Όταν δεν είχα χρήματα για XP Prof, κατέφυγα στην λύση του home edition. Όταν χρειάστηκα office αγόρασα το student pack με αρκετές 100άδες ευρώ μειωμένη τιμή. Μερικές εγκυκλοπαίδειες, antivirus και λοιπά, πάντα προσπαθούσα να τα βρω στην πιο συμφέρουσα λύση και εκείνη που θα ταιριάζει στις ανάγκες μου. Ειδικά από τότε που πέρασα στο Πανεπιστήμιο Αθηνών, τμήμα Πληροφορικής, ή άποψη αυτή ενισχύθηκε ακόμα περισσότερο. Θυμάμαι μία φορά που ήθελα ολοκληρωμένο πακέτο linux είχα αγοράσει το suse το απλό. Ένιωθα πλήρης με καλυμμένες ανάγκες, είχα αποδώσει την αξία στον "προγραμματιστή", είχα το support και το documentation (χωρίς να χρειαστεί να αγοράσω κάτι extra). Δεν ήμουν υποχρεωμένος βέβαια καθώς κάποια distro's τα έβρισκα free, αλλά ως junior είχα ανάγκη από τα περιφεριακά οφέλη (τότε δεν υπήρχε το ubuntu και τα πράγματα ήταν πιο ζόρικα).

Παιχνίδια

Ο λόγος που κάνω αυτό το μικρό post σήμερα είναι που έκανα μία αγορά ενός παιχνιδιού, ως αποτέλεσμα μιας βόλτα στο κέντρο. Δεν ξέρετε πόσο χάρηκα που πήρα το Need for Speed Pro Street από τον Παπασωτηρίου με 14.99. Από 47 ευρώ μέσα σε μία νύχτα 15 ευρώ. Έπρεπε να τρέξω να το πάρω από την πρώτη στιγμή; Όχι... Με πείραξε κάτι που θα το παίξω 10 μήνες αργότερα; Αν πάτε στον μεσαίο Παπασωτηρίου/Στουρνάρα-όπως είναι το σωστό κατά PC-Master Αυγούστου (αυτόν απέναντι από Γερμανό) στον πάνω όροφο, έχει καταπληκτικά παιχνίδια ενός και δύο ετών σε τιμή 9 ευρώ κτλ. Best Seller ενός και δύο ετών νομίζετε δεν είναι state of the art στον τομέα της διασκέδασης με ηλεκτρονικά παιχνίδια μέχρι σήμερα; Αν καθυστερήσετε να πάρετε το Crysis ένα έτος, μόνο καλό θα βγει από αυτήν την διαδικασία. Χαμηλότερη τιμή στο παιχνίδι, ίσως να έχετε υπολογιστή που να το τρέχει άνετα ενώ με το παλιό σας pc ούτε που να το φανταζόσασταν (αν κάνατε κάποια αναβάθμιση μέσα σε ένα έτος βέβαια).

Βιβλία

Αρκετά συχνά ψάχνω στο Internet να βρω βιβλία που με ενδιαφέρουν. Ομολογώ ότι δεν περιορίζομαι με αναζητήσεις στο amazon αλλά κατεβάζω και ebooks. Κάθε φορά όμως που έβρισκα κάτι που με τρέλαινε το αγόραζα. Δεν το έκανα όμως χωρίς έρευνα. Ιντερνετ stores, ελληνικά καταστήματα και ebay όπου μπορείτε να βρείτε υπεράριθμα χρησιμοποιημένα βιβλία (σε άριστη κατάσταση) είναι οι κύριες επιλογές που έρχονται στο θέμα της αγοράς βιβλίου.

Με όλα αυτά θέλω να πω ότι υπάρχει η δύναμη να καθορίσουμε τις τιμές χωρίς να προκαλούμε πλήγμα στην βιομηχανία λογισμικού (or else). Ειδικά όταν το επάγγελμα είναι προγραμματιστής, τότε το πιο πιθανό είναι να γυρίσει το αρνητικό κλίμα μπούμερανγκ πίσω στην τσέπη μας...όχι ως πελάτη, αλλά ως εργαζόμενος.

 

 

Posted: Σάββατο, 26 Ιουλίου 2008 4:39 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

1η Πανελλήνια συνάντηση των Game Developers (+παρουσίαση μου στο XNA)

Μόλις γύρισα από την πρώτη συνάντηση Ελλήνων game developers που έγινε στην Microsoft Hellas (ή όπως προτιμούσαν μερικοί, το πρώτο Greek Summit για Game Developers). Θα πω ένα μεγάλο μπράβο στα παιδιά που το οργάνωσαν και στον κόσμο που ήταν παρών! Είδαμε αρκετά έργα εταιριών και ατομικά project παιδιών. Η ημέρα ήταν χωρισμένη σε δύο μέρη, στις παρουσιάσεις και στην συζήτηση για το μέλλον της κοινότητάς μας.

IMG_0736 Στο πρώτο μέρος γνωρίσαμε ανθρώπους που έχουν πολλά χρόνια στον χώρο, μοιραστήκαμε τις εμπειρίες μας, μάθαμε πράγματα για την πραγματικότητα του προγραμματισμού παιχνιδιών στην χώρα μας και συζητήσαμε  πως θα γίνει αυτή η πρώτη προσπάθεια η αρχή για να συγκροτήσουμε έναν πυρήνα και μία ενιαία αντιπροσωπευτική και νομική υπόσταση ως επαγγελματίες προγραμματιστές παιχνιδιών. Ήταν μία πάρα πολύ γεμάτη και έντονη μέρα αλλά αποζημίωσε στο 100% τον χρόνο που επενδύσαμε σήμερα. Δώσανε αρκετές εταιρίες το παρών όπως (icehole, SDS, Epicon, Adventure Destiny, Anima, Games2Gaze, TCF/Ge.Mi, η ομάδα του Λύσις, η adventurine,..). IMG_0753 Η οργάνωση πολύ καλή και από θέμα τεχνικό, νομίζω ξεπεράσαμε τις όποιες δυσκολίες προέκυψαν σε θέματα ήχου, βίντεο κτλ.

Μια δευτερεύουσα  δυναμική, που είχε  η πρώτη συνάντηση που πραγματοποιήθηκε σήμερα, ήταν αυτή που έλαβε μέρος στους διαδρόμους στα breaks, η οποία ήταν εξίσου σημαντική με τις παρουσιάσεις. Εκεί γνωρίσαμε πραγματικά τους συν-εκφραστές του κλάδου αυτού στην Ελλάδα. Στην εικόνα δεξιά βλέπουμε αυτό ακριβώς το θέμα, όπως αποτυπωνόταν έξω από την αίθουσα της συνάντησης.  Τέλος το πρώτο μέρος της παρουσίασης, καθώς μου είχε ζητηθεί από αρκετούς, έκλεισε με μία σύντομη αναφορά που έκανα στο XNA Game Development Framework (link παρουσίασης), από τι αποτελείται, τι θα προσφέρει στον χώρο του IMG_0740 game development, τι σου μαθαίνει και τι προδιαγραφών παιχνίδια μπορεί να φτιάξει κάποιος για Windows και ΧΒΟΧ 360. Ήταν μεγάλη μου χαρά που μου δόθηκε η ευκαιρία να μοιραστώ, τον ενθουσιασμό μου με τους ανθρώπους που ήταν εκεί.

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

Σας παραθέτω μερικές ακόμα φωτογραφίες για να πάρετε μια γεύση (από αυτές που αποτυπώθηκαν από τον δικό μου φακό :P)  πριν πάρετε το πλήρες footage από σήμερα, όπως και όλο το υλικό (παρουσιάσεις, videos) που θα γίνουν διαθέσιμα από μέρα σε μέρα για να μπορούν να τα δουν όλοι, σε τοποθεσία που θα ανακοινωθεί και από το blog και στο forum μας.

 

IMG_0738 IMG_0750

Happy Coding Joyful Game Developers,

Άγγελος Μπιμπούδης

Posted: Σάββατο, 21 Ιουνίου 2008 8:26 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία: ,

Αφελής προσέγγιση σε θέμα υποδομής για game development

Αυτές τις μέρες ασχολήθηκα με μία εργασία για τα Γραφικά 2,  από το πανεπιστήμιο. Προσοχή, ακολουθούν αφελείς σκέψεις - NSFW :P

H εργασία αφορούσε Ambient Occlusion σε FFP (όχι SSAO / programmable aka shaders).  Αυτός ο αλγόριθμος αφορά σε γενικές γραμμές τον υπολογισμό του ποσού ακτινοβολίας που δέχεται μία ακμή, δηλαδή το πόσο ορατό είναι το σημείο τοπικά ώστε να ξέρουμε αν και πόση ακτινοβολία μπορεί να δεχτεί (στην ουσία να εκπέμψει στο μάτι μας ;) ). Με λίγα λόγια, είναι ένα αποδοτικό μοντέλο για να δίνουμε ρεαλισμό στην φωτεινότητα της σκηνής μας. Υπάρχουν τεχνικές που το κάνουν real time αλλά εν γένει η θεωρία είχε όπως περιέγραψα. 

Η εργασία είναι να παρουσιάσω ένα heightmap των 128 x 128 pixels το οποίο θα έχω επεξεργαστεί με τον κλασσικό αλγόριθμο. Για κάθε ακμή, πρέπει να εξετάσω για όλες τις ακτίνες σφαιρικά (μικρός αριθμός samples) ποιες τέμνονται από άλλα τριγωνάκια, πράγμα που σημαίνει ότι χρειάζονται έλεγχοι για όλα παραπάνω. Προφανώς και μπορεί να περιοριστεί η πολυπλοκότητα του αλγορίθμου, περιορίζοντας τον χώρο, περιορίζοντας τις ακμές και πολλά άλλα. Στην δική μας περίπτωση όμως για να προυπολογιστούν όλα με old-school αλγόριθμο, για το παραπάνω heightmap, χρειάζομαι 20 λεπτά (και αυτό με μικρό samples-ακτινών). Επαναλαμβάνω πως η πολυπλοκότητα μπορεί να μειωθεί σε O(m*n) ακόμα και σε O(m*logn) αλλά δεν είναι το θέμα μας εδώ. Όταν έχω τεράστιο αριθμό πολυγώνων και θέλω να κάνω δοκιμές σε μοντέλα και το πως κάθεται ο φωτισμός που προγραμμάτισα πάνω σε αυτά τότε τι κάνω; Αν έχω σκοπό να κάνω precomputing techniques τότε το rendering ακόμα και με βελτιστοποιήσεις θα είναι μια απίστευτη διαδικασία. Γίνεται μία φορά, αποθηκεύεται, αλλά μέχρι να φτάσουμε σε αυτό το σημείο πόσες 10άδες ώρες πρέπει να περάσουν για να πάρω αποτέλεσμα;

Και φυσικά δεν είναι μόνο αυτό το θέμα, καθώς έστω ότι είσαι μια μικρή εταιρία, έστω ότι φτιάχνεις μια μικρή υποδομή με queues και αφήνεις τα jobs να τρέχουν για μερικές ώρες. Φαντάζομαι όμως ότι αν θες να κάνεις ένα σωστό παιχνίδι, θα πρέπει να έχεις κάτι πιο εξειδικευμένο από αυτό. Αν θες να έχεις prerendered videos θα πρέπει να έχεις μια σοβαρή υποδομή render farm. Στην Ελλάδα πώς αντιμετωπίζεται το θέμα; Οι εταιρείες που ασχολούνται με την περιοχή ανάπτυξης βιντεοπαιχνιδιών, τι έχουν στην διάθεσή τους;Υπάρχουν εταιρείες που έχουν την δυνατότητα να προγραμματίσουν κάτι τέτοιο, ή έστω να επενδύσουν στο outsourcing;

Αρκετές απορίες μαζεύονται για το meeting του Σαββάτου και δεν ξέρω τι να πρωτορωτήσω!!

Μέχρι τότε θα ήθελα να μοιραστώ μαζί σας ένα λάθος που είχα κάνει σε έναν iterator (+=3) και το τι αποτέλεσμα έβγαλε!!!! Ήταν η πρώτη φορά στην ζωή μου, που διαδικασία debugging έγινε τέχνη!!!!!


 

Posted: Τετάρτη, 18 Ιουνίου 2008 9:21 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Η Havok Physics Engine είναι επιτέλους εδώ!!!

Great news σήμερα, για την κοινότητα των game developers. Η γνωστή μηχανή φυσικής, Havok είναι επιτέλους δωρεάν διαθέσιμη με μερικά restrictions (General Information pages). Κατεβάζετε δύο αρχεία τα οποία περιέχουν sdk για το content pipeline για physics και animations. Τα πακέτα περιέχουν Havok SDK libraries, samples και technical documentation.  Have fun!!!!!! 


Posted: Κυριακή, 1 Ιουνίου 2008 8:12 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Microsoft Source Analysis για C#

 

Ένα νέο προϊόν στην οικογένεια εργαλείων της ms (όχι τόσο καινούριο ως ιδέα δλδ (βλ. Microsoft Code Analysis) , απλά αναφέρεται σε διαφορετική φάση του προγραμματισμού). To source analysis εξετάζει τον πηγαίο κώδικα και κοιτάζει να βρεί λάθη στο σχεδιασμό της εφαρμογής από πλευράς layout, name convention και πολλά άλλα. Όπως ξέρουμε σε συνεργατικό προγραμματισμό, τέτοια θέματα κρύβουν άπειρα εν δυνάμει προγραμματιστικά λάθη και αυτά ακριβώς προσπαθεί να αποτρέψει αυτό το εργαλείο. 

  • Layout of elements, statements, expressions, and query clauses
  • Placement of curly brackets, parenthesis, square brackets, etc
  • Spacing around keywords and operator symbols
  • Line spacing
  • Placement of method parameters within method declarations or method calls
  • Standard ordering of elements within a class
  • Formatting of documentation within element headers and file headers
  • Naming of elements, fields and variables
  • Use of the built-in types
  • Use of access modifiers
  • Allowed contents of files
  • Debugging text

Είναι πολύ εύκολο στην εγκατάσταση και δείτε ένα από τα πρώτα πργράμματά μου σε C# (πέρσυ, που η μόνη μου εμπειρία ήταν η C++)...φαίνεται από τα errors του source analysis άλλωστε .... :P:P:P


 

Posted: Παρασκευή, 23 Μαΐου 2008 11:52 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Βιομηχανία Game Development....εν Eλλάδι...

 

...και για να δούμε τι μπορούμε να κάνουμε στον τομέα αυτό, θα πρέπει να μελετήσουμε παραδείγματα από χώρες που έχουν μια πολύ καλά θεμελιωμένη βιομηχανία και ποια ήταν η συνταγή της επιτυχίας. Στην Ελλάδα έχουμε μια πολύ μικρή μυρωδιά από οργανωμένη προσπάθεια από εταιρίες (κάντε ένα commente αν θέλετε να προσθέσετε κάποια που παρέλειψα) όπως τις 

Έμπνευση για τα παρακάτω αποτελούν δύο άρθρα που διάβασα, ένα για την πολιτεία της Georgia και ένα για την πόλη της Νέας Υόρκης, σχετικά με την θέση τους στο home entertainment και ειδικότερα του game development. Το game development υπάρχει εδώ και 30 χρόνια. Μόνο τα τελευταία 10 όμως έχει γίνει ένας χώρος εκατομμυρίων δολλαρίων, ο οποίος μάλιστα μπήκε και σε κάθε σπίτι. Τεχνολογικά (και εγκυκλοπαιδικά αυτό συνέπεψε με την ανάπτυξη των video games consoles + προγραμματιστικά με την ανάπτυξη των καρτών γραφικών στον τομέα της προγραμματιζόμενης διοχέτευσης).

Ποιοί τομείς χρειάζονται για ένα καλό ξεκίνημα;

Όπως γνωρίζετε το να φτιαχτεί ένα παιχνίδι διεθνών προδιαγραφών δεν είναι εύκολη υπόθεση. Απαιτεί την σύμπραξη πολλών επιστημών, πολλών τεχνών πράγμα που σημαίνει αφοσίωση, συνεργασία και φυσικά εταιρική υπόσταση. Ας δούμε ποιό θα ήταν το "pool" εργαζομένων για ένα τέτοιο εγχείρημα. Καταρχάς χρειάζεται να επιστρατευτούν τα μεγαλύτερα και δημιουργικότερα μυαλά στον χώρο της κινηματογραφίας, των media και των εκδοτικών εταιριών, δηλαδή από τομείς που έχουν εμπειρία στο brainstorming, στην προβολή για διασκέδαση, στο λογοτεχνικό design και στο σχεδιαστικό. Αρχίζουμε δηλαδή από αυτά που έχουμε. Στην συνέχεια θα χρειαστούν προγραμματιστές. Ο αριθμός των προγραμματιστών είναι σαφώς πολύ πιο μικρός από των υπολοίπων συντελεστών. Τι γίνεται εδώ όμως μιας και που δεν υπάρχουν επαγγελματίες προγραμματιστές παιχνιδιών; Εδώ φυσικά θα έρθουν να πρωτοστατήσουν προγραμματιστές που έχουν ήδη κάποια εμπειρία στον τομέα είτε με ανεξάρτηση ενασχόληση, είτε γιατί η εμπειρία τους προέρχεται από την εργασία τους σε μικρές εταιρίες που ασχολούνται, εκτός των άλλων, και με casual games πολύ πολύ μικρής κλίμακας. Ένα από τα κέντρα της βιομηχανίας, η Νέα Υόρκη, κάπως έτσι ξεκίνησε και σήμερα βρίσκεται στο top ten των περιοχών με βιομηχανία game development.

“If you look back five or six years ago, there wasn’t that much going on in New York. There were casual game companies just getting their feet wet. A lot of the big studios that are very successful now weren’t even in existence,” γράφει ο Coray Seifert, associate producer στα Kaos Studios.

Διαβάζοντας παρόλα αυτά, για την συγκεκριμένη βιομηχανία των πρωτοστατούντων χωρών, διαβλέπω ότι υπάρχει ένα γενικότερο πρόβλημα στους επαγγελματίες προγραμματιστές παιχνιδιών. Όπως αναφέρεται σε έρευνες: σχεδιαστές, υπάρχουν. Εκπαιδευμένοι και έμπειροι προγραμματιστές δεν υπάρχουν. Τι σημαίνει όμως προγραμματιστής παιχνιδιών; Τι πρέπει να γνωρίζει ένας τέτοιος επαγγελματίας;

Το προφίλ του προγραμματιστή.

Ρωτήστε κάποιον γνωστό σας που έχει κάποια ιδέα πάνω στο αντικείμενο και έχει δουλέψει τουλάχιστον σε μία ομάδα ανάπτυξης. Τι χρειάζεται για να φτιάξεις ένα παιχνίδι; Οπωσδήποτε σχεδιαστές, οπωσδήποτε σεναριογράφους, οπωσδήποτε μουσικούς, παραγωγούς κτλ. Τα παιχνίδι όμως όσο τέχνη και αν είναι, είναι και επιστήμη πράγμα που σημαίνει πως και τους καλύτερους να έχεις διαθέσιμους, αυτοί που θα δώσουν την πνοή του παιχνιδιού, αυτοί που θα σχεδιάσουν την μοναδική μηχανή γραφικών (ή θα διαφοροποιήσουν), πίσω από την οποιαδήποτε 3D-άψυχη-σκηνή είναι οι τεχνικοί εργαζόμενοι, δηλαδή οι game developers. Το game development αποτελεί για μένα έναν χώρο επιστήμης και για να λάβει μια εταιρία πρωταγωνιστικό ρόλο στις διεθνείς εξελίξεις, πρέπει να είναι "επανδρωμένη" με επιστήμονες προγραμματιστές. Ανθρώπους δηλαδή που όχι μόνο ξέρουν να προγραμματίσουν, ή έχουν ένα-δύο παιχνιδάκια στο portofolio τους αλλά εκείνους που έχουν γνώσεις (συχνά, ακαδημαϊκά πιστοποιημένες) μαθηματικών, διανυσματικής ανάλυσης, απειροστικού λογισμού, φυσικής, αρχιτεκτονικής υπολογιστών, γραφικών, δικτύων, τεχνητής νοημοσύνης, επικοινωνίας ανθρώπου μηχανής. Φυσικά δεν γίνεται να είναι αυθεντία σε όλα κάποιος, γιαυτό υπάρχουν και οι ομάδες προγραμματιστών. Παντού χρειάζεται ένας ενορχηστρωτής. Παρόλα αυτά καταλάβατε τι εννοώ όταν λέω προγραμματιστές.

Ακαδημαϊκή εκπαίδευση

Σκεπτόμενος λοιπόν τα παραπάνω, αδυνατώ να πιστέψω ότι αν υπήρχε όρεξη, ενασχόληση και πολλαααααααααα λεφτά θα αρκούσαν για να χτίσουμε σιγά σιγά στην ελληνική βιομηχανία παιχνιδιών. Κατα την γνώμη μου πρέπει τα πανεπιστήμια να παίξουν τον ρόλο τους δυναμικά και οι άνθρωποι των επιστημών να ανοίξουν τους ορίζοντές τους. Να ενταχθούν μαθήματα Ανάπτυξης Ηλεκτρονικών Παιγνίων στο πρόγραμμα σπουδών σε τμήματα πληροφορικής. Υπάρχουν μέγιστα μυαλά, παγκοσμίως αναγνωρισμένα στον χώρο του ο κάθε ένας, στα ελληνικά πανεπιστήμια. Θέλει μια καλή ενημέρωση και ένα καλό syllabus για να φτιαχτούν σιγά σιγά τα πρώτα μαθήματα. Φυσικά δεν μπορείς να πάρεις 3 καθηγητές και να τους βάλεις σε μία κατσαρόλα και να σου βγάλουν το τέλειο πρόγραμμα σπουδών, μαθήματος ανάπτυξης βιντεοπαιχνιδιού. Πιθανότερο είναι να σου βγει ένα πρόγραμμα που θα σου μαθαίνει πως να φτιάξεις παιχνίδι με C++, να χρησιμοποιεί τους καλύτερους και ακριβότερους αλγόριθμους φωτισμού/φωτορεαλισμού με την τεχνητή νοημοσύνη σε prolog και με χαρακτήρες φτιαγμένους με primitives σφαιρών, κύβων κτλ... State of the art επιστήμης αλλά από παιχνίδι θα έιναι ένα πράγμα με 1 frame per second και με fun factor ΜΠΛΙΑΧ :P. Είναι μια διαδικασία που πρέπει να γίνει σε συνεργασία με ανθρώπους που έχουν ασχοληθεί με το αντικείμενο και να του δώσουν ακαδημαϊκή υπόσταση. Ο Nick Fortugno, συνιδρυτής της Rebel Monkey, ένα casual game studio γράφει:

“The technical absence is a big, big deal. If there was a serious [academic] games programming department in New York City, that would be an enormous boost to the game industry. I think that would be the single biggest thing that could happen.”

Παράγοντες του χώρου, στην Νέα Υόρκη αναγνώρισαν πρόσφατα την έλλειψη ακαδημαϊκής υπόστασης. Ήδη έχουν αρχίσει να δημιουργούν τμήματα σχετικά με video games, παρόλα αυτά το πρόβλημα παραμένει. Δίνουν σημασία στην δημιουργική πλευρά του παιχνιδιού και όχι στην τεχνική, πράγμα το οποίο του φέρνει δεύτερους πίσω από κάποια Μέκα του video game programming όπως το Seattle ή την Bay Area.

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

Προτάσεις σε πολιτεία, πανεπιστήμια, εταιρίες και άτομα

  • Εντάξτε τον τομέα της ανάπτυξης παιχνιδιών στο αναπτυξιακό σας πρόγραμμα
  • Κάντε connections με οργανισμούς και συνδέσμους επαγγελματιών developers για ανεύρεση πληροφοριών
  • Παρακολουθείστε online ή offline συνέδρια και τις εξελίξεις
  • Εντάξτε σε πρόγραμμα σπουδών πανεπιστημίου την ανάπτυξη ηλεκτρονικών παιχνιδιών
  • Δημιουργήστε μια κεντρικοποιημένη υπηρεσία / εταιρία management για διαχείριση δυναμικού στο game development.

Μην διστάσετε ποτέ να ασχοληθείτε με αυτό που σας γεμίζει. Ξέρω ότι είστε πολλοί εκεί έξω που θέλετε να ασχοληθείτε με αυτό. Είμαι σίγουρος. Όλοι χρησιμοποιούν compilers και πολλοί παίζουν παιχνίδια...κανέναν που θέλει να φτιάξει compiler, άπειρους να φτιάξουν παιχνίδια... ;)

Resources:

και για όσους έχουν συνδρομή στο healink (συνδρομή ακαδημαϊκής βιβλιοθήκης - με πρόσβαση από IP πανεπιστημίου συνήθως)

Enjoy video game science!

Posted: Σάββατο, 17 Μαΐου 2008 4:26 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία: ,

HP Driver και Office 2007

Πραγματικά δεν ξέρω γιατί η Hewlett Packard και η Microsoft δεν μπορούν να συνεργαστούν σωστά και να βγάλουν σωστούς drivers. Μέχρι πριν μερικές εβδομάδες, μόλις άλλαζα χρώματα στα cells σε ένα φύλλο Excel κράσαρε το Excel....κάθησα έφαγα άπειρες ώρες και τελικά βγάζοντας τον εκτυπωτή μου από προεπιλογή, όλα διορθώθηκαν. Πρόσφατα, αγόρασα έναν άλλον εκτυπωτή, πάλι HP, καινούριος driver και κάθε .doc που άνοιγα κράσαρε το word (όταν έκλεινα το word - run time error). Μία ώρα τώρα ψαχνόμουν σήμερα για να ανακλύψω τι...??? Ότι αν βγάλεις από default τον driver της HP όλα πάνε ρολόι.... Και το χειρότερο είναι ότι το workaround αυτό το κάνουν αρκετοί χρήστες που σημαίνει ότι είναι well - known - bug .... χωρίς μυρωδιά όμως από Driver Update...... Τώρα τι άλλο να πω, απλά δείτε το, όσοι έχετε το πρόβλημα για να μην παιδεύεστε με registry keys και compatibility checks και ας περιμένουμε για νεώτερα...

Posted: Κυριακή, 4 Μαΐου 2008 7:28 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Λαμβάνοντας δεδομένα από αισθητήρες

Έστω ότι έχουμε έναν αισθητήρα, το οποίον αποκαλούμε sensor node.  Αυτός ο αισθητήρας είναι μέρος, ενός ευρύτερου δικτύου αισθητήρων. Έστω τώρα ότι θέλουμε να ανακτήσουμε τα δεδομένα αυτού του αισθητήρα. Έχουν αναπτυχθεί συστήματα τα οποία "βλέπουν" κάθε sensor node σαν μια μικρή πηγή δεδομένων, και το προαναφερόμενο δίκτυο, σαν μια μεγάλη κατανεμημένη βάση δεδομένων. Όταν έχουμε όμως μια κατανεμημένη βάση δεδομένων, μας νοιάζει τι υπάρχει από κάτω; Όχι...κάνουμε SQL queries και απλά ανακτούμε τα αποτελέσματα χωρίς ιδιαίτερη αγωνία για το τι υπάρχει από κάτω. Κάπως έτσι γίνεται και με ένα δίκτυο αισθητήρων.

Ας εξηγήσω πως δουλεύει αυτός ο μηχανισμός. Έστω ότι έχω έναν υπολογιστή και ένα δίκτυο αισθητήρων και θέλω να κάνω ένα query, πώς γίνεται η επικοινωνία με τους αισθητήρες; Ανάμεσα στο δίκτυο και στον υπολογιστή, υπάρχει ένα ειδικός κόμβος-gateway που λειτουργεί ως μεσάζοντας σε αυτήν την επικοινωνία. Στέλνω εγώ μια αίτηση και εκείνος είναι υπεύθυνος να την δρομολογήσει hop-by-hop στο δίκτυο αισθητήρων. Αυτή είναι η φάση της ανάλυσης επερώτησης. Στην συνέχεια έχουμε την ανάκτηση αποτελέσματος η οποία είναι παρόμοια με την πρώτη διαδικασία αλλά σε αντίστροφη πορεία. Τόσο απλό!!!! (εχμ μάλλον δεν είναι τόσο απλό, γιατί κάπου εδώ μπαίνει η επιστήμη. Αυτή η διαδικασία πρέπει να μελετηθεί με μαθηματική ακρίβεια διότι πρέπει να πετύχουμε τη μικρότερη δυνατή κατανάλωση ενέργειας, αλλά λεπτομερής ανάλυση δεν είναι ο σκοπός μου).

Πάμε να πούμε μερικά παραδείγματα επερωτήσεων τώρα. Σε αυτούς λοιπόν τους αισθητήρες, θέλω να κάνω δύο τύπους επερωτήσεων. Κάποιες επερωτήσεις τις κάνω μια φορά (on demand) και κάποιες θέλω να τις κάνω ανα τακτα χρονικά διαστήματα. Η πρώτη κατηγορία είναι απλή και μπορούμε να σκεφτούμε πολλά παραδείγματα. Στην δεύτερη κατηγορία, για παράδειγμα, εμπίπτουν περιβαλλοντολογικές εφαρμογές. Θα θεωρήσουμε ότι έχουμε αισθητήρες θερμοκρασίας, οι οποίοι είναι τοποθετημένοι σε μια δασική έκταση. Για να ελέγχω εγώ αν υπάρχει ένδειξη αύξησης θερμοκρασίας (φωτιά), πρέπει να ελέγχω συνεχώς για μετρήσεις. Πχ σε SQL - like γλώσσα θα είχα κάτι τέτοιο

SELECT sensorId, temperature FROM sensors EVERY 30 sec

Βέβαια από εκεί και πέρα μπορούμε να παίζουμε με τα queries ώστε να παίρνουμε είτε raw data είτε αποτελέσματα με τις MIN, MAX, SUM, COUNT και AVG. Επίσης μπορούμε να παίξουμε με τα events. Αν ανιχνεύαμε φωτιά και θέλαμε να επεξεργαστούμε τα δεδομένα περαιτέρω μπορούσαμε πχ να τρέξουμε κάτι τέτοιο:

ON EVENT ret.temperature > 60 SELECT nodeId, nodeLocation, temperature FROM sensors

Έστω λοιπόν ότι γράψαμε το query μας. Ανάλογα με το τι περιγράφει η επερώτησή μας η προαναφερόμενη gateway αναλαμβάνει να το μεταδώσει καταλλήλως. Αν για παράδειγμα είχαμε και ένα WHERE στο query μας τότε αυτό θα δρομολογηθεί στον συγκεκριμένο κόμβο αντί να είχαμε broadcast (Εδω παίζουν αλγόριθμοι αναζήτησης σε γράφους που είμαι σίγουρος ότι μάθατε σε κάποιο μάθημα πολυπλοκότητας και θεωρούσατε ότι "τι μας τα λένε αυτά τώρα, αφού δεν πρόκειτε να τα χρειαστούμε...".... σιγά σιγά με έκπληξη θα καταλάβετε ότι όλα χρειάζονται :))

Τι γίνεται όμως όταν έχουμε έναν aggregation operator οπως τον SUM...Τότε τα πράγματα δυσκολεύουν. Και αν θέλαμε μέση τιμή από κάποια περιοχή; Τότε τα πράγματα δυσκολεύουν ακόμα πιο πολύ. Οι κόμβοι μεταξύ τους έχουν πληροφορίες για το ποιος είναι ο πατέρας κόμβος, ποια είναι τα παιδιά, ποια είναι τα αδέρφια κτλ. Η πληροφορία πρέπει να ταξιδέψει ανάμεσα από αυτούς τους κόμβους με τα μικρότερα μονοπάτια ανάμεσα στις παραπάνω σχέσεις. Για παράδειγμα. Στην περίπτωση του SUM δείτε το παρακάτω σχηματάκι

A     B     C

D     E     F

G     H     I

Έστω ότι θέλω το άθροισμα των τιμών των A,B,C αισθητήρων και η gateway είναι το G. Δείτε το λίγο.

Αν η αθροιστική πληροφορία πάει από C στο B, μετά C+B στο B και μετά A+B+C στο A και από εκεί στο D και μετά στο G έχουμε μία καλή λύση. Δεν είναι λίγοτερα μηνύματα από το να μεταφέρονταν παράλληλα οι μετρήσεις C->I, B->H , A->G και να άθροιζαν στο επίπεδο G, H, I??

Κάπως έτσι γίνεται η επερώτηση σε ένα δίκτυο αισθητήρων. Βέβαια αν πάω τώρα και πάρω ένα βιβλίο για WSN's (Wireless Sensor Networks) είμαι σίγουρος ότι έκανα την γενίκευση της τάξης των 1500 σελίδων ++... :D Αλλά γενικά, η βασική ιδέα αυτή είναι.

Τώρα για τον προγραμματιστή πραγματική σημασία έχει μόνο το πρώτο στάδιο. Αυτό που κάνει απλές επερωτήσεις στην γλώσσα του δικτύου (για απλά δίκτυα η SQL είναι η πιο κοινά χρησιμοποιούμενη γλώσσα). Οπότε αν έχετε μια εφαρμογή και θέλετε να δοκιμάσετε κάποια δεδομένα από αισθητήρες, πείτε το super duper "Έστω οτι..." και θεωρήστε ότι έχετε μια βάση με πραγματικά δεδομένα.

Enjoy science!

Posted: Παρασκευή, 25 Απριλίου 2008 1:28 πμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Παίζοντας με....αισθητήρες

Διαβάζοντας το Learning from Data Streams: Processing Techniques in Sensor Networks (* springerlink), είδα κατενθουσιασμένος πως στο τελευταίο κεφάλαιο είχε αναφορά στο NXT robot της Lego (Το γνωστό ρομποτάκι που χειριζόμασταν με ενα χειριστήριο XBOX στην dte 2007, στο περίπτερο του stugu). Ο γνωστός τρόπος χειρισμού είναι μέσω του Microsoft Robotics Studio. Από ότι είδα όμως, από την παραπάνω συλλογή από papers, το να ασχολείται κάποιος με τέτοια robotakia είναι η καλύτερη εισαγωγή στο κόσμο των Wireless Sensor Networks.

Στο κεφάλαιο αυτό, λοιπόν, είχε μια περιγραφή στο robot, στον μικροελεγκτή που χρησιμοποιεί, στους διάφορους αισθητήρες που μπορούν να εφαρμοστούν πάνω του και πολλά άλλα. Το Tiny OS που αναφέρει όμως τι είναι; To tinyOS είναι αυτό που μου προκάλεσε το κύριο ενδιαφέρον , καθώς είναι κάτι που το έχω ακούσει μόνο σε περιβάλλοντα κανονικών ασύρματων δικτύων με αισθητήρες και είναι ένα ενσωματωμένο λειτουργικό σύστημα γραμμένο στην nesC. Το tinyOS είναι ανοικτού κώδικα και έτσι σκέφτηκαν ότι, τι καλύτερο να το ενσωματώσουν και σε NXT για εκπαιδευτικούς σκοπούς!!! Έτσι από αυτό το πάντρεμα, της τεχνολογίας του NXT με το TinyOS βγήκε το ΝΧΤΜΟΤΕ.

Και φυσικά το θέμα είναι εντελώς software, το τι θα κάνετε με όλες τις μετρήσεις που θα πέρνεται,αλλά αυτό είναι άλλο κεφάλαιο. 

Enjoy Science Yes

* Τα παραπάνω links, που δείχνουν στην Springerlink είναι προσβάσιμες μόνο μέσω του δικτύου Healink (συνδρομή που έχουν σχεδόν όλα τα Ελληνικά Πανεπιστήμια. Δεν μπορώ να δώσω τα κείμενα αυτά καθεαυτά για λόγους δικαιωμάτων). 


Posted: Τρίτη, 22 Απριλίου 2008 7:47 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:
Περισσότερες Δημοσιεύσεις « Προηγούμενη - Επόμενη »