Abstraction

In daily life we do many things by the help of abstraction. We don’t need to understand every low level details. For example a .NET programmer is writing code for his client but he don’t need deep understanding of how the compiler works and how his program become native code for execution. This is because most of these details are abstract away by the .NET framework. In this way with abstraction we can build applications with self defined modules but don’t need to understand how the module works internally. We only know the interface, what is the input and what we will expect to get as output. You can find other examples of abstraction in real life also. When you type a website name in your favorite web browser it automatically open the page. What happens in between is an abstraction for you. Your web browser already knows that and you don’t need to know the underlying details.

In previous age of computer programming the programmers are lot expected to know about much low level stuffs. But today we are lot more expected to build things on top of that low level details. Now a days how compiler works knowledge is become good to have and how you can build cloud solutions is a must for example. We are changing. Today that module you are building may be tomorrow someone will use that. Next generation programmers will not try to understand what we do today because those will be abstract away from them. They will build things on top of them.

For Indians, English is a foreign language. In our students life we putted a lots of effort to understand English grammar and spelling. Learning process is changing. Future students will write with the help of spell checker. Understanding of spelling and grammar is becoming must have to good to have. They don’t need to know English spelling instead they will write letters on top of spell checker.

Still if you have time and interest you can dig in to some extent to the abstraction layers. Try to understand how compiler works, what happens when you type in your browser address bar. It will make your knowledge stronger and help you to debug when things go wrong.

Arnab

Upgrade Crystal Report

Yesterday one of my old colleague called me and we are discussing about framework and tools upgradation of an old project. We had a project developed with Visual Studio 2008. Now he wants to upgrade it with Visual Studio 2012 or higher. Most parts of the codebase are upgraded by Visual Studio conversion tool very easily. But only area where he finds many problems is, Crystal Reports.

Yes, the project had many reports developed with Crystal Report technology. Microsoft Visual Studio 2008 has Crystal Report support in it. But in latest version of Visual Studio don’t have that. Microsoft pull out the support of Crystal Reports from latest Visual Studio because of their own reporting tool which is SSRS reporting tool.

Now the question is how he can upgrade the codebase with old Crystal Reports. I was searching the internet regarding this topic today morning. I found two options to upgrade.

  1. He can convert them to SAP Crystal Report. SAP is currently having the ownership of Crystal Report.
  2. He can convert it to SSRS report.

If required, I need to dig deeper about the process of the above options. But in theory as per my quick search I have found these two options. There may be some tools to convert old Crystal Reports to SAP Crystal Reports but I think those are not full proof. The best way is to build them manually. As per as I can remember those reports has ADO.NET DataSets to pull data from. If he can configure those DataSets with the new reports then I think the job will be done. Only part is he needs to build the UI part manually.

If you faced same problem at the time of upgrading your old codebase and found some more options, please tell me in comment section.

Arnab

BHIM app

Under ‘Digital India’ initiative, India is developing a cashless economy. The latest addition of this is BHIM app.

There are many options available if you want to transfer money from one person’s account to another. There is NEFT and IMPS. But the latest one is UPI (Unified Payment Interface). With UPI you can send money instantly and the cost is much less in comparison with the others. UPI works with your mobile number. Actually your mobile number is tagged with your bank account and you can send or receive money with your mobile number.

To use UPI you need to download your bank specific app. So many people have different apps for UPI. To streamline this problem, Indian government has come up with an app called BHIM. You can setup any of your bank account with this app and start sending or receiving money. No need to download different apps. The best part is money transfer is fast. You don’t need to register beneficiaries. You just need to know the mobile number of that person. It is linked with your bank account. There is no wallet concept, that means you don’t need to add money to wallet first.

Overall BHIM is fast and simple. I am currently playing with this app and the process. One last point, we can pay with this app by scanning QR code to any merchant shop if available. I am looking forward to use this app more in future for my mainstream requirements.

Arnab

Email vs messenger

Today I saw a blog post from ‘office blog’  about future workplace productivity. In that post there are couple of sections. Every sections are talking about today’s work approach and how it is changing towards future approach. For example today business communications are mainly done with email. In future it will be done with messengers. Second example is, today we use mostly office for work. In future we will see more remote work habits. Third is about cubicles and open floor plan. Continue reading “Email vs messenger”