Posts

Is BI + NoSQL = NoGo?

Image
Successful leaders stay ahead of the competition, by making educated decisions based on hard data. In some cases, organization's data is so vast (Big Data), that Microsoft Excel just won’t cut it. If that’s your situation, you will probably want to consider a Business Intelligence (hereafter BI) solution. One important aspect when evaluating a BI tool, is to check if the BI tool can work well with all data sources in your organization (existing and planned). In this post, we will explore one prevalent data source, the NoSQL database. We will see how well BI tools and NoSQL databases work together . Spoiler alert: there is an Impedance Mismatch between the two. We can start with a quick introduction to BI and NoSQL as it will help better understand the main problem. The amount of data available for business this days, is vast and growing rapidly year after year. So is the need to transform raw data, into meaningful and digestible information. One that businesses can act upon. So, if...

MongoDB Server specifications

Image
I needed to build a dedicated server to host MongoDB (NoSQL) database for a PoC. In this stage, I did not need to worry about replication. Usually, when I need to build a server for development, I just take one of the unused machines around and convert it to something I can work with (in many cases on top of VMWare). This case was different as I needed to build the server from scratch. What should be the HW specs for such a server? I couldn’t find any official document describing such a BoM (minimum requirements / system load and the resources needed). One of the searches I made was for a ‘NoSQL database resource calculator’ (similar to the one you have for cloud computing resources like Azure). One that you put in the estimated load (like the number/size of documents/collections/reads/writes) and you get HW recommendations. No luck. I guess it would have been nice to have such a calculator on MongoDB’s site. Not sure how feasible it is though… After several more searches I found a goo...

What is intelligence and what is not?

Image
The following is my take on the book "On Intelligence" by Jeff Hawkins. The biggest mistake is the belief that intelligence is defined by intelligent behavior What is intelligence and what is not? Alan Turing, the British mathematician, believed that behavior and intelligence are tantamount, however, ELIZA has proven it to be a fallacy. Behavior is actually a manifestation of intelligence. John Searle, an American philosopher, took the opposite approach with his Chinese Room experiment. Searle did not define what intelligence is; he stated that computers do not have it. Are we intelligent enough to create truly intelligent machines? If a machine like IBM’s Deep Blue comes to mind, think again. Many scientists were, are and will continue to embark on this endeavor. Hawkins emphasizes that a truly intelligent machine could be built by examining the schematics of the human brain. Will this approach confine us? Should we limit ourselves to the five human senses? Or, should we exp...

Looking for a good C# 4.0 book?

Image
If you want to learn or just need some brushing up of your C# 4.0 knowledge, I would like to encourage you to pick up this book:  Professional C# 4.0 and .NET 4  The following link will take you to the review I wrote for this book: http://www.amazon.ca/review/RP51K7NK7Q44P

Should you script your way to a solution?

Image
I was asked to create a quick, Microsoft-based solution for data migration while upgrading clients to the latest version. I needed to come to a decision on whether to use a scripting language (like PowerShell) or to use fully fledged compiled language (like C#). The following are some of the advantages and disadvantages for scripting your way to a solution: In general, a script will run slower as it needs to be compiled on the fly to machine language for it to run (scripts, generally speaking, fall into the interpreted languages bucket). Taking this into consideration, a script is not your best option if performance is a requirement.  On the other hand, it is easier to customize a script as a lengthy build process, often done by a Configuration Management team, is not needed. This increases the agility of iterative development so time and money could be saved. You can also save on engineering costs as you can have non-developers (e.g. service personnel) maintaining the script wit...

Getting Venues with FourSquare API

Image
This example will demonstrate how to fetch certain venues with FourSquare API V2 using C#. The following is a link to a live demo:  http://foursquare.azurewebsites.net/ Step 1 - Client Creation: In this example, I’m using a client library called SharpSquare and the following is the SharpSquare client creation. var assembly = Assembly.GetExecutingAssembly(); //todo: use XML instead var resourceName = "client_secrets.txt"; string clientId = null; string clientSecret = null; using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { clientId = reader.ReadLine(); clientSecret = reader.ReadLine(); } } //Do not try to create the client without proper credentials if(!(string.IsNullOrEmpty(ClientId) || string.IsNullOrEmpty(ClientSecret))) SharpSquare = new SharpSquare(ClientId, ClientSecret); Setp 2 - Get Venues: The following method gets  venues by category within a certain radius given a postal c...

Nice Picture

Image
This is a nice picture I took with my phone the other day. It's amazing how capable smartphone cameras are!