Magento Commerce API Fun 🙄

As a consultant you get to work with many different systems, some easy, some difficult and some downright weird. Magento Commerce fits firmly into the last category. For those that don’t know Magento is a very popular E-commerce platform owned by Adobe and used by some of the largest companies in the world. How APIs …

Custom Alteryx Tools

So far I’ve written four Alteryx tools based on the Alteryx Python SDK. You can install by downloading the yxi file under the releases tab in GitHub and simply double click to install. The tools will be available in the Alteryx Tool menus and function just like the built-in tools that ship with Alteryx. Data …

File Hashing in Alteryx

Identifying Duplicate Files Imagine you have a folder full of files, all with different names, where you need to identify which, if any, are duplicates. You could use the file size but it’s not a guarantee the files are exactly the same just because they are the same size. Hashing files is an easy way …

Bitcoin Proof of Work

(With try yourself code!) As much as bitcoin (note here I’m talking about the software also known as bitcoin core) is a highly complex system many of the basic elements can be fairly easily described and demonstrated. Here I’ll demonstrate a very simple example using python showing how mining works and how something called ‘difficulty’ …

You Should Probably Learn To Code

There’s been a clear trend going on for many years now known as ‘No code’ or ‘Low code’. This essentially describes tools or platforms that provide you with a GUI that abstracts away the underlying technicalities so non-technical users can use powerful software. Doing this has been a huge benefit to business since the addressable …

Web Automation Using Python and Selenium

Selenium is a software library that’s used to automate web browsers. It’s often used to run automated testing but can be used for anything involving a web browser. Since so much software is now running in the cloud and accessible via web interfaces Selenium is ideal for automating lots of manual tasks. There’s libraries available …

Multi-threading API Requests in Python

When making hundred or thousands of API calls things can quickly get really slow in a single threaded application. No matter how well your own code runs you’ll be limited by network latency and response time of the remote server. Making 10 calls with a 1 second response is maybe OK but now try 1000. …

Using Python with One Time Passwords (2FA)

Ever wanted to automate a process involving a vendor website and come across this. Me too 😔 One time passwords (aka MFA, 2FA, or two factor authentication as I’ll say from here on) are something everyone should use and are great for security, not so great for automation. Until recently I thought this was hard …

Do What I Mean!

DWIM (do what I mean) computer systems attempt to anticipate what users intend to do, correcting trivial errors automatically rather than blindly executing users’ explicit but potentially incorrect inputs. https://en.wikipedia.org/wiki/DWIM When I hear about the AI singularity and how no one will have jobs in 10 years I usually just laugh. Computers and software are really, …

Why are Logistics Carriers so Bad with Data?

Just to be clear when I say Logistic Carriers I mean UPS, DHL, DSV, GLS and many other three letter companies that deliver your Christmas presents, but in a business context they are also responsible for B2B deliveries of goods to shops and warehouses. I’ve previously worked in Logistics for many years and so have …