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

  1. 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…

    Categories:
  2. 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…

    Categories:
  3. 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…

    Categories:
  4. 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…

    Category:
  5. 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…

    Category:
  6. Replaying Ethereum Hacks - Rari Fuse VUSD Price Manipulation

    Categories:
  7. Progress Report - October 2021

    Category:
  8. How to become a smart contract auditor

    Categories:
  9. Progress Report - September 2021

    Category:
  10. Progress Report - August 2021

    Category:
  11. Progress Report - July 2021

    Category:
  12. Progress Report - June 2021

    Category:
  13. Progress Report - May 2021

    Category:
  14. BSC PancakeBunny Exploit Post Mortem

    Categories:
  15. EOS vaults.sx hack

    Categories:
  16. Progress Report - April 2021

    Category:
  17. Progress Report - March 2021

    Category:
  18. Replaying Ethereum Hacks - Sushiswap BadgerDAO's Digg

    Categories:
  19. Progress Report - February 2021

    Category:
  20. Replaying Ethereum Hacks - Furucombo

    Categories:
  21. Replaying Ethereum Hacks - Introduction

    Categories:
  22. Paradigm CTF 2021 Solutions

    Categories:
  23. Progress Report - January 2021

    Category:
  24. DeFi Sandwich Attacks

    Categories:
  25. Capture The Ether Solutions

    Categories:
  26. Ethernaut Solutions

    Categories:
  27. Damn Vulnerable DeFi Solutions

    Categories:
  28. Goals 2021

    Category:
  29. Progress Report - December 2020

    Category:
  30. Pricing LP tokens | Warp Finance hack

    Categories:
  31. Progress Report - November 2020

    Category:
  32. Progress Report - October 2020

    Category:
  33. How I gamed EOS Defi projects and still got rekt

    Categories:
  34. Progress Report - September 2020

    Category:
  35. How to install an old package version with brew

    Categories:
  36. Fixing C++ compilation bugs for the MacOS Catalina upgrade

    Categories:
  37. Progress Report - August 2020

    Category:
  38. Progress Report - July 2020

    Category:
  39. Obfuscating EOSIO smart contracts

    Categories:
  40. Progress Report - June 2020

    Category:
  41. Progress Report - May 2020

    Category:
  42. Typing transformations in TypeScript

    Category:
  43. Progress Report - April 2020

    Category:
  44. 8 EOSIO WASM intrinsics you might not have heard about

    Categories:
  45. EOSIO C++ IntelliSense in VSCode

    Categories:
  46. Implementing efficient Dividend tokens

    Categories:
  47. Testing EOSIO smart contracts with Hydra

    Categories:
  48. Progress Report - March 2020

    Category:
  49. Progress Report - February 2020

    Category:
  50. How to check if an EOS account has a smart contract

    Categories:
  51. Launching EOS Token Portfolio

    Categories:
  52. How to deploy a create-react-app with github-actions

    Categories:
  53. Progress Report - January 2020

    Category:
  54. How to rollback to an older EOSIO.CDT version with brew

    Categories:
  55. Goals 2020

    Category:
  56. Progress Report - December 2019

    Category:
  57. De-anonymizing eosblender.com

    Categories:
  58. EOSIO - How to pay for users' CPU

    Categories:
  59. EOSIO Dev Puzzle - What's the max amount of RAM that can possibly be consumed by storing a single uint64

    Categories:
  60. Progress Report - November 2019

    Category:
  61. Earn on your unused CPU and help the EOS network!

    Categories:
  62. Progress Report - October 2019

    Category:
  63. Progress Report - September 2019

    Category:
  64. What really happened during the EOSPlay hack

    Categories:
  65. Progress Report - August 2019

    Category:
  66. Progress Report - July 2019

    Category:
  67. How to fetch any secondary EOSIO table index using eosjs

    Categories:
  68. Progress Report - June 2019

    Category:
  69. Advanced EOSIO programming concepts

    Categories:
  70. Progress Report - May 2019

    Category:
  71. How EOS code and ABI hashes are computed

    Categories:
  72. Progress Report - April 2019

    Category:
  73. Blog redesign with Gatsby and TailwindCSS

    Categories:
  74. Progress Report - March 2019

    Category:
  75. How to create beautiful epub programming ebooks

    Categories:
  76. Progress Report - February 2019

    Category:
  77. Progress Report - January 2019

    Category:
  78. How to write pandoc plugins in Nodejs

    Category:
  79. Goals for 2019

    Category:
  80. Progress Report - December 2018

    Category:
  81. Deferred Transactions on EOS

    Categories:
  82. Difference Boolean Constructor and Double Negation

    Category:
  83. Progress Report - November 2018

    Category:
  84. Deploying EOS contracts using EOS.js

    Categories:
  85. Progress Report - October 2018 - No more mobile apps 😬

    Category:
  86. EOS 1.3 Contract Development Toolkit Updates

    Categories:
  87. C++ Guide for EOS Development - Header files

    Categories:
  88. C++ Guide for EOS Development - Multi-Index Container

    Categories:
  89. Progress Report - September 2018

    Category:
  90. C++ Guide for EOS Development - Iterators & Lambda Expressions

    Categories:
  91. C++ Guide for EOS Development - Templates

    Categories:
  92. C++ Guide for EOS Development - Classes and Structs

    Categories:
  93. Progress Report - August 2018

    Category:
  94. C++ Guide for EOS Development - Call by value / reference

    Categories:
  95. C++ Guide for EOS Development - Basics

    Categories:
  96. Learnings from building my first dapp on EOS blockchain

    Categories:
  97. Progress Report - July 2018

    Category:
  98. Introducing King of EOS 🥁

    Categories:
  99. Bugs in V8's Exponentiation Operator

    Categories:
  100. Progress Report - June 2018

    Category:
  101. Building a landing page in Vue.js

    Categories:
  102. React just got ugly - React 16.4 Update

    Categories:
  103. Progress Report - May 2018

    Category:
  104. Async / Await - Return values

    Categories:
  105. React - Fun with keys

    Categories:
  106. Progress Report - April 2018

    Category:
  107. You might not need React Context

    Categories:
  108. Importing Blender 3D Model with Texture to Three.js

    Categories:
  109. Progress Report - March 2018

    Category:
  110. Lazy-loading images with React and Semantic UI

    Categories:
  111. Thoughts on making EOS development easier

    Categories:
  112. Progress Report - February 2018

    Category:
  113. How to access Google Spreadsheets with Node

    Categories:
  114. Differences in Defining ES6 Class Methods

    Category:
  115. Creating a Remind-Me bot for Steem

    Categories:
  116. Progress Report - January 2018

    Category:
  117. Splitting your app into micro-processes

    Categories:
  118. Book Review - Attack of the 50 Foot Blockchain

    Category:
  119. How does Steem work, anyway?

    Categories:
  120. Goals for 2018

    Category:
  121. Progress Report - December 2017

    Category:
  122. How to cross-post to Steem

    Categories:
  123. How to cross-post to Medium

    Categories:
  124. Progress Report - November 2017

    Category:
  125. Released my fifth React Native app

    Categories:
  126. Trying DynamoDB for the first time

    Categories:
  127. Progress Report - October 2017

    Category:
  128. Progress Report - September 2017

    Category:
  129. Headless Chrome in Node.js

    Category:
  130. Progress Report - August 2017

    Category:
  131. Progress Report - July 2017

    Category:
  132. React Native CodePush Cheat Sheet

    Categories:
  133. Progress Report - June 2017

    Category:
  134. Progress Report - May 2017

    Category:
  135. Lightweight Progress Circles in React Native

    Categories:
  136. Progress Report - April 2017

    Category:
  137. Book Summary - Clean Code

    Category:
  138. Progress Report - March 2017

    Category:
  139. Getting Song Lyrics in Node.js

    Categories:
  140. Creating Dynamic Promise chains

    Categories:
  141. Progress Report - February 2017

    Category:
  142. Google Drive in React Native

    Categories:
  143. JavaScript void Keyword

    Category:
  144. Progress Report - January 2017

    Category:
  145. How to use D3.js in React

    Categories:
  146. Playing around with Relay and GraphQL

    Categories:
  147. Book Summary - Heard On The Street - Quantitative Questions from Wall Street Job Interviews

    Category:
  148. Creating Google AdSense Reports with Express

    Categories:
  149. Progress Report - December 2016

    Category:
  150. Book Summary - On Writing Well

    Category:
  151. How is async/await transpiled to ES5

    Category:
  152. How are generators transpiled to ES5

    Category:
  153. Released my fourth React Native app

    Categories:
  154. Styling TimePickerAndroid in React Native

    Categories:
  155. Structuring Redux Selectors

    Category:
  156. How to set appParams in React-Native

    Category:
  157. Progress Report - November 2016

    Category:
  158. Book Summary - Team Geek

    Category:
  159. How to create a React Native Android Library

    Category:
  160. Ultimate Guide to non-working CSS margins

    Category:
  161. How to use React in Markdown

    Categories:
  162. How to migrate from Wordpress to Phenomic

    Categories:
  163. Moving from WordPress to a Static Site Generator

    Categories:
  164. Publishing React Native App on Android

    Categories:
  165. What I learned from building my first React Native App

    Categories:
  166. Set React Native App Icon When Minimized

    Categories:
  167. Charts in React Native with React-Native-SVG and D3.js

    Categories:
  168. How to add Permissions in React Native

    Categories:
  169. How to Get The Size of a React Native View Dynamically

    Categories:
  170. Performance Optimizations in Redux' mapStateToProps

    Categories:
  171. How to create a Pull Request on GitHub

    Category:
  172. Why you should not use mapStateToProps too often

    Categories:
  173. Modifying a Leaf of the Redux State Tree

    Categories:
  174. Styling DatePickerAndroid in React Native

    Categories:
  175. How to create a More-Popup Menu in React-Native

    Categories:
  176. Better JS Logger for Debugging

    Category:
  177. Limitations of the react-native JS engine

    Categories:
  178. Enumerating a Grid in Spiral Order

    Category:
  179. Using Actions in Redux the Correct Way

    Categories:
  180. Drawing Fractals with L-Systems in D3.js

    Categories:
  181. Moving Wordpress to a different domain

    Category:
  182. Javascript ES6 + Babel.js + Grunt with Sublime Text

    Category:
  183. Howto Raytracer: Ray / Triangle Intersection Theory

    Categories:
  184. Howto Raytracer: Ray / Plane Intersection Theory

    Categories:
  185. Howto Raytracer: Ray / Sphere Intersection Theory

    Categories:
  186. Creating seamless textures the easy way

    Category:
  187. Understanding front faces - winding order and normals

    Categories: