Ethereum Smart Contract Development with Python/Solidity

The Ethereum smart contract development ecosystem is dominated by JavaScript oriented tooling and guides. Heck, even solidity looks like it has JavaScript flavored syntax. However, it turns out you don’t need to be a JavaScript expert to get started making smart contracts. For those who are more accustomed to using Python, there is an alternative to the mainstream truffle suite, sort of. eth-brownie (often just referred to as brownie) is a Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine....

December 30, 2020 · 3 min

Tips for Collaboration with Git

Git is a distributed version-control system for tracking changes in any set of files, originally designed for coordinating work among programmers cooperating on source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.1 In layman’s terms, Git is Microsoft Word’s save functionality on steroids + Google Docs collaboration, rolled into one blazing fast extensible program. Version-control systems are incredibly important in software development, and git is the de facto SCM tool when working in a distributed team....

December 24, 2020 · 5 min
Until debt tear us apart

Analysis of Hidden Technical Debt in Machine Learning Systems

Hidden Technical Debt in Machine Learning Systems 1 offers a very interesting high level overview of the numerous extra layers of technical debt 2 which exist in Machine Learning enabled systems. Unlike standard software systems, ML-enabled systems utilize external data instead of standard code and software logic, and contain a machine learning component. This replacement of standard software logic with data results in systems which are much harder to maintain in the long run if the proper precautions aren’t taken....

November 1, 2020 · 5 min

Simple Time Series Forecasting with ML

Time series forecasting is an interesting sub-topic within the field of machine learning, mainly due to the time component which adds to the complexity of making predictions. Over the past month I’ve grown quite fond of it, and one of the best things I’ve learned is that standard supervised machine learning algorithms can be applied to time series to make predictions. The process is quite similar to a standard ML process with the exception that you have to structure your data a specific way to maintain the temporal structure....

September 16, 2020 · 6 min
Pen and Paper

Model Selection, Validation, and Hyperparameter Tuning

In practice, a majority of the time dedicated to any data science project (unless you’re lucky) is consumed by data cleaning and wrangling. However, once you’ve completed you’re data mining, cleaning, exploration, and feature engineering, generally the next step is to do some machine learning. The ML process is pretty standard regardless of the algorithm you choose, it’ll always require some model selection, model validation, and hyperparameter tuning. One of the easiest ways you can wrap your mind around the process is through trial and error....

August 1, 2020 · 13 min