You have searched the archives for 'api'.

Bezier curves control points calculation (not only) in iOS

Published by Petrakeas in Software - 3 comments

Screen-Shot-2012-06-17-at-2

Core Graphics in iOS have many capabilities in creating, manipulating and rendering paths. Many developers want to create a path that passes “smoothly” through some given points using bezier curves. This requires that you calculate the control points of the bezier curve yourself, because  Core graphics doesn’t have a function to do that.

This is why I have created these functions. They can receive a CGPath (consisting only of straight lines) and produce a smoothed version that consists of bezier curves. The computation of the control points is done automatically and depends on the given “tension” variable.  I’d like to mention that these functions can be used in other APIs besides CoreGraphics.

I have added these functions in my “outline calculation” functions. I have updated the demo to make use of both of them separately and in chain (calculate a smoothed version of the outline of a path). Take a look of the demo below!

If you want to use these functions, take a look at my repo at github where the demo and the functions with their documentation reside.

PS. If you want to see these functions in action in a full fledged app, download Soundbeam app

Μοντέλο κυκλοφοριακής κίνησης με τη βοήθεια του ΟΑΣΘ

Published by Petrakeas in General - No comments

speedo

Ο ΟΑΣΘ θα παρέχει τα δεδομενα που συλλέγουν τα λεωφορεία του στο ερευνητικό πρόγραμμα SPEED-O ώστε με την ανάλυση τους να προκύπτει η κατάταση της κυκλοφορίας στους δρόμους της Θεσσαλονίκης. Το έργο θα πραγματοποιηθεί σε συνεργασία με το τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών του Αριστοτελείου πανεπιστημίου Θεσσαλονίκης.

Είναι θετική η αλλάγη στάσης του ΟΑΣΘ ο οποίος είχε απαγορεύσει τη χρήση των δεδομένων του από τρίτους (των χρόνων άφιξης). Διαβάστε τη συνέντευξή μας στη Ναυτεμπορική σχετικά με το staseis.gr

O ΟΑΣΘ είχε πει τότε:

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

και φαίνεται ότι το τήρησε…

Τι κάρτα ήχου έχεις: την κάρτα γραφικών!

Published by Petrakeas in Hardware, Music, Software - No comments

IMAG0147

Είναι παράξενο πώς αλλάζουν οι καιροί. Πράγματα που κάποτε είχαν αξία, πλέον δεν έχουν σημασία. πχ παλιά είχε σημασία η κάρτα ήχου να έχει καλά DACs (αν συνδεόταν με καλά ηχεία), να υποστηρίζει hardware acceleration για καλύτερο ήχο στα games κλπ. Γι αυτό και είχα πάρει αρκετές soundblaster, καθώς και την υπάρχουσά μου PCI Express Sound Blaster X-Fi Titanium Fatal1ty Professional.

Οι καιροί όμως αλλάζουν. Πλέον στα περισσότερα games η audio engine τρέχει στον επεξεργαστή καθώς οι πυρήνες του επεξεργαστή περισσεύουν και η επεξεργαστική ισχύς που χρειάζεται η real time επεξεργασία ήχου δεν καθυστερεί τους σημερινούς επεξεργαστές. Οπότε ένα από τα βασικά πλεονεκτήματα τις soundblaster έχει εξαφανιστεί. Το τελειωτικό χτύπημα για μένα ήταν όταν κάηκαν τα gigaworks s750, πράγμα πολύ συνηθισμένο στο συγκεκριμένο μοντέλο μια και δεν αερίζονται καλά τα transistors μέσα στη καμπίνα του subwoofer. Οπότε έψαξα τις διάφορες λύσεις και κατέληξα να πάρω ένα entry level ενισχυτή  Yamaha, οποίος ερχόταν με δώρο τα πίσω ηχεία και το κεντρικό (ανώτερα των δορυφόρων των giagaworks). Ως μπροστά χρησιμοποίησα 2 παλιά loudspeakers που είχαμε στο σαλόνι μας. Το πρόβλημα ήταν ο εξής.. Ο ενισχυτής δεν έχει αναλογικές εισόδους (εκτός από στερεοφωνικές). Οπότε το pc θα έπρεπε να στείλει ψηφιακά τον ήχο στον ενισχυτή.

Οι λύσεις ήταν 2. Είτε να χρησιμοποιήσω το optical out της creative ή… την Ati HD4870 και να στείλω τον ήχο μέσω HDMI. Το τελευταίο αποδείχτηκε η καλύτερη λύση, γιατί το HDMI μπορεί να μεταφέρει πολυκάναλο PCM (ασυμπίεστο ήχο) αλλά και dts, ac3 (dolby digital). Μπορεί να μεταφέρει και τα τελυταία HD formats ήχου: Dolby TrueHD, DTS-HD master audio. Βέβαια ο ενισχυτής μου δεν μπορεί να τα αποκωδικοποιήσει αλλά είναι backwords compatible και τα παίζει σαν απλό dts και ac3.

Επίσης ο ενισχυτής εμφανίζει ένα lag όταν διαβάζει από την optical είσοδο. Οπότε σαν default κάρτα ήχου στα Windows 7 έχω την HD4870. Αλλά αν θέλω μπορώ να ρυθμίσω κάποιο πρόγραμμα να στέλνει ήχο στην Creative (το audio stack στα windows7 είναι φοβερό) και να γυρίσω τον ενισχυτή στην optical είσοδο.

Οπότε αυτό που θέλω να πω είναι τα πράγματα ίσως να είναι καλύτερα έτσι. Ο υπολογιστής στέλνει ψηφιακά τον ήχο στον ενισχυτή και μετά αυτός με τα DACs που έχει αναλαμβάνει να τον μετατρέψει σε αναλογικό και να τον ενισχύσει για να ταρακουνήσει τα ηχεία! Τα DACs του ενισχυτή είναι σαφώς καλύτερα από τις περισσότερες κάρτες ήχου και η λογική να “φύγει” το αναλογικό κομμάτι από τον υπολογιστή, μου φαίνεται σωστή. Επίσης, τα windows 7 έχουν κάτι απίστευτα σημαντικό για τους audioholics. Δίνουν τη δυνατότητα σε ένα πρόγραμμα να παρακάμψει το μείκτη του λειτουργικού συστήματος και να στείλει αναλλοίωτο το ψηφιακό σήμα στον ενισχυτή. Αυτό σημαίνει ότι κανένα άλλο πρόγραμμα δεν μπορεί να βγάλει ήχο εκείνη τη στιγμή και ότι ο ήχος που θα ακούσετε θα επηρεαστεί από τον ενισχυτή αλλά όχι από τον υπολογιστή. Αυτό το mode λέγεται WASAPI exclusive mode και το υποστηρίζουν αρκετοί video/audio players όπως XBMC, foobar.

Η χρησιμοποίηση της κάρτας γραφικών για ήχο είναι γνωστή εδώ και καιρό σε όσους έχουν pc για home theater. Πλέον η λύση αυτή πιστεύω είναι η καλύτερη, αρκεί βέβαια να έχετε κάποιον audio receiver (ενισχυτή).  Επίσης,  η εμπειρία του surround ήχου στο Crysis 2 ήταν μοναδική!

Firefox 4 beta 9: εντυπώσεις

Published by Petrakeas in Internet, Software - 9 comments

ff4

Πριν καιρό είχα δοκιμάσει μια beta του FF4 αλλά είχε μια ασυμβατότητα με την κάρτα γραφικών μου. Σήμερα είπα να ρίξω μια ακόμα ματιά και πλέον λειτουργεί τουλάχιστον στο δικό μου σύστημα (windows 7, ati HD4870). Πριν γράψω τη γνώμη μου για τη νέα έκδοση, πρέπει να δηλώσω ότι θεωρώ τον FF ανώτερο σε όλα τα θέματα σε σχέση με τον Chrome εκτός από την ταχύτητα και την κατανάλωση μνήμης. Αυτό βέβαια είναι προσωπική άποψη αλλά τη στηρίζω σε πολλά features του FF που με έχουν βολέψει με τον τρόπο που υλοποιούνται.

Μετά από τη δοκιμή της beta μπορώ να πω ότι το βασικό πρόβλημα του FF (η ταχύτητα) δεν υφίσταται πλέον! Η javascript engine είναι αισθητά πιο γρήγορη (απλά τρέξτε αυτό το πολύ όροφο demo το οποίο κάνει render τα γραφικά χρησιμοποιώντας Javascript). Η μεγάλη όμως διαφορά στον FF4 είναι ότι είναι πλέον Hardware accelerated. Αυτό σημαίνει ότι μεγάλο τμήμα της διαδικασίας rendering μιας σελίδας (η δημιουργία αυτού που βλέπεις όταν πας σε μία σελίδα) γίνεται στην κάρτα γραφικών και όχι στον επεξεργαστή. Ακόμα και τα παράθυρα διαλόγου του FF4 είναι hardware accelerated (όπως φάνηκε με το FRAPS). Η διαφορά φαίνεται κυρίως σε σελίδες που έχουν στοιχεία με διαφάνειες ή πολλά animations. Χαρακτηριστικό είναι αυτό το Demo όπου μπορείτε να αλλάξετε το μέγεθος των φωτογραφιών και να τις περιστρέψτε.

Για να πετύχει ο FF το acceleration χωρίζει τη σελίδα σε layers (ενδεχομένως κάθε div να είναι ένα layer) και μετά στέλνει αυτά τα layers στη GPU μέσω κάποιου API (πχ Direct 3D, openGL) για να γίνει το rendering. Ένα από τα μειονεκτήματα αυτής της μεθόδου είναι ότι δεν μπορεί να χρησιμοποιηθεί το Clear Type των windows στις γραμματοσειρές αφού πλέον το rendering γίνεται στο Direct 2D και όχι από το GDI, αλλά ίσως βρουν κάποιο πλάγιο τρόπο για να το καταφέρουν.

Όσο αφορά το user interface τα βελάκια μπρος πίσω έχουν μπει κάτω από τα tabs (όπως στον chrome). Αν δε σας αρέσει υπάρχει η δυνατότητα αλλαγής. Και αυτό είναι ένα από τα μεγάλα πλεονεκτήματα του FF και παραμένει στην τέταρτη έκδοση. Μπορείς να παραμετροποιήσεις τα πάντα!

Προς το παρόν δε λειτουργούν πολλά addons (ακόμα και το λεξικό), ωστόσο καθώς κινούμαστε προς την τελική έκδοση όλα αυτά αναμένεται να λυθούν. Παρακάτω ακολουθεί ένα βιντεάκι με τα demos που ανέφερα παραπάνω τα οποία τα έτρεξα στον FF4. Μπορείτε και εσείς να δοκιμάστε τη beta έκδοση, κρατώντας και την υπάρχουσα (παλιά) έκδοση ταυτόχρονα!

UPDATE: τον δοκίμασα στο Mac OS X (macbook pro) και νομίζω ότι εκεί δεν υπάρχει hardware acceleration

UPDATE2: δοκίμασα google maps σε FF4 σε win. Απίστευτα smooth scrolling σαν το Google earth!

SolEol, η αυτοματοποίηση στο κατέβασμα υποτίτλων

Published by Petrakeas in Internet - 8 comments

GetSubs2

Φαντάζομαι η ιδέα και μόνο να πρέπει να πρέπει να μπείτε σε 2,3 sites με υποτίτλους και μετά να τα κάνετε απανωτά unzip μέχρι να φτάσετε στο πολυπόθητο srt αρχείο είναι κουραστική. Άσε που χρειάζεται και ένα rename του αρχείου για να γίνει ίδιο με το όνομα του βίντεο!

Τη λύση στο χρονοβόρο αυτό μαραθώνιο δίνει το SolEol ένα μικροσκοπικό app (για mac, linux, win) στο παράθυρο του οποίου μπορείτε απλά να σύρετε ένα η περισσότερα αρχεία βίντεο και αυτό θα βρει και θα κατεβάσει τους υποτίτλους της γλώσσας της επιλογής σας. Χρησιμοποιεί το API του opensubtitles οπότε έχει πληθώρα υποτίτλων τόσο για σειρές όσο και για ταινίες.

Κατεβάστε το εδώ.

geeky info: το SolEol αντί να χρησιμοποιεί το filename του αρχείου βίντεο για να βρει συμβατό υπότιτλο κάνει hash το ίδιο το αρχείο και ψάχνει με βάση αυτό. Αυτό σημαίνει ότι θα επιστρέψει υπότιτλο που θα είναι συγχρονισμένος, μια και θα σχετίζεται με το συγκεκριμένο αρχείο βίντεο και όχι πχ με το 4ο επεισόδιο κάποιας σειράς (το οποίο κυκλοφορεί σε πολλές εκδόσεις)

Hardware acceleration από το ffdshow

Published by Petrakeas in Internet - 3 comments

neon_genesis-1080

To ffdshow είναι ένα Direct show φίλτρο που στηρίζεται στη βιβλιοθήκη ffmpeg και αποκωδικοποιεί πληθώρα βίντεο στον κόσμο των windows. Αν έχετε δει κάποιο video στο media player κατά πάσα πιθανότητα τρέχει αυτό από πίσω και λογικά έχει εγκατασταθεί από κάποιο codec pack.

Τα HD video (ανάλυσης 720p ή 1080p) έχουν πολλές απαιτήσεις από τον επεξεργαστή, γι αυτό πολλές φορές παίζουν σπαστά αν δεν έχετε αρκετά δυνατό επεξεργαστή. Εκεί έρχεται να βοηθήσει η κάρτα γραφικών με τη βοήθεια του DXVA που είναι ένα API που μεταφέρει την αποκωδικοποίηση του βίντεο από τον επεξεργαστή στην κάρτα γραφικών (εφόσον αυτή το υποστηρίζει). Το API αυτό χρησιμοποιούν οι default decoders στα windows7, ωστόσο κανένας 3rd party decoder (όπως πχ το ffdshow) δεν το έχει χρησιμοποιήσει μέχρι στιγμής καθώς κάνουν όλη τη δουλειά στον επεξεργαστή.

Τώρα, μετά από αρκετό καιρό, βγήκε μια έκδοση του ffdshow που χρησιμοποιεί DXVA και ονομάζεται ffdshow DXVA. Μάλιστα υποστηρίζει και υποτίτλους σε αντίθεση με τον decoder της Microsoft. Αυτό σημαίνει ότι βίντεο που παλιά ίσως να μη μπορούσατε να δείτε ομαλά, πλέον μπορείτε χάρη στη δύναμη της κάρτας γραφικών σας! Το εγχείρημα είναι φρέσκο, οπότε δεν υποστηρίζει όλα τα H.264 και VC1  βίντεο. Ωστόσο αν έχετε αρκετά βίντεο με mkv κατάληξη είναι πιθανό να τα αποκωδικοποιήσει!

Δοκίμασα κάποια 1080p video και η χρήση του επεξεργαστή έπεσε από 25% σε 5%! Οπότε φαίνεται οι developers να έκαναν πολύ καλή δουλειά!

Για να το χρησιμοποιήσετε θα πρότεινα να κατεβάσετε το Klite codec pack και όχι αυτόνομο. Μάλιστα αν έχετε Win7 θα πρέπει να κάνετε και μία ρύθμιση με το Win7DSFilterTweaker, ώστε να γίνει override ο default decoder της microsoft.

Kingston SSDNow V+ Series 128GB 2nd gen review

Published by Petrakeas in Software, review - 7 comments

P6020006

Πριν λίγο καιρό είχαμε παρουσιάσει το μικρό αδερφάκι αυτού του SSD, τον Kingston Vseries 128GB.  Ο SSDNow V+ series 128 GB (SNV325S2) κοστίζει 100 ευρώ περισσότερο (γύρω στα 320) και απευθύνεται σε πιο απαιτητικούς χρήστες. Σε αυτό το review θα εξετάσω αν υπάρχει μεγάλη διαφορά από τον απλό Vseries και αν ναι κατά πόσο θα είναι αισθητή και θα σας ωφελήσει.

Read more

Staseis.gr – ο επίλογος

Published by stelabouras in General, Internet - 27 comments

staseis-off

Update: Μέσω του Βασίλη Σωτηρόπουλου, καταθέσαμε σχετική διοικητική προσφυγή για επανεξέταση του αιτήματος. Περισσότερα μπορείτε να βρείτε στο σχετικό δελτίο τύπου.

Δυστυχώς τα πράγματα δεν ήρθαν όπως τα υπολογίζαμε για το Staseis.gr. Σε γραπτή απάντησή του ο Ο.Α.Σ.Θ. μας απάντησε αρνητικά σχετικά με την διάθεση των δεδομένων, παραθέτοντας τους παρακάτω λόγους:

  1. Η ακεραιότητα και ορθότητα των δεδομένων αυτών βαρύνει τον Ο.Α.Σ.Θ. ο οποίος ελέγχει, ελέγχεται και κρίνεται για τον τρόπο παρουσίασής τους.
  2. Ο Ο.Α.Σ.Θ. δεν επιθυμεί σε καμία περίπτωση να υπονομεύσει το πλαίσιο σύμβασής του με τους επίσημους φορείς χρηματοδότησης για την υλοποίηση του έργου αυτού, καθώς και με την εταιρία υλοποίησής του.
  3. Η οποιαδήποτε παροχή δεδομένων σε τρίτους που δύνανται να έχουν άμεση ή έμμεση εκμετάλλευση αυτών για εμπορικούς, διαφημιστικούς ή προωθητικούς σκοπούς δεν επιτρέπεται από τον Ο.Α.Σ.Θ.
  4. Όπως καταλαβαίνετε ο Ο.Α.Σ.Θ. δεν επιθυμεί την ανέλεγκτη διάθεση των δεδομένων αυτών διότι θα μπορούσαν να καταλήξουν σε απροσδιόριστα σημεία με απροσδιόριστη μορφή ή/και τροποποιήσεις.
  5. Η λήψη πληροφοριών on line δύνανται να επιβαρύνει τους υπολογιστές και τα συστήματα του Ο.Α.Σ.Θ. με απροσδιόριστα αποτελέσματα τα οποία ο Ο.Α.Σ.Θ. πρέπει να προφυλάξει.
  6. Σκοπός του Ο.Α.Σ.Θ. είναι να παρέχει υπηρεσίες προς τους πολίτες και για το λόγο αυτό ο Οργανισμός έχει υποχρέωση να προφυλάσσει τα ιδιόκτητα προϊόντα και τις υπηρεσίες του.

Read more

130-megapixel scanner κάμερα

Published by Petrakeas in Hardware, Multimedia - 1 comment

3484672519_a7f595c119_o 

Ένας Ιάπωνας ερασιτέχνης φωτογράφος κατάφερε και δημιούργησε αυτή την κάμερα χρησιμοποιώντας έναν Epson scanner στα 1200-dpi και έναν φακό Canon. Το μηχάνημα ουσιαστικά “σκανάρει” και δε βγάζει φωτογραφία σε μερικά ms όπως οι ψηφιακές μηχανές. Ωστόσο το αποτέλεσμα είναι εντυπωσιακό για στατικές σκηνές.

Αν τολμάτε να δείτε την εικόνα των 130 megapixel κάντε κλικ εδώ. Περισσότερες εικόνες θα βρείτε εδώ. Ακολουθεί video με τη μηχανή σε δράση!

[VIA ,thanx Manow - Birch]

Wiggler feedburner readers, how we did it

Published by stelabouras in Coding, Software, Tech - 4 comments

picture-13 

Την προηγούμενη βδομάδα -και πάντα στα πλαίσια του NWT project- αποφασίσαμε να μεταφέρουμε τα δύο menu buttons για το RSS και το Twitter στην sidebar, και να τα κάνουμε περισσότερο easy και fun to read από δύο απλά links.

Έτσι στην sidebar δεξιά μπορείτε να δείτε δίπλα-δίπλα, το link στο RSS του Wiggler και το link στο twitter account μας μαζί με τα γνωστά icons για να ξεχωρίζουν.

Σχετικά με τον αριθμό των subscribers, αποφασίσαμε να μην χρησιμοποιήσουμε το γνωστό feedburner badge που δεν καθόταν πολύ καλά, και αναπτύξαμε μια δική μας απλή τεχνική.
Read more

How to: Your first iPhone webapp

Published by stelabouras in Coding, Gadgets, Internet, Software, Tech - 8 comments

amazon-iwishlist 

Σε αυτό το tutorial θα περιγράψω τον τρόπο δημιουργίας μιας απλής web app για το iPhone που δημιούργησα πριν λίγες μέρες.

Στην πορεία του οδηγού θα εξερευνήσουμε τις δυνατότητες του mobile Safari, θα χρησιμοποιήσουμε μια δόση CSS3 και θα πάρουμε μια μικρή γεύση από το Amazon API.

Η εφαρμογή που δημιούργησα ονομάζεται “Amazon iWishlist” (ναι θα μπορούσα να βρω και καλύτερο όνομα) και για όσους θέλουν να δουν άμεσα το real thing, παρακάτω ακολουθούν τα links.
Read more