|
dotNETZone.gr Weblogs
-
Well, I’m still here. I know it’s been like ages since my last post but believe me, I’ve been quite busy with tons of stuff and there was no time to blog. So, let’s catch up a little bit: 1) I’ve been awarded the MVP title for 2010 on Visual C#. Thank you very much Microsoft. 2) I’ve attended the Regional CEE MVP Summit that took place in Athens, Greece. Photos will be up soon. 3) I started playing with Cassandra DB from Apache Foundation and I’m currently looking in a way to make it run on Windows Azure. I just started and I’ll keep blogging about it. It’s really cool and I hope it will work! That’s all for now! P.K....
|
-
Κάτι περίεργο συμβαίνει με την εγκατάσταση του Visual Studio 2010 στο pc μου. Ξαφνικά, εξαφανίστηκε το template για τη δημιουργία Class (και σε C# και σε VB projects). Δεξί κλικ στο project, “Add Class…”, πουθενά το Class template! Το fix δεν ήταν δύσκολο, πας στο command line και δίνεις: devenv /installvstemplates Προσοχή: Χάνεις τα custom templates, αλλά μιας και δεν είχα κανένα, δεν ήταν πρόβλημα. Το θέμα είναι ποιος έκανε τη βρωμοδουλειά… Από την εγκατάσταση του VS2010 μέχρι σήμερα, έβαλα τα παρακάτω: Microsoft SQL Server PowerPivot for Excel Microsoft Expression Blend 4 Microsoft Silverlight 4 SDK VisualSVN 2.0 Οπότε το νου σας....
|
-
Έχουμε καλομάθει τώρα τελευταία με τα training kits και το Silverlight 4 δεν θα μπορούσε να μείνει χωρίς ένα τέτοιο. Mπορείτε να το βρείτε στο Channel 9 ή να το κατεβάσετε ολόκληρο από Microsoft Downloads . Αποτελείται από hands-on labs, 8 modules και 25 videos τα οποία παρουσιάζει ο Ian Griffits ενώ το περιεχόμενο έχει δημιουργηθεί από τον John Papa και τον Adam Kinney. Cudos!...
|
-
Σήμερα βρήκα μερικά δωρεάν resources σχετικά με τον SQL Server 2008 R2: Free ebook: Introducing Microsoft SQL Server 2008 R2 Όλα τα enhancements και τα νέα χαρακτηριστικά του SQL Server 2008 R2 SQL Server 2008 R2 Update for Developers Training Kit (April 2010 Update) Presentations, Videos, HOLs, Demos. Τι άλλο να ζητήσει κανείς; Καλό διάβασμα!...
|
-
Με αφορμή αυτό το thread , και επειδή ο ξεχασμένος Scheme hacker που κρύβω μέσα μου επαναστάτησε... σκέφτηκα να συνδυάσω old time classic Scheme hacking και modern C# style API. public static class PatternMatch { public static Func<Func<TValue, TResult>, Func<TValue, TResult>> With<TValue, TResult>(Func<TValue, bool > condition, Func<TValue, TResult> action) { return With(value => value, condition, action); } public static Func<Func<TValue, TResult>, Func<TValue, TResult>> With<TValue, TResult>( this Func<Func<TValue, TResult>, Func<TValue, TResult>> withFunc, Func<TValue, bool > condition, Func<TValue, TResult> action) { return continuation => withFunc(value => condition(value) ? action(value) : continuation(value)); } public static Func<TValue, TResult> Else<TValue, TResult>( this Func<Func<TValue, TResult>, Func<TValue, TResult>> withFunc, Func<TValue, TResult> elseFunc) { return...
|
-
Ένα πρωί ένας προγραμματιστής κάνει μια αστεία ανακάλυψη κι αποφασίζει να τη μοιραστεί με την υπόλοιπη ομάδα, οπότε λαμβάνουμε όλοι το ακόλουθο email: Subject: Interesting property name in SqlTransaction class public sealed class SqlTransaction : DbTransaction { // Fields ... // Methods ... // Properties public SqlConnection Connection { get; } protected override DbConnection DbConnection { get; } internal SqlInternalTransaction InternalTransaction { get; } public override IsolationLevel IsolationLevel { get; } private bool IsYukonPartialZombie { get; } internal bool IsZombied { get; } internal int ObjectID { get; } internal SqlStatistics Statistics { get; } } Αμέσως κυκλοφορεί η απάντηση: Subject: RE: Interesting property...
|
-
There is a need to find the height of a binary tree. Meaning beginning from root (0), the maximum hopes to "highest" leaf. Having the definition: data Tree a = Node a (Tree a) (Tree a) | Empty showing a Tree could be a node with two (node or empty ) or empty, the following recursive algorithm takes six lines of code in Haskell: height tree = tall tree 0 where tall node h = case node of Empty -> h Node _ left right -> if l > r then l else r where l = tall left (h + 1) r = tall right (h + 1) After, I found that: treeHeight :: Tree a -> Int treeHeight Empty = 0 treeHeight (Node _ t1 t2) = 1 + max (treeHeight t1) (treeHeight t2)...
|
-
Η ML είναι μια από τις γλώσσες που άλλαξαν εντελώς τον τρόπο σκέψης μου. Ο Robin Milner είναι ένας από εκείνους τους σπάνιους ανθρώπους, που ανέδειξαν το βάθος, την δύναμη και την ομορφιά στο αντικείμενο που σήμερα ονομάζουμε Computer Science. Μια προσωπικότητα larger than life....
|
-
This is copy-paste from the original article We’re thrilled to offer another free ebook: Own Your Future: Update Your Skills with Resources and Career Ideas from Microsoft , by Katherine Murray. The ebook contains eight chapters and an appendix describing how you can assess and build your technology-based job skills. To give you a sense of the ebook’s content, here is its Foreword, by Microsoft Learning’s Lutz Ziob: Foreword In the midst of a struggling economy, our fast-changing, knowledge-based economy has created unprecedented challenges for employers and workers alike. Employers increasingly need workers with a broad range of information technology (IT) skills. These skills will become even more important as we continue to retool major sectors of our economy, such as healthcare, transportation and energy. By 2014, more than three-quarters of all jobs in the United States will require some level of computing or technology skills, and the vast majority of newly created jobs will require post-secondary education...
|
-
Το Rx είναι το νέο δημιούργημα του Erik Meijer, και μετά από μήνες ενασχόλησης μαζί του, νομίζω ότι είναι απλά 'a work of genius'. Αυτό που κάνει είναι να δρα ως compositional glue για events, asynchronous calls και γενικά για push based computations. Κατεβάστε το από εδώ και αρχίστε να εξερευνείτε τις δυνατότητές του (You will be amazed). Ως ένα παράδειγμα της μαγείας του, έγραψα ένα κλασσικό mouse move recording and playback. var mouseMoveObservable = Observable.Merge( new Control[] { this , recordButton, stopButton, playButton } .Select(control => Observable.FromEvent<MouseEventArgs>(control, "MouseMove" ))); ReplaySubject<TimeInterval<IEvent<MouseEventArgs>>> replayObservable = null ; Observable.FromEvent<EventArgs>(recordButton, "Click" ).ObserveOnWindowsForms().Subscribe(_ => { stopButton.Enabled = true ; recordButton.Enabled = false ; replayObservable = mouseMoveObservable.TimeInterval().Record(); replayObservable.ObserveOnWindowsForms().Subscribe(time => this .Text...
|
-
Microsoft and Amazon Sign Patent-Sharing Deal. More...
|
-
Just three days ago on Feb 13th, SQL Azure got an update. Long requested features like downgrade and upgrade between Web and Enterprise Edition is finally implemented. It’s easy, just with a single command to switch between versions. Also some DMVs were introduced to match on premise SQL Server. Idle session timeout was also increased. In details*: Troubleshooting and Supportability DMVs Dynamic Management Views (DMVs) return state information that can be used to monitor the health of a database, diagnose problems, and tune performance. These views are similar to the ones that already exist in the on-premises edition of SQL Server. The DMVs we have added are as follows: · sys.dm_exec_connections – This view returns information about the connections established to your database. · sys.dm_exec_requests – This view returns information about each request that executes within your database · sys.dm_exec_sessions – This view shows information about all active user connections and internal tasks. · sys.dm_tran_database_transactions...
|
-
Πάντα ήθελα να τους συναντήσω από κοντά όλους μαζί και τελικά τα κατάφερα. Είναι φοβέρο συναίσθημα να είσαι ανάμεσα στους θρύλους του SQL Server. Μίλησα αρκετά μαζί τους και είχα την ευκαιρία να βγάλω και φωτογραφίες μαζί τους. Ανάμεσα στον Paul Nielsen και την Kalen Delaney. Φοβεροί και οι δύο τους. RECPECT!...
|
-
No info on dates though. Strange, that 3 months after Teched Europe 2009 there is no official announcement for Teched Europe 2010....
|
-
Έχοντας αναπτύξει όλο το απαραίτητο machinery ( 1 , 2 ), μπορούμε να συνεχίσουμε με την ίδια αφαιρετική διάθεση και να "ανεβάσουμε" στον κόσμο του 'M', συναρτήσεις με ένα, δυο ή περισσότερα arguments. // liftM declarations let liftM<'M, 'A1, 'R when 'M :> MonadDef<'M>> (m : MonadDef<'M>) (f : 'A1 -> 'R) (a : IMonad<'A1, 'M>) : IMonad<'R, 'M> = m.Map(f, a) let liftM2<'M, 'A1, 'A2, 'R when 'M :> MonadDef<'M>> (m : MonadDef<'M>) (f : 'A1 -> 'A2 -> 'R) (a : IMonad<'A1, 'M>) (b : IMonad<'A2, 'M>) : IMonad<'R, 'M> = m.Apply(liftM m f a, b) let liftM3<'M, 'A1, 'A2, 'A3, 'R when 'M :> MonadDef<'M>> (m : MonadDef<'M>) (f : 'A1 -> 'A2 -> 'A3 -> 'R) (a : IMonad<'A1, 'M>) (b : IMonad<'A2, 'M>) (c : IMonad<'A3, 'M>) : IMonad<'R, 'M> = m.Apply(liftM2 m f a b, c) //liftM example let result = liftM2 listM ( + ) (listM.OfList [0; 1]) (listM.OfList [0; 2]) printfn "%A" result //[0; 2; 1; 3] Haskell...
|
-
Oracle merge predictions for Open Source . More...
|
-
Introduction: In this article I will introduce a way to create excel files from datagrid in windows forms. Plus I will introduce a way to close the excel process which is created with the creation of the excel file On to creation: First thing we need to do is reference Excel. Go to project-.add reference ->.net and select Microsoft.Office.Tools.Excel Now we are ready to go. Let us create a class (let’s call it CreateExcel). The basic function in this class will be for the creation of the Excel and we will pass a GridView and the full name of the excel to be created. Now lets get our hands into code: public void createIt(System.Windows.Forms.DataGridView myGridView, String FullFileName) { System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture; System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo( "en-US" ); try { Microsoft.Office.Interop.Excel.Application oXL; Microsoft.Office.Interop.Excel._Workbook oWB; Microsoft.Office.Interop.Excel._Worksheet...
|
-
Ever wondered how you can use full text search for Greek text in SQL Server? Out of the box SQL Server doesn't provide any stemmers or word breakers for Greek, which makes FTS work similar to a simple LIKE search. Fortunately, the same binary interfaces are used across all Microsoft products which means that you can use the stemmers and word breakers from other products to enable FTS in SQL Server - as long as you have the license for them! As a technical excercise, you can use the Greek stemmer and word breaker from Sharepoint Server, which are described in KB929912 . All you have to do is to add the appropriate registry entries to SQL Server. The generic process for adding new word breakers and stemmers to SQL Server is described in How To: Load Licensed Third Party Word Breakers . The steps are as follows: Copy the grclr.dll, grste.dll, grcste.lex files from the C:\PROGRAM FILES\MICROSOFT OFFICE SERVERS\12.0\Bin\ folder to C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn folder. SQL Server...
|
-
(Haskell ideas => F# (OOP + FP)) Στην Haskell, επειδή έχουμε higher kind polymorphism, μπορούμε να ορίσουμε κάποιες πολύ χρήσιμες και αρκετά γενικές συναρτήσεις για Monads. Σκέφτηκα να προσπαθήσω να κάνω κάτι αντίστοιχο σε F# (υλοποιώντας ένα Generic List Monad) και να ορίσω τις κλασσικές sequence, mapM, filterM. Ως παράδειγμα της δύναμης που μας προσφέρει η αφαίρεση, μπορούμε να ορίσουμε την συνάρτηση του powerset ως εξής: let powerSet xs = listM.FilterM ((fun _ -> listM.OfList [ false ; true ]), listM.OfList xs) // it's magic Χρησιμοποιώντας subtype polymorphism και μερικά περιορισμένα downcasts, καταφέραμε να φέρουμε λίγο από το άρωμα και την αίγλη της Haskell στον κόσμο της F#. Happy hacking... module MonadModule = //Generic Monad Definition [<AbstractClass>] type MonadDef<'M when 'M :> MonadDef<'M>>() as this = let (>>=) m f = this .Bind(m, f) let unit v = this .Return v static let listDef = ListDef() abstract member Return<'T> : 'T -> IMonad<'T,'M> abstract...
|
-
In a very short blog post Rob Caron just announced that Visual Studio 2010 will launch on Monday, April 12 2010. Just waiting now for the Sharepoint launch date!...
|
-
Windows Azure configuration files support an osVersion attribute where you can set which version of the Windows Azure OS should run your service. This feature doesn’t make much sense at the moment as there is only one version WA-GUEST-OS-1.0_200912-01 but in the future it’s going to be very handy. You can learn more about it here . PK....
|
-
Recently at MSDN Forums there were people asking how they can detect if their web application is running on the cloud or locally (Dev Storage). Well besides the obvious part, if you have code inside a Web Role or a Worker Role Start() method, this only exists on a cloud template but what if you want to make that check somewhere else, for example inside a Page_Load method or inside a library (dll)? If you’re trying to detect it on the “UI” level, let’s say Page_Load, you can simply check your headers. Request.Headers["Host"] will do the trick. If it’s “localhost” or whatever you like it to be to can be used to determine if it’s running local. But how about a Library? Are there any alternatives? Well, it’s not the most bullet proof method, but it served me well until now and I don’t think it’s going to stop working as it’s a fundamental architecture element of Windows Azure. There are specific Environment properties that are raising a SecurityException as you’re not allowed to read them. One of them is MachineName....
|
-
You’re trying to create a queue on Windows Azure and you’re getting a “400 Bad Request” as an inner exception. Well, there are two possible scenarios: 1) The name of the queue is not valid. It has to be a valid DNS Name to be accepted by the service. 2) The service is down or something went wrong and you just have to re-try, so implementing a re-try logic in your service when initializing is not a bad idea. I might say it’s mandatory. The naming rules A queue name must start with a letter or number, and may contain only letters, numbers, and the dash (-) character. The first and last letters in the queue name must be alphanumeric. The dash (-) character may not be the first or last letter. All letters in a queue name must be lowercase. A queue name must be from 3 through 63 characters long. More on that here . Thank you, PK....
|
-
Windows Azure training kit it the best starting point if you want to get involved in Azure development. It helps you understand the basics of Windows Azure, its components and the whereabouts of the service. December’s release includes some updates and samples from PDC 09 so don’t miss it. You can download the kit from here –> http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en PK....
|
-
Happy new year everybody. I wish you all the best for 2010. Now that I’m back I’m going to continue posting on Windows Azure. I had some really good rest during holidays and I really enjoyed xmas this time. I hope you did too! PK....
|
|
|
|