Hi, I'm Christoph Michel 👋
I'm a , , and .
Currently, I mostly work in software security and do on an independent contractor basis.
I strive for efficiency and therefore track many aspects of my life.
Latest Articles
Dookey Dash - Deep dive into the sewer
Dookey Dash was YugaLabs’ latest game. It was a skill-based game using the final rankings to mint a new NFT collection (speculated to evolve into mechs at some point). The top scorer received a key to mint a 1/1 NFT that is expected to be worth at least mid-6 figures. This made…
Goals for 2023
What a year! 2022 has been the worst year for crypto and the best year for AI. A great year for Greg Rutkowski and a bad year for hands. Following the tradition of previous years, I’ll revisit my old goals and set new goals for 2023. For me, it’s been a good year. I’m still…
Code4rena - First 1M$ stats
After 14 months of grinding Code4rena audit contests I’m the first person to hit 1M$ in awards and take the number one spot on the leaderboard. 🥳 I also tracked my hours worked on Code4rena over the same time period, so for the first time, we can look at some interesting…
Goals for 2022
Following the tradition of previous years, I’ll revisit my old goals and see what I achieved, and set new goals for 2022. Before we dive into the review, I can already say that 2021 has financially been my best year so far by a huge margin. I’m also still healthy, so it has been…
Progress Report - November 2021
I post a progress report showing what I did and how my products performed each month. Last month’s report can be seen here. What did I do Hours worked on side-projects in November I worked 130 productive on side projects hours last month. I noticed this includes C4 but it…
Replaying Ethereum Hacks - Rari Fuse VUSD Price Manipulation
Progress Report - October 2021
How to become a smart contract auditor
Progress Report - September 2021
Progress Report - August 2021
Progress Report - July 2021
Progress Report - June 2021
Progress Report - May 2021
BSC PancakeBunny Exploit Post Mortem
EOS vaults.sx hack
Progress Report - April 2021
Progress Report - March 2021
Replaying Ethereum Hacks - Sushiswap BadgerDAO's Digg
Progress Report - February 2021
Replaying Ethereum Hacks - Furucombo
Replaying Ethereum Hacks - Introduction
Paradigm CTF 2021 Solutions
Progress Report - January 2021
DeFi Sandwich Attacks
Capture The Ether Solutions
Ethernaut Solutions
Damn Vulnerable DeFi Solutions
Goals 2021
Progress Report - December 2020
Pricing LP tokens | Warp Finance hack
Progress Report - November 2020
Progress Report - October 2020
How I gamed EOS Defi projects and still got rekt
Progress Report - September 2020
How to install an old package version with brew
Fixing C++ compilation bugs for the MacOS Catalina upgrade
Progress Report - August 2020
Progress Report - July 2020
Obfuscating EOSIO smart contracts
Progress Report - June 2020
Progress Report - May 2020
Typing transformations in TypeScript
Progress Report - April 2020
8 EOSIO WASM intrinsics you might not have heard about
EOSIO C++ IntelliSense in VSCode
Implementing efficient Dividend tokens
Testing EOSIO smart contracts with Hydra
Progress Report - March 2020
Progress Report - February 2020
How to check if an EOS account has a smart contract
Launching EOS Token Portfolio
How to deploy a create-react-app with github-actions
Progress Report - January 2020
How to rollback to an older EOSIO.CDT version with brew
Goals 2020
Progress Report - December 2019
De-anonymizing eosblender.com
EOSIO - How to pay for users' CPU
EOSIO Dev Puzzle - What's the max amount of RAM that can possibly be consumed by storing a single uint64
Progress Report - November 2019
Earn on your unused CPU and help the EOS network!
Progress Report - October 2019
Progress Report - September 2019
What really happened during the EOSPlay hack
Progress Report - August 2019
Progress Report - July 2019
How to fetch any secondary EOSIO table index using eosjs
Progress Report - June 2019
Advanced EOSIO programming concepts
Progress Report - May 2019
How EOS code and ABI hashes are computed
Progress Report - April 2019
Blog redesign with Gatsby and TailwindCSS
Progress Report - March 2019
How to create beautiful epub programming ebooks
Progress Report - February 2019
Progress Report - January 2019
How to write pandoc plugins in Nodejs
Goals for 2019
Progress Report - December 2018
Deferred Transactions on EOS
Difference Boolean Constructor and Double Negation
Progress Report - November 2018
Deploying EOS contracts using EOS.js
Progress Report - October 2018 - No more mobile apps 😬
EOS 1.3 Contract Development Toolkit Updates
C++ Guide for EOS Development - Header files
C++ Guide for EOS Development - Multi-Index Container
Progress Report - September 2018
C++ Guide for EOS Development - Iterators & Lambda Expressions
C++ Guide for EOS Development - Templates
C++ Guide for EOS Development - Classes and Structs
Progress Report - August 2018
C++ Guide for EOS Development - Call by value / reference
C++ Guide for EOS Development - Basics
Learnings from building my first dapp on EOS blockchain
Progress Report - July 2018
Introducing King of EOS 🥁
Bugs in V8's Exponentiation Operator
Progress Report - June 2018
Building a landing page in Vue.js
React just got ugly - React 16.4 Update
Progress Report - May 2018
Async / Await - Return values
React - Fun with keys
Progress Report - April 2018
You might not need React Context
Importing Blender 3D Model with Texture to Three.js
Progress Report - March 2018
Lazy-loading images with React and Semantic UI
Thoughts on making EOS development easier
Progress Report - February 2018
How to access Google Spreadsheets with Node
Differences in Defining ES6 Class Methods
Creating a Remind-Me bot for Steem
Progress Report - January 2018
Splitting your app into micro-processes
Book Review - Attack of the 50 Foot Blockchain
How does Steem work, anyway?
Goals for 2018
Progress Report - December 2017
How to cross-post to Steem
How to cross-post to Medium
Progress Report - November 2017
Released my fifth React Native app
Trying DynamoDB for the first time
Progress Report - October 2017
Progress Report - September 2017
Headless Chrome in Node.js
Progress Report - August 2017
Progress Report - July 2017
React Native CodePush Cheat Sheet
Progress Report - June 2017
Progress Report - May 2017
Lightweight Progress Circles in React Native
Progress Report - April 2017
Book Summary - Clean Code
Progress Report - March 2017
Getting Song Lyrics in Node.js
Creating Dynamic Promise chains
Progress Report - February 2017
Google Drive in React Native
JavaScript void Keyword
Progress Report - January 2017
How to use D3.js in React
Playing around with Relay and GraphQL
Book Summary - Heard On The Street - Quantitative Questions from Wall Street Job Interviews
Creating Google AdSense Reports with Express
Progress Report - December 2016
Book Summary - On Writing Well
How is async/await transpiled to ES5
How are generators transpiled to ES5
Released my fourth React Native app
Styling TimePickerAndroid in React Native
Structuring Redux Selectors
How to set appParams in React-Native
Progress Report - November 2016
Book Summary - Team Geek
How to create a React Native Android Library
Ultimate Guide to non-working CSS margins
How to use React in Markdown
How to migrate from Wordpress to Phenomic
Moving from WordPress to a Static Site Generator
Publishing React Native App on Android
What I learned from building my first React Native App
Set React Native App Icon When Minimized
Charts in React Native with React-Native-SVG and D3.js
How to add Permissions in React Native
How to Get The Size of a React Native View Dynamically
Performance Optimizations in Redux' mapStateToProps
How to create a Pull Request on GitHub
Why you should not use mapStateToProps too often
Modifying a Leaf of the Redux State Tree
Styling DatePickerAndroid in React Native
How to create a More-Popup Menu in React-Native
Better JS Logger for Debugging
Limitations of the react-native JS engine
Enumerating a Grid in Spiral Order
Using Actions in Redux the Correct Way
Drawing Fractals with L-Systems in D3.js
Moving Wordpress to a different domain
Javascript ES6 + Babel.js + Grunt with Sublime Text
Howto Raytracer: Ray / Triangle Intersection Theory
Howto Raytracer: Ray / Plane Intersection Theory
Howto Raytracer: Ray / Sphere Intersection Theory
Creating seamless textures the easy way
Understanding front faces - winding order and normals