Mount Windows Network Shares from Windows Subsystem for Linux

Using WSL by default you get full access to the Windows filesystem but not to any mapped network drives. To mount network drives in WSL use the following command. For example to mount a network drive mapped to F to a WSL location /mnt/f you would type Now you can access any file in the …

OpenCage Geocoding Using KNIME

A standard installation of KNIME does not come with a built in Geocoder node but it’s very easy to either install one or make your own. KNIME has a page dedicated to Geo Nodes (https://www.knime.com/book/geo-nodes) using the Palladian Community Nodes that supports both MapQuest and Google. But if you want to roll your own using …

Using KNIME Recursive Loops with a GraphQL API

Introduction This guide will show you how to use a recursive loop to download data from an API. I my case I’ll be using a GraphQL API but the approach would work in a similar way for any other REST API. This guide will not go into the details about the workings of GraphQL as …

Dynamically Output to Multiple Files in KNIME

The Problem How to output to multiple files with dynamic contents and unique names using KNIME without hardcoding filters and using multiple branches? Loops, you need loops. Coming from Alteryx that doesn’t have loops (you are required to use macros to achieve the same effect) it took me a while to understand KNIME loops. But …

KNIME Database SQL Filter using the IN Operator

Sometimes using KNIME it would be nice to create a DB row filter based on a list of items. When not using DB tools you can use the reference row filter but this cannot be used with DB connections. The other standard method would be to use the DB Row Filter but this only supports …

Default Include or Exclude New Columns in KNIME

It’s common when creating a new workflow that after the flow is finished the source data can change. The most common scenario is when connected to a database table or view and the data gets extra columns added. In this scenario you need to make sure that your workflow doesn’t break caused by the introduction …

Getting OP_RETURN Bitcoin Messages

This is mainly a note to myself as every time I want to do this I end up searching through my history doing something like this. So here’s the code to extract the OP_RETURN message from the bitcoin blockchain. This needs to be run on the machine running your full node. The output looks like …

Compound Improvements

The easiest way to earn money, improve a product or learn new skills is very simple. Compounding. If you invest money today in an Index fund and just leave it for 30 years you’ll probably be shocked how little it increases in the first 20-25 years and how much it increases after that. Even a …

Common Data Mistakes

This isn’t meant an an exhaustive list but just the most common errors I’ve seen over the years. Taking the average of values that are already an average Trying to join database tables on fields with different data types Processing data you will later discard, do filtering early on Using averages when mean or mode …