Playing with Google Charts and experiencing in web development

Background Over the last several months, I’ve been playing around more and more with web development. Until now, I’ve spent most of that time reading blogs and tutorials. I’ve decided that now’s the time to start actually writing something. For one of my ideas, I wanted to allow users to create a tree diagram dynamically. … Read more

Cap’n Proto – a call to action

Cap'n Proto Logo

Marc Gravell is a valued associate in StackOverflow, so I make sure to follow his blog – thisguy knows what he’s doing (he’s the main contributor to Dapper.net, StackExchange.Redis and protobuf-net). Over the weekend, Marc wrote about a project called Cap’n Proto – a new serialization protocol, implemented by the same guy that developed Protobuf at … Read more

Azure Mobile Services: Truncate table in Scheduler

Azure Mobile Scheduler

I am using Windows Azure Mobile Services to manage the Leaderboard of my Movies Trivia and Geo Trivia. Due to the nature of the data, I’m using 3 tables: Users: to maintain the users’ Id and Name Leaders: the list of players, ordered by their position in the board Results: the scores that are submitted … Read more

MurmurHash – a FAST hashing algorithm

As I did my research on HyperLogLog, I used the built-in MD5 HashAlgorithm.As I was running my tests on larger and larger datasets, the running time grew too much to my liking. A hash function is any function that can be used to map data of arbitrary size to fixed-size values. The values returned by … Read more

HyperLogLog – a near-optimal cardinality estimation algorithm

UPDATE: My implementation is no longer updated. I strong suggest you take a look at Microsoft’s CardinalityEstimator project, which implements the HyperLogLog algorithm, along with a few optimizations Over the last several months I’ve been immersing myself further and further into the big data world, and into developing and operating a SaaS. I’ve been trying … Read more

Netflix compressed graphs in .Net

Netflix populated graph

A while back, Netflix wrote in their blog about their graph library, and the work they’ve done to reduce the memory footprint of their graph. Reducing memory allows Netflix to maintain the whole graph relations in-memory (note that the node themselves are not maintained in-memory), which means that queries on the graph are returned extremely … Read more

Best C# client for WebDAV

I always prefer using existing libraries implemented by someone else – it means that I don’t have to study the subject matter, and not less important, that someone else maintains the code for me (tests the code, implements new features, follow-ups on newer versions of the APIs if any, etc.). That being said, every now and … Read more

KnockoutJS Mapping plugin to the rescue

Knockout JS Logo

I’ve been using KnockoutJS for a long time now, but only recently found the magic that is the Knockout-Mapping plugin. A few days ago, I spent some time refining some old code, and encountered something along the following lines: (The friendlyPastMoment() method is just a small wrapper method around MomentJS, for handling edge cases) We … Read more

Using the LibraryThing API from C#

LibraryThing Logo

If you are not familiar with LibraryThing, go ahead and visit their website – it’s probably the most comprehensive bookscollection in the web. LibraryThing provide several APIs, one of them a RESTful API, which can be invoked from C# relatively easily. In this post I’ll describe how to use that API. First, you need to … Read more

Compacting a RavenDB database

RavenDB Logo

One of my RavenDB databases grew to an unrealistic size – 36GB when it contains around 500,000 documents which are mostly small. After some back-and-forth with the RavenDB support team, I was suggested to compact the database. Sounds easy, if you know what you’re doing, since documentation on that is … let’s say lacking… Here’s what you … Read more

Accessing OneDrive via .Net

TLDR: I created a new NuGet package/GitHub repository for a library to allow you access to OneDrive via .Net. Over the last few days, I’ve implemented a .Net Class library to provide .Net access to OneDrive. Although Microsoft provides its own SDK (which is found at http://msdn.microsoft.com/en-US/live/ff621310), that library is not very developer friendly – … Read more

Querying our GitHub & NuGet data

Using RavenDB Index to query NuGet packages used in GitHub

In my previous posts, I’ve discussed how to retrieve the list of top repositories from GitHub,get the list of packages each one uses, and store all that informationin a RavenDb database. Now, it’s time to query all the data. RavenDb provides Map/Reduce indexes for querying the data. Let’s see some of the basic ones that … Read more