Hi, I'm Christoph Michel 👋

me

I'm a , , and .

I mostly do and help small to mid-sized teams from all over the world 🌎 on both short and long-term projects on an independent contractor basis.

I strive for efficiency ⏱️ and therefore track many aspects of my life.

Latest Articles

  1. How EOS code and ABI hashes are computed

    featured image

    If you’d like to know what version of a smart contract is deployed on EOS, you’ll need to look at the code hash . We’ll see how code and ABI hashes are computed and write a function to see if a local WASM file matches the one a contract is running by comparing their hashes. Code…

    Categories:
  2. Progress Report - April 2019

    featured image

    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 I didn’t accurately track my time last month as I moved to a new time tracker, Clockify, because their API is free and easier to use…

    Category:
  3. Blog redesign with Gatsby and TailwindCSS

    featured image

    This blog exists for over 3 years now and I felt it was time to do another redesign. Since its inception the blog went through four redesigns already: February 2016: Started the blog on WordPress. 07 November 2016: Moving from Wordpress to phenomic, a static page generator . I…

    Categories:
  4. Progress Report - March 2019

    featured image

    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 I worked 68 productive hours last month. I really made use of those weekends. 💪 To make these progress reports a bit more interesting…

    Category:
  5. How to create beautiful epub programming ebooks

    featured image

    I’m currently writing a technical ebook containing lots of source code examples. While the samples look beautiful when creating the PDF version of the ebook, I had a lot of trouble creating a beautiful epub version out of my programming book. Setup I’m writing the book in…

    Categories:
  6. Progress Report - February 2019

    Category:
  7. Progress Report - January 2019

    Category:
  8. How to write pandoc plugins in Nodejs

    Category:
  9. Goals for 2019

    Category:
  10. Progress Report - December 2018

    Category:
  11. Deferred Transactions on EOS

    Categories:
  12. Difference Boolean Constructor and Double Negation

    Category:
  13. Progress Report - November 2018

    Category:
  14. Deploying EOS contracts using EOS.js

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

    Category:
  16. EOS 1.3 Contract Development Toolkit Updates

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

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

    Categories:
  19. Progress Report - September 2018

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

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

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

    Categories:
  23. Progress Report - August 2018

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

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

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

    Categories:
  27. Progress Report - July 2018

    Category:
  28. Introducing King of EOS 🥁

    Categories:
  29. Bugs in V8's Exponentiation Operator

    Categories:
  30. Progress Report - June 2018

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

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

    Categories:
  33. Progress Report - May 2018

    Category:
  34. Async / Await - Return values

    Categories:
  35. React - Fun with keys

    Categories:
  36. Progress Report - April 2018

    Category:
  37. You might not need React Context

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

    Categories:
  39. Progress Report - March 2018

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

    Categories:
  41. Thoughts on making EOS development easier

    Categories:
  42. Progress Report - February 2018

    Category:
  43. How to access Google Spreadsheets with Node

    Categories:
  44. Differences in Defining ES6 Class Methods

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

    Categories:
  46. Progress Report - January 2018

    Category:
  47. Splitting your app into micro-processes

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

    Category:
  49. How does Steem work, anyway?

    Categories:
  50. Goals for 2018

    Category:
  51. Progress Report - December 2017

    Category:
  52. How to cross-post to Steem

    Categories:
  53. How to cross-post to Medium

    Categories:
  54. Progress Report - November 2017

    Category:
  55. Released my fifth React Native app

    Categories:
  56. Trying DynamoDB for the first time

    Categories:
  57. Progress Report - October 2017

    Category:
  58. Progress Report - September 2017

    Category:
  59. Headless Chrome in Node.js

    Category:
  60. Progress Report - August 2017

    Category:
  61. Progress Report - July 2017

    Category:
  62. React Native CodePush Cheat Sheet

    Categories:
  63. Progress Report - June 2017

    Category:
  64. Progress Report - May 2017

    Category:
  65. Lightweight Progress Circles in React Native

    Categories:
  66. Progress Report - April 2017

    Category:
  67. Book Summary - Clean Code

    Category:
  68. Progress Report - March 2017

    Category:
  69. Getting Song Lyrics in Node.js

    Categories:
  70. Creating Dynamic Promise chains

    Categories:
  71. Progress Report - February 2017

    Category:
  72. Google Drive in React Native

    Categories:
  73. JavaScript void Keyword

    Category:
  74. Progress Report - January 2017

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

    Categories:
  76. Playing around with Relay and GraphQL

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

    Category:
  78. Creating Google AdSense Reports with Express

    Categories:
  79. Progress Report - December 2016

    Category:
  80. Book Summary - On Writing Well

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

    Category:
  82. How are generators transpiled to ES5

    Category:
  83. Released my fourth React Native app

    Categories:
  84. Styling TimePickerAndroid in React Native

    Categories:
  85. Structuring Redux Selectors

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

    Category:
  87. Progress Report - November 2016

    Category:
  88. Book Summary - Team Geek

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

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

    Category:
  91. How to use React in Markdown

    Categories:
  92. How to migrate from Wordpress to Phenomic

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

    Categories:
  94. Publishing React Native App on Android

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

    Categories:
  96. Set React Native App Icon When Minimized

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

    Categories:
  98. How to add Permissions in React Native

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

    Categories:
  100. Performance Optimizations in Redux' mapStateToProps

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

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

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

    Categories:
  104. Styling DatePickerAndroid in React Native

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

    Categories:
  106. Better JS Logger for Debugging

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

    Categories:
  108. Enumerating a Grid in Spiral Order

    Category:
  109. Using Actions in Redux the Correct Way

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

    Categories:
  111. Moving Wordpress to a different domain

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

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

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

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

    Categories:
  116. Creating seamless textures the easy way

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

    Categories: