Catch the Dot

  • Building Recommendation System Using F# – Part 2

    In the first part, we implemented our first F# function towards building a recommendation system, which could tell us relative closeness of two users based on their ratings given to the various music bands. During implementation, I highlighted some of the core F# programming concepts like pattern matching, options, modules etc.. In this part, we are going to concentrate on following three things:

  • Building Recommendation System Using F# - Part 1

    In this blog post, using F# language, we will try to build a simple recommendation system. The true intent of this post is to learn F# language by implementing a recommendation system. If you are truly interested in learning what it takes to build a true recommendation system, then I would encourage you to read the following text : A Programmers Guide to data mining. I too have used this text as a source of reference for the content of this post. In this post, I am going to port the original python based code to F# and while doing that I will try to highlight various functional programming concepts.

  • Using jsPerf for performance tuning of JavaScript Code

    jsPerf is an online utility for evaluating the performance of your JavaScript code. You can submit multiple variations of your code and then evaluate their relative performance using jsPerf. Interesting feature about jsPerf is that it provides you the result in a browser specific manner i.e. you can run the test on multiple browsers and then compare the performance of your code on different browsers. In this article I will provide you a walkthrough on how to use jsPerf.

  • Benefits of Following

    Things change pretty rapidly in technology world. New frameworks are coming up , existing ones are getting upgraded, languages are adding new features etc. And among all this, the important question for a developer like me or you is, how to keep our self updated? Although there are lots of things that can be done to keep our self updated, one of the approach that I have found working for me is to follow .Net programmers on Twitter.

  • Inauguration Of My Laptop

    Today I received my new laptop which is an Intel Core i5-2450M @ 2.50GHz 4 GB RAM machine . The other laptop(office provided) which I have used for past two years for programming is an Intel Core2 Duo T6570 @ 2.10GHz machine. Reason why I am talking about the laptops that I own is because of my interest in writing multi-threaded/parallel code using the new TPL API provided in the .Net 4.0 framework.

  • Upcoming Courses on Coursera

    Coursera is offering free online courses on various topics such as Network, Information, HealthCare, Computer Science, Mathematics etc. Courses are grouped under these categories and they cover a wide range of topics. I recently completed a five week course called “Design and Analysis Of Algorithms” by Tim Roughgarden. Course material is good, video lectures are short, clear and downloadable. Programming exercise, Q&A, discussion forums etc are few other things that make these courses really interesting.

  • Generic Delegate Types : Func,Action and Predicate

    C# language has observed dramatic transformation from 2.0 to 3.0 and finally with 4.0. C# 2.0 added generics , simplified delegate syntax, nullable types etc. C# 3.0 takes it a level next by adding LINQ , anonymous methods , anonymous types etc and finally C# 4.0 add dynamism, enhances parallel programming by introducing Task Parallel Library. Of all these changes , some are altogether new functionalities in language , some enhance previous features by adding additional capabilities or by just simplifying the syntactical structure. Now we have multiple ways of doing a particular task. Consider iterating through a list of objects. As a developer you can use basic foreach loop, write a LINQ query(either extension method syntax or query based format) or Parallel.ForEach(conditions applied :)) construct.