After updating OS to the latest macOS Monterey 12.3, some of my Apps crashes immediately on starting up. In detail log info, the dynamic linker reported that Python 2.7 is missing, with the following error:

Termination Reason: Namespace DYLD, Code 1 Library missing
Library not loaded: /System/Library/Frameworks/Python.framework/Versions/2.7/Python
Referenced from: /Applications/CHIRP.app/Contents/CHIRP
Reason: tried: '/System/Library/Frameworks/Python.framework/Versions/2.7/Python' (no such file), '/Library/Frameworks/Python.framework/Versions/2.7/Python' (no such file)

According to Apple's release note, Python 2.7 has been removed since macOS Monterey 12.3. This is the reason of the crashes. Considering that some of the latest version of these Apps still depend on Python 2.7, we'll have to install it manually. Python 2.7.18 could be found at the official site of Python. Download and install it, and these crashes shall then be fixed.

Hive is a great bigdata tool for the capability of translating SQL querying into a series of Map-Reduce tasks. In some cases, loading data into Hive becomes an issue to be solved. A tipical situation comes as followed: a large amount of structed data was generated by some process and was saved on HDFS, and now, you are finding a way to build database upon the mentioned data, and thus it could be handled by SQL querying. The problem is that, due to the big volume of data, the high cost of moving data from the birth place to Hive data directory could be ineluctable.

In the following parts of this post, a practical solution would be presented.

Read more »

Polymorphism is one of the most important features of OOP. C++ implements polymorphism by the combination of virtual member functions and pointers (references). As a C++ user, of course you know how to use virtual member function and pointers (references) to achive polymorphism. But there might be a fuzzy zone left around these concepts. For example, have you ever think about the following question?

Can a pure virtual function has a implementation?

This post discuss declaration and definition of virtual member functions in C++.

Read more »