Python
A zero-effort approach to speed up numerical Python code
Since the start of 2022, Python and C have remained neck and neck at the top 2 positions of the TIOBE index, making them the most popular programming languages. The contrast could not be starker: Python favors programmer productivity while C favors computational speed, each designed to be at the opposite ends of this trade-off spectrum. This post explores how Numba, a just-in-time (JIT) compiler, can speed up numerical computations in Python without additional effort or any rewriting of existing Python code, i.e., improving the computational speed without trading off any programmer productivity. I will employ an example to illustrate this crucial point by comparing code readability and execution speed: Numba vs. Numpy vs. JavaScript.
Using Ansible to setup Mahout MapReduce environment
Although the support for Hadoop & Mahout’s MapReduce has been phased out since 2014, sometimes it is needed for big data work, research, or study. Ansible is a scripting tool that can be used to automate the setup of a reproducible environment for such a workload reliably and efficiently. This post serves two objectives: to give you a basic walkthrough of using Ansible and to provide you with my downloadable tool for setting up the software environment mentioned earlier for big data analysis.
Back to Top
speed
x64 hardware accelerated computations of SHA-256 hashes
SHA-256 is a popular hash function used in various applications, including data integrity verification and cryptocurrency proof-of-work. This post serves two objectives: to introduce you to blockchain and proof-of-work used in cryptocurrency mining and to provide you with a library using x64 instruction set extensions to speed up SHA-256 computations for cryptocurrency mining (and similar use cases); the library has C/C++ and Python interfaces. I cover both objectives simultaneously using a walkthrough of adapting code from a library for data integrity verification (‘Intel(R) Intelligent Storage Acceleration Library Crypto Version’) into my library for cryptocurrency proof-of-work.
A zero-effort approach to speed up numerical Python code
Since the start of 2022, Python and C have remained neck and neck at the top 2 positions of the TIOBE index, making them the most popular programming languages. The contrast could not be starker: Python favors programmer productivity while C favors computational speed, each designed to be at the opposite ends of this trade-off spectrum. This post explores how Numba, a just-in-time (JIT) compiler, can speed up numerical computations in Python without additional effort or any rewriting of existing Python code, i.e., improving the computational speed without trading off any programmer productivity. I will employ an example to illustrate this crucial point by comparing code readability and execution speed: Numba vs. Numpy vs. JavaScript.
Back to Top
scripting
Using Ansible to setup Mahout MapReduce environment
Although the support for Hadoop & Mahout’s MapReduce has been phased out since 2014, sometimes it is needed for big data work, research, or study. Ansible is a scripting tool that can be used to automate the setup of a reproducible environment for such a workload reliably and efficiently. This post serves two objectives: to give you a basic walkthrough of using Ansible and to provide you with my downloadable tool for setting up the software environment mentioned earlier for big data analysis.
Back to Top
big data
Using Ansible to setup Mahout MapReduce environment
Although the support for Hadoop & Mahout’s MapReduce has been phased out since 2014, sometimes it is needed for big data work, research, or study. Ansible is a scripting tool that can be used to automate the setup of a reproducible environment for such a workload reliably and efficiently. This post serves two objectives: to give you a basic walkthrough of using Ansible and to provide you with my downloadable tool for setting up the software environment mentioned earlier for big data analysis.
Back to Top
JavaScript
A zero-effort approach to speed up numerical Python code
Since the start of 2022, Python and C have remained neck and neck at the top 2 positions of the TIOBE index, making them the most popular programming languages. The contrast could not be starker: Python favors programmer productivity while C favors computational speed, each designed to be at the opposite ends of this trade-off spectrum. This post explores how Numba, a just-in-time (JIT) compiler, can speed up numerical computations in Python without additional effort or any rewriting of existing Python code, i.e., improving the computational speed without trading off any programmer productivity. I will employ an example to illustrate this crucial point by comparing code readability and execution speed: Numba vs. Numpy vs. JavaScript.
Back to Top
cryptocurrency
x64 hardware accelerated computations of SHA-256 hashes
SHA-256 is a popular hash function used in various applications, including data integrity verification and cryptocurrency proof-of-work. This post serves two objectives: to introduce you to blockchain and proof-of-work used in cryptocurrency mining and to provide you with a library using x64 instruction set extensions to speed up SHA-256 computations for cryptocurrency mining (and similar use cases); the library has C/C++ and Python interfaces. I cover both objectives simultaneously using a walkthrough of adapting code from a library for data integrity verification (‘Intel(R) Intelligent Storage Acceleration Library Crypto Version’) into my library for cryptocurrency proof-of-work.
Back to Top
Excel
Cubic spline interpolation using Excel LAMBDA
Despite their reputation for being (human) error-prone, spreadsheets are indispensable tools in many areas of financial modeling. In recent years, Microsoft Excel has introduced new features that could benefit many users. This post aims to introduce these modern features using a walkthrough of building a tool for interpolating numbers, a common need in financial modeling work.
Back to Top
LAMBDA
Cubic spline interpolation using Excel LAMBDA
Despite their reputation for being (human) error-prone, spreadsheets are indispensable tools in many areas of financial modeling. In recent years, Microsoft Excel has introduced new features that could benefit many users. This post aims to introduce these modern features using a walkthrough of building a tool for interpolating numbers, a common need in financial modeling work.
Back to Top
dynamic arrays
Cubic spline interpolation using Excel LAMBDA
Despite their reputation for being (human) error-prone, spreadsheets are indispensable tools in many areas of financial modeling. In recent years, Microsoft Excel has introduced new features that could benefit many users. This post aims to introduce these modern features using a walkthrough of building a tool for interpolating numbers, a common need in financial modeling work.
Back to Top