Coder.gr

Coder.gr

 Στείλτε αυτό το άρ8ρο με ηλεκτρονικό ταχυδρομείο Δείτε το κείμενο προς εκτύπωση 

H Microsoft αντεπιτίθεται (στο Linux)

CODER.gr NewsΣύμφωνα με το ZDNet ("Microsoft s Ballmer steps-up Linux infringement suit rhetoric", http://feeds.feedburner.com/~r/zdnet/BTL/~3/50639257/) η πρόσφατη συμφωνία της Novel και της Sun με την Microsoft έγινε στα πλαίσια συμφωνίας "μη-επίθεσης" από την Microsoft σε αυτές λόγω καταπάτησης πατεντών από το Linux. Έτσι, σύμφωνα πάντα με το ZDNet ο Ballmer θεωρεί ότι όλοι οι χρήστες Linux καταπατούν πνευματική ιδιοκτησία της Microsoft και μπορούν (δυνητικά) να μηνυθούν για αυτό.

Όλοι εκτός βέβαια από τους SUSE και SUN χρήστες οι οποίοι καλύπτονται από τις πληρωμές των αντίστοιχων εταιριών στην Microsoft. Εκτός από το Linux πλήτονται κι άλλα GNU SW όπως το SAMBA (που ανεπιβεβαίωτα καλύπτεται από την προσφορά 500 πατεντών της IBM στην Open κοινότητα), το OpenOffice ή ακόμα και το Mono, αλλά θεωρείται ότι οι χρήστες στην Ευρώπη είναι ασφαλείς από την επίθεση της Microsoft λόγω της Ευρωπαϊκής Ένωσης και της antitrust πολεμικής της ΕΕ στην Microsoft.

Μήπως πρέπει να βάλουμε κανα φράγκο στην άκρη για το δύσκολο μέλλον των Open κοινοτήτων;
 Στείλτε αυτό το άρ8ρο με ηλεκτρονικό ταχυδρομείο Δείτε το κείμενο προς εκτύπωση 

SPIM: A MIPS SIMULATOR - Μέρος 4

CODER.gr Tools[Το παρόν άρθρο γράφτηκε από τον χρήστη ^^^elf^^^]

Τελειώνοντας

Προχωρημένα Θέματα με τον MIPS

Περιφερειακά:

* Πώς «βλέπει» ο επεξεργαστής τους καταχωρητές των περιφερειακών συσκευών;

- Χρησιμοποιεί ξεχωριστό δίαυλο επικοινωνίας (I/O bus) για τα περιφερειακά από αυτόν που έχει για την μνήμη.
- Το κάθε περιφερειακό έχει την δική του διεύθυνση στον εξειδικευμένο δίαυλο αυτό.
- Ειδικές εντολές μεταφέρουν δεδομένα μεταξύ καταχωρητών του επεξεργαστή και των περιφερειακών.

* Επιπλέον κόστος για καλώδια, εντολές, κλπ.

- Χρησιμοποιεί το δίαυλο (bus) επικοινωνίας και τις διευθύνσεις που έχει για την μνήμη (Memory Μaped I/O)

Memory Maped I/O

* Κάποιες από τις διευθύνσεις της μνήμης χρησιμοποιούνται για τις περιφερειακές συσκευές:

- Ο χώρος διευθύνσεων του MIPS είναι 232 . Ένα μικρό κομμάτι αυτού του χώρου διατίθεται για να «βλέπει» ο επεξεργαστής τους καταχωρητές των περιφερειακών συσκευών.
- Η ανάγνωση και εγγραφή από/προς τους καταχωρητές των συσκευών και του επεξεργαστή γίνεται με απλές εντολές lw/sw.
- Απλούστερο, και πιο συνηθισμένο.
 Στείλτε αυτό το άρ8ρο με ηλεκτρονικό ταχυδρομείο Δείτε το κείμενο προς εκτύπωση 

SPIM: A MIPS SIMULATOR - Μέρος 3

CODER.gr Tools[Το παρόν άρθρο γράφτηκε από τον χρήστη ^^^elf^^^]

Περιοχές εντολών και δεδομένων

Ο συμβολομεταφραστής διακρίνει δύο περιοχές μνήμης, την περιοχή του προγράμματος (που ονομάζεται text), και την περιοχή δεδομένων (που ονομάζεται data). Όταν μεταφράζει ένα πρόγραμμα, ο συμβολομεταφραστής τοποθετεί δεδομένα στην περιοχή δεδομένων, και εντολές στην περιοχή προγράμματος. Γιατί όμως να διαχωρίζουμε τις εντολές από τα δεδομένα; Είναι λογικό να περιμένουμε οτι κατά την εκτέλεση ενός προγράμματος τα δεδομένα αλλάζουν, ενώ το πρόγραμμα παραμένει σταθερό. Επειδή όμως ένα λανθασμένο πρόγραμμα μπορεί να γράψει σε λανθασμένες διευθύνσεις, είναι πιθανό να «πανωγράψει» θέσεις μνήμης που αποθηκεύουν εντολές, με αποτέλεσμα η συμπεριφορά του προγράμματος να είναι απρόβλεπτη!

Ο διαχωρισμός προγράμματος και δεδομένων επιτρέπει στο λειτουργικό σύστημα να προστατεύει από εγγραφές την περιοχή του προγράμματος, ενώ την ίδια στιγμή να επιτρέπει τις εγγραφές στα δεδομένα.
 Στείλτε αυτό το άρ8ρο με ηλεκτρονικό ταχυδρομείο Δείτε το κείμενο προς εκτύπωση 

Intel Demo competition

CODER.gr ContestΗ εταιρία INTEL διοργανώνει εναν διαγωνισμό με θέμα "30 seconds demo competition". Προσκάλεσε 4 demo group να φτιάξουν απο ενα μικρό demo 30 δευτερολέπτων, με μουσική που έγραψε ενας γνωστός dj. Ανάμεσα στα groups είναι και η Ελληνική ASD ! Το κοινό ψηφίζει για αυτόν τον διαγωνισμό. Περισσότερες λεπτομέρειες για την δουλειά μας στο:

http://intel-demoscene.de/

ARTISTS & TRAILERS -> DEMOTEAMS -> ASD, GREECE -> TRAILER.

Μπορείτε να κατεβάσετε τα demos (έχουν σχεδόν όλα μικρό μέγεθος) και να τα τρέξεται στον υπολογιστή σας.
 Στείλτε αυτό το άρ8ρο με ηλεκτρονικό ταχυδρομείο Δείτε το κείμενο προς εκτύπωση 

Η SUN άνοιξε το κώδικα της Java

Desktop JAVAΣήμερα η Sun άνοιξε το κώδικα της Java και ειδικότερα την υλοποίηση των :

1) Java Platform Standard Edition (Java SE)
2) Java Platform Micro Edition (Java ME) και
3) Java Platform Enterprise Edition (Java EE)

κάτω απο τη βασική GNU General Public License version 2 (GPLv2), την ίδια άδεια κάτω απο την οποία διατίθεται και το Linux. Η σημερινή ημέρα είναι πολύ σημαντική.

Για όσους δεν είναι coders:
http://www.sun.com/2006-1113/feature/story.jsp

Για όσους είναι coders:
https://phoneme.dev.java.net/source/browse/phoneme/
https://openjdk.dev.java.net/source/browse/openjdk/
https://glassfish.dev.java.net/public/downloadsindex.html
 Στείλτε αυτό το άρ8ρο με ηλεκτρονικό ταχυδρομείο Δείτε το κείμενο προς εκτύπωση 

SPIM: A MIPS SIMULATOR - Μέρος 2

CODER.gr Tools[Το παρόν άρθρο γράφτηκε από τον χρήστη ^^^elf^^^]

Παρουσίαση των εντολών και των ψευδοεντολων του SPIM.

Ψευδοεντολές Assembly MIPS

Ψευδοεντολές είναι εντολές που μπορούν να συνθεθούν εύκολα με λίγες (1-2 συνήθως) πραγματικές εντολές. Οι ψευδοεντολές απλοποιούν την ζωή του προγραμματιστή ή κάνουν το πρόγραμμα πιό εκφραστικό και ευκολονόητο.

Παραδείγματα

* Ψευδοεντολή move: αντιγράφει τον ένα καταχωρητή σε έναν άλλο. Υλοποιείται από τον συμβολομεταφραστή με μια addu rd, rs, 0.

* Ψευδοεντολή li (load immediate): φόρτώνει ένα καταχωρητή με μια σταθερή μέχρι 32 bits: li $2, Immediate. Εάν η σταθερή χωράει σε 16 bits, η li μεταφράζεται από τον συμβολομεταφραστή σε ori. Εάν η σταθερή χρειάζεται πάνω από 16 bits, η li μεταφράζεται σε δύο εντολές: μια lui για τα περισσότερο σημαντικά 16 bits και μια ori για τα λιγότερο σημαντικά 16 bits.

Όταν ο συμβολομεταφραστής χρειάζεται ένα προσωρινό καταχωρητή για να κρατήσει ενδιάμεσες τιμές για μιά ψευδοεντολή, χρησιμοποιεί τον καταχωρητή $1 ($at = Assembler Temporary)
 Στείλτε αυτό το άρ8ρο με ηλεκτρονικό ταχυδρομείο Δείτε το κείμενο προς εκτύπωση 

SPIM: A MIPS SIMULATOR - Μέρος 1

CODER.gr Tools[Το παρόν άρθρο γράφτηκε από τον χρήστη ^^^elf^^^]

Επεξήγηση της εφαρμογής

Εγκατάσταση

WINDOWS

Η εγκατάσταση στο περιβάλλον των Windows είναι ιδιαίτερα εύκολη. Αφού ο χρήστης κατεβάσει το zip αρχείο που περιέχει μέσα την έκδοση του SPIM για Windows, από την ηλεκτρονική διεύθυνση http://www.cs.wisc.edu/~larus/SPIM/pcspim.zip ή την προμηθευτεί από οπουδήποτε αλλού, απλά πρέπει να αποσυμπιέσει όλα τα περιεχόμενα του αρχείου zip σε έναν φάκελο και να εκτελέσει το αρχείο setup.exe. Στην συνέχεια μέσω των πλαισίων διαλόγων των Windows καθοδηγείται για την ολοκλήρωση της εγκατάστασης.

UNIX και LINUX

Όπως αναφέρθηκε προηγουμένως η έκδοση του SPIM για UNIX/LINUX υπάρχει μόνο σε μορφή πηγαίου κώδικα έτσι η εγκατάσταση δεν είναι τόσο απλή όπως στην έκδοση των Windows.
 Στείλτε αυτό το άρ8ρο με ηλεκτρονικό ταχυδρομείο Δείτε το κείμενο προς εκτύπωση 

SPIM: A MIPS SIMULATOR - Η αρχή...

CODER.gr Tools[Το παρόν άρθρο γράφτηκε από τον χρήστη ^^^elf^^^]

(Θα ακολουθήσει μια πλήρη σειρά 4 μερών για όλα όσα πρέπει κάποιος να ξέρει σχετικά, ενώ το πρώτο μέρος θα εμφανιστεί άμεσα).

Εισαγωγή στον SPIM, τον προσομοιωτή του επεξεργαστή MIPS R2000/R3000

Το πρόγραμμα SPIM κατασκευάστηκε στο Πανεπιστήμιο Wisconsin-Madison από τον τότε καθηγητή James Larus ο οποίος σήμερα έχει την θέση του Senior Researcher στο τμήμα ερευνών της Microsoft (σύμφωνα με το άρθρο).

Το πρόγραμμα SPIM είναι ένας προσομοιωτής ο οποίος τρέχει προγράμματα τα οποία έχουν γραφτεί σε συμβολική γλώσσα για τον επεξεργαστή MIPS R2000/R3000. Έχει έναν απλό debugger και ένα μικρό σύνολο από τις παροχές ενός λειτουργικού συστήματος. Τέλος ο SPIM εκτελεί εντολές μόνο πηγαίου κώδικα (source code) και όχι δυαδικά μεταφρασμένα προγράμματα.

Ο SPIM εκτελεί σχεδόν όλο το σύνολο των εντολών του επεξεργαστή MIPS R2000/R3000 (παραλείπονται μόνο μερικές πολύπλοκες εντολές σύγκρισης τιμών κινητής υποδιαστολής και εντολές που αναφέρονται στην διαχείριση του συστήματος διαχείρισης πινάκων μνήμης). Επίσης λόγω της εξέλιξης του επεξεργαστή MIPS (πλέον είναι 64bit επεξεργαστής και όχι 32bit που ήταν όταν ξεκίνησε ο σχεδιασμός του SPIM) δεν μπορεί να τρέξει προγράμματα που έχουν γραφτεί για τα σημερινά μοντέλα του επεξεργαστή MIPS ή του SGI ούτε δέχεται μερικές ντιρεκτίβες που χρησιμοποιούν σύγχρονοι συμβολομεταφραστές για αυτούς τους επεξεργαστές. Αυτές όμως μπορούμε να τις διαγράψουμε από τον κώδικα.

Τον προσομοιωτή SPIM, στην έκδοση 6.5 όπου βρίσκεται σήμερα, μπορεί να προμηθευτεί οποιοσδήποτε ενδιαφέρεται εντελώς δωρεάν είτε σε εκτελέσιμη μορφή είτε σε μορφή κώδικα γραμμένο φυσικά σε γλώσσα προγραμματισμού C από την ηλεκτρονική διεύθυνση http://www.cs.wisc.edu/~larus/spim.html για τα λειτουργικά συστήματα DOS WINDOWS και LINUX/UNIX (υπάρχει μόνο ο πηγαίος κώδικας). Για το λειτουργικό σύστημα MACINTOSH δεν υπάρχει κάποια έκδοση αλλά μπορεί να γίνει compile η έκδοση του XSPIM (η έκδοση με γραφικό περιβάλλον για το LINUX ) και να τρέξει στο MAC OS X.

 Στείλτε αυτό το άρ8ρο με ηλεκτρονικό ταχυδρομείο Δείτε το κείμενο προς εκτύπωση 

Έναρξη του Coghead (Οπτική δημιουργία εφαρμογών)

CODER.gr Tools(Πρωτότυπο άρθρο στα αγγλικά: "Coghead Goes Live: Build Applications Visually" από Nik Cubrilovic, TechCrunch - http://www.techcrunch.com/2006/10/11/coghead-goes-live-build-applications-visually/ - μεταφέρεται τμήμα του με τους σχετικούς όρους στα αγγλικά ενώ το πλήρες άρθρο παραμένει στην σύνδεση που δίνεται)

Ο τομέας του online application building είναι ένας αυξανόμενου ενδιαφέροντος χώρος. Έχοντας προηγουμένως ερευνήσει (TechCrunch) έναν αριθμό εφαρμογών σε αυτό τον χώρο (μερικές φορές αναφέρονται σαν 'Online access' space, σαν αναφορά στην Microsoft Access) περιλαμβάνοντας σε αυτές τις Dabble DB, Zoho Creator και WyaWorks, το ενδιαφέρον σε αυτές τις εφαρμογές είναι ότι επιτρέπουν σε μη προγραμματιστές να δημιουργήσουν εύκολα record-driven web-based εφαρμογές.

(Σήμερα) μια νέα είσοδος στον χώρο είναι το Coghead το οποίο ανακοίνωσε την διαθεσιμοτητά του visual app building service. To Coghead υπόσχεται πολλά όπως και οι άλλες εφαρμογές - την δυνατότητα εύκολης δημιουργίας, πρόσβασης και διαθεσης εφαρμογών. Η πρωταρχική χρήση τέτοιων προιόντων είναι η δημιουργία εμπορικών εφαρμογών που δραστηριοποιούνται από τον εντοπισμό εργασιών μέχρι αγορές και παραγγελίες. To CogHead έρχεται με ένα σετ από 'εφαρμογές εκκίνησης' όπως ένα απλό CRM, έναν καταγραφέα εργασιών και διαχείριση προσλήψεων. Αυτά τα αρχικά πρότυπα μπορούν να τροποποιηθούν επιπλέον από τον χρήστη ώστε να καλυφθούν οι συγκεκριμένες ανάγκες του.
 Στείλτε αυτό το άρ8ρο με ηλεκτρονικό ταχυδρομείο Δείτε το κείμενο προς εκτύπωση 

Εισαγωγή στον Προγραμματισμό 3D Γραφικών: Μαθηματικές Αρχές

CODER.gr Algorithms[Το παρόν άρθρο γράφτηκε από τον χρήστη nuclear]

Το αρχικό άρθρο έχει δημοσιευτεί στα αγγλικά και παραχωρήθηκε ευγενικά για το coder.gr στα ελληνικά. Μπορεί να βρεθεί στην διεύθυνση http://www.demoscene.gr/oldsite/articles/3dcoding_nuclear/3dcoding_nuc_intro.html (Tutorial: Intro to 3D Graphics Programming, Mathematical Foundations)

Μάθημα 1 - Βασικές μαθηματικές αρχές

Καλωσήρθατε στο πρώτο μάθημα αυτής της σειράς άρθρων στον Προγραμματισμό 3D Γραφικών Η/Υ. Χωρίς να χάνουμε χρόνο ας γνωρίσουμε άμεσα τον συναρπαστικό χώρο των 3D γραφικών. Πριν όμως προχωρήσουμε σε λεπτομέρειες, είναι καλύτερα να κάνουμε μια μικρή εισαγωγή πως το όλο σύστημα δουλεύει μέσα σε λίγες γραμμές. Αυτή η σύνοψη θα μας επιτρέψει να παραμείνουμε στην γενική ιδέα όταν δουλέψουμε με τις λεπτομέρειες.