Debugging with the Scientific Method
Developers lose much by viewing debugging as art. Instead, it is a true instance of the Scientific Method. Read on to know why.
Developers lose much by viewing debugging as art. Instead, it is a true instance of the Scientific Method. Read on to know why.
Effective problem-solving requires high focus and concentration, but mental energy is limited. Watch out for the little frictions that sap your brainpower and reduce your output.
Computer Science is deeply rooted in logic. Logicomix is a delightful graphic novel relating the struggle of mathematicians with those foundations.
In my last post on a series about pitfalls when using Hash Functions, I cover Solidity and Truffle.js / Node.js. I also talk a bit about Coding Theory and Endianness of number representations.
In this post, I make a deep dive into Python hash functions, and give general principles for hashing safely.
Hash Functions can be tricky to use without errors. In this series, I show how to avoid common mistakes, with examples in Python, Solidity and truffle.js.
A few days ago, I was coding a small parser in C++ for a ZoKrates output file and hit on an unexpected time-killer: my parser failed to read the following section of my file (contents changed for brevity): B: [[BigNumber1, BigNumber2], [BigNumber3, BigNumber4]], In reality, these BigNumbers were 254-bit long integers represented in hexadecimal, but …
In my previous post, I covered the essentials of how to convert between representations of a number in different bases. In this post, I will go into some more advanced topics related to numerical bases. The primary use of a numerical base is to represent numbers. At the start, a basis is chosen for convenience. …
Today’s post is a little different. It is not about Ethereum, Blockchain or anything remotely modern, but rather about a fundamental of programming: the representation of numbers inside a computer. This has been in the back of my head for some time, since I had a conversation with a friend programmer when comparing programming techniques. …
There are many occasions when we want to pass to a function a group of similar data that may, or may not, be limited in number. The most basic data type for this situation is an array (and in several cases, this can be used to implement more advanced data structures). We can pass and …