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

Delicate Sound of Development

Journal για creative & non-creative δραστηριότητες. Development and more...:)
Moving to wordpress

I had such a great time here (as a blogposter). I am moving to biboudis.wordpress.com (update your favorite RSS reader Smile). I always thought of blogging as a personal public notebook in which I can write some pieces for later reference. This list could be multiplied by 20, if I had taken some time every week to post various things that I liked, I wrote, I met, solved (or not). Some of my posts that I really went back to, at some point, to seek some information were the following.

An Extensible WPF client layout with RibbonTab submenus using MEF

CloseTabBehavior για TabItems σε Silverlight TabControl

A note to self: Silverlight DataBinding awesomeness μέσα από Expression Blend, XAML και ...

Silverlight animatable custom controls: quick ‘n’ dirty!

[Μαθαίνοντας Design Patterns] Model – View – ViewModel

Closures στη C#

Πύργοι του Ανόι σε F#

Εισαγωγή στα Expression Trees και στις δυναμικές μεθόδους (Visual Studio 2010)

Moving to blogspot

I had such a great time through this blog. I am moving to biboudis.wordpress.com http://biboudis.blogspot.gr/ (update your favorite RSS reader Smile). I always thought of blogging as a personal public notebook in which I can write some pieces for later reference. This list could be multiplied by 20, if I had taken some time every week to post various things that I liked, I wrote, I met, solved (or not). Some of my posts that I really went back to, at some point, to seek some information were the following.

An Extensible WPF client layout with RibbonTab submenus using MEF

CloseTabBehavior για TabItems σε Silverlight TabControl

A note to self: Silverlight DataBinding awesomeness μέσα από Expression Blend, XAML και ...

Silverlight animatable custom controls: quick ‘n’ dirty!

[Μαθαίνοντας Design Patterns] Model – View – ViewModel

Closures στη C#

Πύργοι του Ανόι σε F#

Εισαγωγή στα Expression Trees και στις δυναμικές μεθόδους (Visual Studio 2010)


So update your RSS reader from this to my wordpress blogspot, always follow studentguru.gr as great things always happen here and keep coding.

//edit: updated my blog url

An Extensible WPF client layout with RibbonTab submenus using MEF
I was just experimenting with extensibility using MEF ( MEF is a .NET resident for .NET4 and SL4 ), when I created a small proof of this functionality that I could share via my blog. It is a semi-patterned (only for the main shell, my shell, not a PRISM one with viewregions and stuff, just an MVVM main area implemented with MVVMLight ), but it does what it is supposed to do. So what is is supposed to do? It is an application, which can be extended by simply, drag and dropping, dlls in the Plugins directory. Every plugin, contains a certain amount, of RibbonTabs and each one, can provide applications, via RibbonTabItems ( utilized the Microsoft Ribbon for WPF October 2010 ). By clicking each one of these items, one can open the corresponding application in the closable TabControl next to the plugin option menu. This menu, by the way is a WPF Outlook bar reused by this codeproject . The Favorites menu is a subset of the Applications option. The plugin system is based on MEF, demonstrating a simple plugin system.

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

Posted: Τετάρτη, 1 Δεκεμβρίου 2010 1:50 πμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,
IT Pro | Dev Connections 2010 - "Και Line-of-Business και Rich Internet Applications: The silver side of the moon"
Ευχαριστούμε όσους μας τίμησαν με την παρουσία τους στο IT Pro | Dev Connections 2010 , στην παρουσίαση μας ( Άγγελος Μπιμπούδης & Μάνος Κελαϊδίτης ) με τίτλο "Και Line-of-Business και Rich Internet Applications: The silver side of the moon". Είδαμε πρακτικές και τεχνολογίες για RIA εφαρμογές σε Silverlight, πώς ξέραμε τις επιχειρησιακές εφαρμογές με Silverlight μέχρι τώρα και τι εφόδια έχουμε πια, για να φτιάχνουμε γρηγορότερα και πιο δομημένα web applications, συνδυάζοντας RIA και LoB χαρακτηριστικά. Προσπαθήσαμε να πούμε όσα περισσότερα πράγματα γίνεται, δίνοντας ένα κβάντο πληροφορίας που μπορεί να χρησιμοποιηθεί άμεσα, ξεκινώντας με WCF Ria Services, MVVM design pattern και MEF για extensibility. Ο χρόνος ήταν περιορισμένος, αλλά πιστεύουμε ότι τα καταφέραμε (φάνηκε και από την αξιολόγηση :D). Για όσους όμως, πιστεύουν ότι 75 λεπτά δεν έφτασαν (και αλήθεια θα είναι), σχεδιάζουμε να κάνουμε live meeting στο άμεσο μέλλον, οπότε stay tuned. *Για να τρέξετε τα demos, θα χρειαστείτε: WCF Ria Services,

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

Posted: Τρίτη, 30 Νοεμβρίου 2010 11:42 μμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία:
CloseTabBehavior για TabItems σε Silverlight TabControl
Χρησιμοποιώντας το tabcontrol του Silverlight, είδα ότι δεν έχει close button σε κάθε tab. Μερικές λύσεις που είδα από το net, έκαναν extend ένα tabItem, ή έβαζαν handler κάπου για να το υλοποιήσουν. Έτσι έφτιαξα ένα behavior το οποίο γίνεται attach, λίγο πιο κομψά. Στο OnClick, υλοποίησα ένα μικρό chunk λογικής για να διατηρείται το state. To itemtemplate <TabControl.ItemTemplate> <DataTemplate> <DockPanel Width="120"> <Button Content="X" Cursor="Hand" DockPanel.Dock="Right" Focusable="False" FontFamily="Courier" FontSize="9" FontWeight="Bold" Margin="0,1,0,0" Padding="0" VerticalContentAlignment="Bottom" Width="16" Height="16" > <interactivity:Interaction.Behaviors> <behavior:CloseTabBehavior/> </interactivity:Interaction.Behaviors> </Button> <ContentPresenter Content="{Binding ApplicationName}" VerticalAlignment="Center"

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

Posted: Δευτέρα, 29 Νοεμβρίου 2010 2:39 μμ από Aggelos Biboudis | 1 σχόλια
Δημοσίευση στην κατηγορία: ,
Ζωντανό, παγκόσμιο event για το μέλλον και για τα best practices του Silverlight
Θα ήθελα να ενημερώσω ότι υπάρχει ένα πολύ δυνατό παγκόσμιο event  για silverlight στις 2 Δεκεμβρίου, 2010 το οποίο θα έχει live video steaming. Θα μιλήσει ο Scott Guthrie και άλλος κόσμος κατευθείαν από τα κεντρικά. Η Εγγραφή είναι free . Περισσότερες πληροφορίες, μπορείτε να βρείτε στο επίσημο site a2a_linkname="Ζωντανό, παγκόσμιο event για το μέλλον και για τα best practices του Silverlight";a2a_linkurl="http://www.studentguru.gr/blogs/grnemo/archive/2010/11/12/event-best-practices-silverlight.aspx";

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

Posted: Παρασκευή, 12 Νοεμβρίου 2010 4:16 μμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία:
Functional Programming Reading List
During the last months, I started to collect some readings (academic publications and books) that one should check out, as he learns functional programming. These are life changing readings (other pretty fundamendal, other very specific), and can be studied in a time frame of several months or more, so unless you are a doctoral researcher on the field of programming languages, take your time and enjoy. [ 1] J. V. Eijck and C. Unger, Computational Semantics with Functional Programming, 1st ed. Cambridge University

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

Posted: Τετάρτη, 3 Νοεμβρίου 2010 10:11 μμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,
Silverlight Αttached Βehavior: Φτιάχνοντας ένα Marquee TextBox Control
Έχω ένα Grid στο Silverlight Application και θέλω να κάνω ένα marquee textbox (autoscroll) από δεξιά προς τα αριστερά, μέσα στο κελί του Grid. Τι χρειάζεται να κάνω για να προσθέσω σε ένα control αυτή τη λειτουργία ; Για αρχή έχουμε ένα textbox και στα γρήγορα κάνουμε ένα Translate RenderTransform αλλάζοντας την τιμή, στον άξονα των x από θετικές σε αρνητικές τιμές. <TextBlock Grid.Row="0" Grid.Column="0" Foreground="#FF2755AF"           

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

Posted: Τετάρτη, 20 Οκτωβρίου 2010 4:23 πμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , , ,
A note to self: Silverlight DataBinding awesomeness μέσα από Expression Blend, XAML και κώδικα
Το πιο δυνατό στοιχείο του Silverlight είναι η εκφραστικότητα των data binding μηχανισμών του με όλες τις μορφές που μας το παρέχει. Separation of concerns, animations, visual states, MVVM, αλληλένδετα controls και πολλά ακόμα “βαριά” ή ελαφρά features οφείλουν την ύπαρξή τους στο Data Binding. Τι είναι Data Binding; Data Binding είναι η σύνδεση μεταξύ μίας πηγής δεδομένων και ενός προορισμού. Στο silverlight η πηγή είναι ένα CLR αντικείμενο που διατηρεί, ανανεώνει, κτλ πληροφορία (ένα object συγκεκριμένου τύπου)

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

Posted: Δευτέρα, 18 Οκτωβρίου 2010 11:05 πμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,
A note to self: DataBinding awesomeness μέσα από Expression Blend, XAML και κώδικα
    Το πιο δυνατό στοιχείο του Silverlight είναι η εκφραστικότητα των data binding μηχανισμών του με όλες τις μορφές που μας το παρέχει. Separation of concerns, animations, visual states, MVVM, αλληλένδετα controls και πολλά ακόμα “βαριά” ή ελαφρά features οφείλουν την ύπαρξή τους στο Data Binding. Τι είναι Data Binding; Data Binding είναι η σύνδεση μεταξύ μίας πηγής δεδομένων και ενός προορισμού. Στο silverlight η πηγή είναι ένα CLR αντικείμενο που διατηρεί, ανανεώνει, κτλ πληροφορία (ένα object συγκεκριμένου

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

Posted: Σάββατο, 9 Οκτωβρίου 2010 4:02 πμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,
Silverlight animatable custom controls: quick ‘n’ dirty!
Παρακάτω θα φτιάξουμε βήμα-βήμα ένα Notification box για το silverlight, χρησιμοποιώντας μία ελαφρώς παραλλαγμένη έκδοση του style που βρίσκεται ήδη στη νέα έκδοση Silverlight 4, που εισήγαγε το συγκεκριμένο control. Η λειτουργικότητα θα είναι επίσης ελαφρώς διαφορετική, αφήνοντας στην ευθύνη του silverlight control την λειτουργία του αυτόματου ελέγχου, για το αν υπάρχουν ή όχι notifications για τον χρήστη. Σκοπός είναι, καθώς θα καταγράφουμε βήμα βήμα την πορεία κατασκευής του control, θα καταλαβαίνουμε παράλληλα

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

Posted: Παρασκευή, 17 Σεπτεμβρίου 2010 11:00 μμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: ,
What comes first, at your programming mind?
Copy-pasted from a conversation between geeks in live messenger. A ddress Binding Contract B oolean C losure D- Cup E vent F # G eometry (SQL Datatype) H igh Order Function I mpersonation (ASP.NET) J itter K – Means λ (lambda) M onad N -Tier O bservable P ervasive Computing Q uicksort R 8 (Audi :P) S ilverlight ( T Key) U kelele V okswagen W CF X axis (burned to my mind) Y axis (burned to my mind) Z -index a2a_linkname="What comes first, at your programming mind?";a2a_linkurl="http://www.studentguru.gr/blogs/grnemo/archive/2010/07/05/what-comes-first-at-your-programming-mind.aspx"

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

My live Q&A with Eric Lippert, Luke Hoban and Mads Torgersen at Tech·Ed 2010, North America
Yesterday I watched the live 3:30 PM: Languages Panel session, with Eric Lippert , Luke Hoban and Mads Torgersen and the niner Charles Torre , through ( http://www.msteched.com/ ), provided by Channel9 live ( http://channel9.msdn.com/ ). This wasn’t just a live panel, but an interactive QnA too, so as me and a friend / colleague of mine ( Nikos ), watched it, we asked a question through twitter of Channel9 ( http://twitter.com/ch9live ). The question (both actually) have been presented through the monitor, to

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

Posted: Πέμπτη, 10 Ιουνίου 2010 2:33 πμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , , , , , , ,
[Μαθαίνοντας Design Patterns] Model – View – ViewModel
Συνεχίζοντας τη σειρά με τα design patterns , σε αυτό το post γίνεται μία αναφορά στο MVVM, μέσα από μία αρκετά απλοϊκή προσέγγιση. Θα περιγραφεί το pattern, θα δωθούν μερικές base classes, ένα utility για το πώς γίνεται type-safely raise ένα event για ανανέωση UI, καθώς και ένα μικρό παράδειγμα, με Bing Maps σε μία Silverlight εφαρμογή. Τί είναι το MVVM; Το Model – View – ViewModel είναι ένα πρότυπο σχεδίασης για το σχεδιασμό διεπαφών χρήστη, το οποίο έχει επηρροές τόσο από το Model View Presenter, όσο και

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

Posted: Πέμπτη, 11 Μαρτίου 2010 2:30 πμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,
Closures στη C#
Τελικά τα closures είναι ένα απλό concept, που όταν το κατανοήσει κάποιος, το βλέπει τετριμμένο μετά. Αν μπορούσα να δανειστώ από κάπου, δυό λόγια για ορισμό, νομίζω η wikipedia το περιγράφει αρκετά καλά. Τα closures είναι μία ιδέα των γλωσσών προγραμματισμού, που επιτρέπει, σε συναρτήσεις που αντιμετωπίζονται ως first-class objects, τον συσχετισμό ελεύθερων μεταβλητών τους, με τον λεκτικό περιβάλλοντα χώρο της συνάρτησης. Στη συνέχεια θα ήθελα να διατυπώσω το εν λόγω concept όσο πιο σύντομα γίνεται, δανειζόμενος

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

Posted: Τρίτη, 9 Μαρτίου 2010 12:13 πμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , , , ,
Αντιγραφή αρχείου σε UNC Path προγραμματιστικά (ASP.NET or just code)
Η αντιγραφή αρχείου σε NAS, προγραμματιστικά (ή εν γένει σε κάποιο UNC location εκτός τοπικού μηχανήματος) είναι μία ανάλογη διαδικασία, όπως αν το κάνουμε μέσω του UI. Θα ανοίγαμε το Run, στην συνέχεια πληκτρολογούμε το unc path. Αν σε εκείνη την τοποθεσία έχουν τεθεί permissions για όλους, τότε το παράθυρο ανοίγει κατευθείαν. Σε αντίθετη περίπτωση θα πρέπει να εισαχθούν τα στοιχεία για να γίνει login ο χρήστης, είτε τοπικός, είτε domain (σε αυτήν την περίπτωση θα πρέπει να εισαχθεί και το domain με τον γνωστό

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

Posted: Πέμπτη, 14 Ιανουαρίου 2010 11:02 μμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,
Παρουσίαση .NET και C# στο ΠΜΣ Πληροφοριακά Συστήματα ΟΠΑ – Τεχνολογία Λογισμικού
Παραθέτω το υλικό της σημερινής παρουσίασης για .NET, C# που είδαμε στο μάθημα Τεχνολογίας Λογισμικού (ευχαριστούμε τον καθηγητή Εμ. Γιακουμάκη που την πραγματοποιήσαμε επιτυχώς). Η παρουσίαση που διαδέχτηκε τη δική μου, από τον Μιχάλη Ζερβό, βρίσκεται εδώ . Και οι δύο, βρίσκονται στο e-class του μαθήματος. Στην παρουσίασή μου, προσπάθησα να δώσω όσες περισσότερες ιδέες μπορούσα (στο σύντομο χρονικό διάστημα της μίας ώρας) αναδεικνύοντας την εκφραστικότητά της και τις δυνατότητες που έχει. Καλύφθηκαν αρκετά

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

Posted: Τρίτη, 12 Ιανουαρίου 2010 4:43 μμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , , ,
Πύργοι του Ανόι σε F#
Θυμάστε πώς είχαμε υλοποιήσει τους πύργους του Ανόι σε C στη σχολή όταν πρωτοπήγαμε; Ορίστε πόσο απλή είναι η έκδοση του σε συναρτησιακό προγραμματισμό (με χρήση της F# ). Κατ’αρχάς μερικές νύξεις στο VS Studio 2010 που έχει ενσωματωμένα templates και debugging tools για αυτή τη νέα γλώσσα. Ανοίγουμε το VS Studio 2010 Beta 2 που μπορούμε να το κατεβάσουμε δωρεάν όσο διαρκεί η φάση Beta και διαλέγουμε να δημιουργήσουμε ένα Console Application σε F#. Στην συνέχεια κάνουμε paste τον παρακάτω κώδικα (προσέξτε το

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

Posted: Κυριακή, 13 Δεκεμβρίου 2009 4:22 μμ από Aggelos Biboudis | 1 σχόλια
Δημοσίευση στην κατηγορία: , ,
Εισαγωγή στα Expression Trees και στις δυναμικές μεθόδους (Visual Studio 2010)
Στο απόλυτο βιβλίο για compilers (καθιερωμένο ως Dragon Book εξαιτίας του concept art εξωφύλλου του στην πρώτη έκδοση) ως abtract syntax trees ή απλά syntax trees, ορίζονται οι ιεραρχικές συντακτικές δομές του πηγαίου κώδικα ενός προγράμματος. Όταν γράφουμε κώδικα, υπάρχει μία πάρα πολύ συγκεκριμένη διαδικασία η οποία μετατρέπει τις λέξεις και τα σύμβολα που γράφουμε, σε δομές που έχουν συγκεκριμένη σημασιολογία. Το πρώτο κομμάτι ενός μεταγλωττιστή ασχολείται με το “διάβασμα” του κώδικα που γράφουμε. Αυτή η

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

Posted: Σάββατο, 28 Νοεμβρίου 2009 4:29 πμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: ,
1st Architecture Days post-event comments
Πριν μερικές ώρες γύρισα από το πολυαναμενόμενο event του dotnetzone.gr, για αρχιτεκτονική λογισμικού [ link ]. Θα ήθελα να συγχαρώ τους διοργανωτές για την οργάνωση και τη θεματολογία. Δυστυχώς έπρεπε να αποχωρήσω στο τελευταίο μέρος λόγω υποχρεώσεων αλλά θα ήθελα να σας μεταφέρω την εμπειρία από τα τρία πρώτα μέρη. Locating and addressing performance issues: From software to hardware architecture - Διομήδης Σπινέλλης Ο κύριος Διομήδης Σπινέλλης, μέσα σε μία ώρα έθιξε τα κύρια σημεία του code quality, και τρόπους

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

Posted: Παρασκευή, 23 Οκτωβρίου 2009 2:14 πμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: ,
Ασφαλής χρήση FileSystemWatcher
Υπάρχουν σενάρια που χρειάζεται να ξέρετε πότε ένα καινούριο αρχείο δημιουργείται σε έναν κατάλογο, ή πότε γίνεται rename, ή πότε αλλάζει το Last Changed timestamp για να κάνετε διάφορες εργασίες. Έστω το σενάριο, ότι έχετε ένα εξωτερικό εργαλείο που κάνει κάποια λειτουργία μετατροπής αρχείων. Για να μπορείτε να αντιληφθείτε πότε το αρχείο γράφτηκε στο folder που παρατηρείτε και να αντιγράψετε το αρχείο αυτό κάπου αλλού, ή να το επεξεργαστείτε, μπορείτε να χρησιμοποιήσετε το FileSystemWatcher του .NET. Παρόλα

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

Posted: Δευτέρα, 12 Οκτωβρίου 2009 1:24 πμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,
Tip of the day #2: Problem with your WCF hosting? Probably an ABC matter!
Today I faced a nice little issue. It wasn’t something mindblasting and the solution wasn’t somehow innovative, but rather a 5-minute issue to resolve (If I had said the ABC out loud first). Instead it was a 30 minutes work. I was asked to make a new WCF web service to provide some functionality for our business case. Some structural background on the project I was working on: It is a Silverlight application, with client-side data management UI, a server-side with (web) services supporting our business logic

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

Posted: Τετάρτη, 30 Σεπτεμβρίου 2009 9:19 μμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: ,
Tip of the day #1: Love and take care of your MSDTC connectivity
You have a nice day, but something is missing. Your first debug tryout, after some hours of refactoring and new feature coding. After the successful built, you get your first exception (the usual handled exception that is logging something). Usually the exception is self-explained, it gives you the right information and with a little bit of help from the call stack you pin-point the failure. So, let’s see the code…xmmmm…the error is somewhere on my tested-and-working-perfect-until-now part of my module… The

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

Posted: Τετάρτη, 30 Σεπτεμβρίου 2009 9:14 μμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,
Tip of the day #0: Admit your SLCM’s
How many of you, have experienced an embarrassing –at yourself- code bug situation? You know, that you were better than this one, but you don’t want to admit it. You go home at night, thinking about it. You dream of it, laughing in your face…it’s laugh jumps out, through the code blocks, haunting your existence… it isn’t a logical error in communication of the wireless sensor network you recently engineered, it is a bug, residing in your configuration file… it isn’t an algorithmic fault, in your genetic algorithm

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

Posted: Τετάρτη, 30 Σεπτεμβρίου 2009 9:07 μμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία:
Windows Sensor and Location platform
Τα Windows 7 περιέχουν ενσωματωμένη (native) υποστήριξη για διαχείριση αισθητήρων μαζί με μία προγραμματιστική πλατφόρμα που την συνοδεύει. Αφορά location sensors, temperature, accelerometer, ambient light, moisture, camera, RFID και πολλούς ακόμα τύπους αισθητήρων, που κοινώς φέρνουν τον enterprise developer πιο κοντά στις εφαρμογές διάχυτου υπολογισμού, από το να κάνουν μία απλή εφαρμογή mashup που θα χρησιμοποιεί δεδομένα από gps μέχρι μία sophisticated πλατφόρμα data fusion . H πλατφόρμα ονομάζεται Sensor

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

Posted: Τρίτη, 25 Αυγούστου 2009 12:58 πμ από Aggelos Biboudis | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,
Περισσότερες Δημοσιεύσεις Επόμενη »