Skip to main content

· 4 min read
Adnan Rafiq
Image of Hello

Image by @abrizgalov


Consider developing an application that requires you to store and retrieve data and display it on UI. You will likely need two things:

  1. Relational Data Management System (RDBMS) allows you to store and retrieve data permanently on disk(s) with specific promises.
  2. .NET is cross-platform, which allows you to develop different types of applications (web, console, mobile) using multiple languages (C#, F#).

Data Access in this context means making these two things (.NET & RDBMS) talk with each other. Users will interact with UI which is built using the .NET platform, which is going to learn how to talk with the database in its language (SQL).

.NET offers two different approaches to achieve data access?

  • EF Core - An OR/M.
  • .NET Native abstractions - without an OR/M

· 5 min read
Adnan Rafiq

Ideas Matter Continuous Learning Culture

Adil Najam (Dean, Pardee School of Global Studies, Boston University) gave a talk on topic "Ideas Matter: A reading list for ideas wallahs". He passionately talked about his top 10 books everyone should read, especially folks who are in position of power and ability to influence masses. Focus of his talk was everyone should read books to be the catalyst of real social change & better policy maker.

I would like thank him for bringing immensely valuable topic to the light. My thoughts which are heavily influenced by my recent reading(s) & professionally working as software developer in small to large tech companies in different countries.

Knowledge and problems are two fundamental sources of how human(s) brain emulate idea(s), I guess other species do the same. This raises a fundamental question of how to gain knowledge, since books are an efficient way to store, and communicate knowledge among other modern & innovative ways like audible books, blogs, video and learning from each other etc.

· 4 min read
Adnan Rafiq

MS Office Interop Automation in C#

Problem Statement: For instance, online training web site asked students to submit their assignments for Microsoft Office Access.  The Project involves performing many tasks in MS Access. and evaluating projects manually will be impossible for site with thousands of concurrent users. So, it will require automation for instant feedback and accurate grading; right?

How to automate: We have to create & release instance of MS Access Application object. However, it can be achieved in two ways:

  1. Add reference to Office Interop dll's as shown in below code snippet.
  2. Late Bind, use Type.GetTypeFromProgID("Access.Application") to get type, rest of the code stays same.