Integrate LabVIEW with Python to access SaaS Services

Blogs, LabVIEW Blog
The world is bombarding with SaaS services all over and it's time to connect LabVIEW to the SaaS world. Most of the SaaS service provides Python API and integrating Python API to LabVIEW is gradually becoming a norm. Recently I spoke on GLA Summit 2021 about how we can integrate the LabVIEW with SaaS services with a producer-consumer loop in the python layer. Demonstration Video This video explains a top-level view of how this really works for a simple email SaaS from mailersend. https://www.youtube.com/watch?v=YQeJaod8Ti8 Presentation Slides Here are the slides where I explained one of the Python to LabVIEW integration techniques that I adopted for integrating the SaaS services to LabVIEW. GLA Summit 2021: Python Integration & Door to SaaS worldDownload
Read More

WP: Plugin download or update error

Snippets
There are many solutions around the web for this but for me, a temporary solution worked in a way when I made all of the root files read+write from /opt/ as below. Since I'm working on a separate copy of WP in my local drive, its not too risky to do this. $sudo chmod -R a+r+w opt/ And then removing the temporary directory (commenting out) mentioned in the wp-config.php file //define('WP_TEMP_DIR', '/opt/bitnami/apps/wordpress/tmp');//define('WP_TEMP_DIR', ABSPATH . 'wp-content/tmp/');
Read More

Arity & Currying

Blogs, Snippets
This is a series of blogs where I collect some interesting programming concepts, new things I learn Arity represents the number of arguments we pass to a function (or module). Say you may pass N args to a function. Currying is the process of reducing the number of arguments you pass to 1 but increase the number of functions to N. For Eg. To add three variables a, b and c you may write func like below function add (a,b,c){ return a+b+c; } add (45, 46, 47); Currying the same above function is then like below function add (a){ return function add (b){ return function add (c){ return a+b+c; }; }; } add (45) (46) (47); Notice how each function returns another function until the last function does the final…
Read More

Imperative vs Declarative programming paradigm

Blogs, LabVIEW Blog, New Learnings
This is a series of blogs where I collect some interesting programming concepts, new things I learn As LabVIEWers we're familiar with few programming paradigms like object-oriented (OOP). Have you heard of functional programming?Imperative Programming changes the state of the program. OOP is an imperative programmingDeclarative Programming: doesn't change the state of the program. Functional is a declarative programming Wikipedia has more details on the programming paradigm 2 main principles of Functional Programming Don't mutate. Don't change the state of the program, whatever data comes into the function make a new copy of the function and return the new data without modifying the original data. Keep the function purely independent ie., even if you want to play with the global variables, then pass that global variable as arguments to that function…
Read More

Get paid for your source code contribution.

Blogs, Random Thoughts
This blog is from my random thoughts collection.Just imagine what would happen if you are getting paid for your source code contribution. Na na na..! Not for any rubbish feature you add, but for the feature which is getting viral and used by most people of the main repo. For this to happen the main source code in the should be generating the revenue wherever it's used. And that generated revenue should be split to the key feature which is making the people to buy that repo. A mechanism to identify which feature is most used, most used feature is the selling-point. Based on feature usage, money can be split-up and paid to the right contributed persons.So, are you ready to fork a repo, and add some feature to start…
Read More

LabVIEW 64-bit Database Addon

Blogs, LabVIEW Blog
Up until LabVIEW 2018, National Instruments provided database addon only for 32-bit version. Those who works with 64-bit LabVIEW version, this could be a roadblock if ever wanted to run the app only in 64bit and still need to access databases. Access Database from both LabVIEW 32bit and LabVIEW 64bit Short Answer A simple trick which works. If we copy the database addon from 32-bit LabVIEW installation to 64-bit LabVIEW installation, it still works without any issues. However ensure that other database file (.udl etc) and ODBC connections are setup for 64bit as well. Checkout my Oracle DB Connection learnings as well here Long Answer I used Oracle database via ODBC for an application in 32-bit. To get it working in 64 bit I had 32-bit version of same LabVIEW…
Read More

How did I migrate WordPress & Added SSL to this site?

Blogs
When my Let's Encrypt SSL gone up and the website become unsecure, the nightmare started. Easily the web traffics go low due to Chrome browser stops the visitors to avoid entering unsecured sites. I couldn't renew my SSL as well due to older version of Bitnami Stack that I had and eventually I had to migrate whole stuffs to get it fixed . So How did I migrate the whole WP to newer Bitnami stack and fixed the SSL issue? What has happened? Though I had words with Bitnami community team, it wasn't much fruitful. Later I understood that Bitnami stack that I had was older version and so the Bitnami's own Certification tool bncert-tool were not working. Configuring the Let's encrypt the old way yet not worked and thrown…
Read More

My Favorite Linux Command line tools & Commands

Blogs, Snippets
Disk Space Analyzers df - command This command can quickly give a glance of how much space are consumed and left out on overall level. For example, below image shows that I have consumed 51% of my disc, so I have 49% left out. NCDU The below command worked for me in bitnami stack however there are also other commands for other OSes. The key feature about NCDU is we can analyze from the root folder and easily navigate with arrows and enter the key to see which is occupying more space. Remember to use Ctrl+Z to exit this at any time. sudo apt install ncdu Folder & File Permission Command: chmod Recursive: -RAll Read Write: a+r+w sudo chmod -R a+r+w /FOLDER/
Read More