zkMarek
August 24, 2025

Learning AI coding is no longer optional. But it’s not vibe coding.

This is the first post in a series on AI-assisted coding. See the overview of the series below:

September 13, 2023

The joy and pain of living with ADHD

Entering adulthood with ADHD was not easy for me. Consider the inability to remember a simple thing or focus on a single topic for more…

May 27, 2023

Five reasons why I change my focus to cryptography

With some extra time on my hands, I decided to invest it into switching my professional focus from blockchain to cryptography. In this…

March 26, 2023

What you missed about continues delivery

The focus of this blog post is on the crucial element of modern software delivery — continuous delivery (CD). In my experience, the larger…

March 2, 2023

Running a dev shop — part 5: Growth and structure

This is the fifth and the last part of a series on running a dev shop. See the overview of the posts below.

February 9, 2023

Running a dev shop — part 4: Attracting customers

This is the fourth part of a series on running a dev shop. See the overview of the posts below.

November 3, 2022

Running a dev shop — part 3: Talent pipeline and employee life cycle

This is the third part of a series on running a dev shop. See the overview of the planned posts below.

September 6, 2022

Running a dev shop — part 2: Bootstrapping and specialization

This is the second part of a series on running a dev shop. See the overview of the posts below.

August 29, 2022

Running a dev shop — Part 1: Myths and favorable facts

This is the first part of a series on running a dev shop. See the overview of the planned posts below.

April 14, 2022

useDApp 1.0 Released!

Multichain support, WalletConnect new docs and more!

March 31, 2022

Preventing billion-dollar hacks

This is the first in a series of blog posts about the process for rapid dapp development on blockchain: Part 1: Security — Preventing…

February 17, 2022

useDApp update ‘22

useDApp is on fire 🔥🔥🔥

February 7, 2022

Introducing TrueFi Engineering

Hi Builders!

April 6, 2021

useDApp: Deep dive into custom hooks and testing

This is the second post of our series on new useDApp features: 1. Introducing useDApp 2. Deep dive into custom hooks and testing 3. Coming…

March 23, 2021

Introducing useDApp - framework for rapid DApp development

🐅 DApp - a new animal in the jungle

February 7, 2021

Bubble burst shenanigans

People’s memory is short-term and to me it seems many are doing irrational things with their crypto as the bubble progresses.

January 14, 2021

Introducing Restless: Validations for TS, Ethereum and Express.js

Validations are … everywhere

December 3, 2020

Your Clutch Award is lame, but you’re gonna share it anyway.

Yeah it is this time of the year. With recently reopened malls, we can now do our shopping accompanied by good old, worn out “Last…

October 13, 2020

Pragmatic smart contracting (TDD, Pairing, Waffle & Buidler)

With major security incidents popping up at least several times a year, an obvious question might arise: What would be a pragmatic…

September 8, 2020

Introducing Waffle support for Jest (experimental)

Adding experimental support for Jest.

August 5, 2020

Smart contract testing with ENS and Waffle

With hundreds of applications using ENS, Ethereum-based decentralised naming system, we can all agree that it has become a widely…

July 22, 2020

Our little secret superpower: Unification

With the need for highly-skilled professionals, developing software has always been an expensive and slow process. With growing complexity…

June 22, 2020

🦄 UniLogin and the Quest for a Better Txn Fees UX

Transaction fees remain one of the main usability challenges for Ethereum and blockchains in general. There are a few different problems…

June 13, 2020

🧇 Waffle 3.0 released! With ethers.js 5.0 and more!

We‘re glad to announce that we’ve just released Waffle 3.0 with support for ethers.js 5.0 and much more.

June 3, 2020

New Waffle matcher: expect().to.be.calledOnContract()

Perhaps you read my previous post about mocking smart contracts. Now, if you did, you may probably agree that writing tests is still a…

May 22, 2020

Mocking Solidity smart contracts with Waffle

Testing smart contracts written in Solidity is still somewhat cumbersome. One subtle reason is that we keep writing our unit tests as if…

April 29, 2020

Smart Contracts testing still sucks, how want to make it better

Despite these challenging times, we remain very optimistic about the future of Ethereum ecosystem. Earlier this year, when ETH price…

February 14, 2020

UniLogin Beta 4: Easier than ever with new providerAPI

Note: We recently changed the name from Universal Login to Unilogin (link to the announcement here).

February 3, 2020

The Problem with Formal Verification (What We Learned Building Universal Login — Part 2: Security)

This is the second blog post in a series “What We Learned Building Universal Login”:

January 28, 2020

Universal Login Beta 3: Gnosis Safe Support & More

Long-awaited Universal Login Beta 3 has landed, with a major announcement: we are now supporting Gnosis Safe contracts!

January 20, 2020

What We Learned Building Universal Login — Part 1: The Problem

Defining the problem you want to solve often sounds simple, but in fact it’s often the most complicated part of trying to solve it.

April 4, 2019

Formal Verification for n00bs -Part 4: Understanding K language

This is the fourth post of a series Formal Verification for n00bs: Part 1: The K ecosystem Part 2: Proving the correctness of a token Part…

February 21, 2019

Formal Verification for n00bs -Part 3: An attempt to prevent classic hack with KLab

This is the third post of a series Formal Verification for n00bs: Part 1: The K ecosystem Part 2: Proving the correctness of a token Part…

February 2, 2019

Formal Verification for n00bs -Part 2: proving the correctness of a token

An example of a high-level semantics of a single function of an Ethereum smart contract and a step-by-step guide for executing the proof.

January 25, 2019

Formal Verification for n00bs: Part 1

This is first in a series of blog posts on Formal Verification (FV).

January 23, 2019

Waffle 2.0 released

After weeks of hard work, I am glad to announce the release of Waffle version 2.0, with a dozen new functionalities.

November 19, 2018

Introducing Waffle

If you care about the quality of your software, you care about tests. You care about syntax and speed. We find a good testing framework is…

September 28, 2018

Testing contracts that use ENS with ENSBuilder

When it comes to testing contracts and functionality that uses Ethereum Naming System (ENS), it is a bit tricky. It is difficult to test in…

October 18, 2017

Spificator: a Usability Pattern for DApps

In this post, we would like to propose a new usability pattern for dapps.

June 29, 2017

The Secret of High-Performing Developers

High performers

April 12, 2017

How and What to Measure from Day One when Building a Startup

One of the biggest challenges at the initial stages is to keep the whole team focused on one common goal. Showing promising results of…

January 18, 2017

Hype Driven Development — part 2: The Phenomenon

My last post “Hype Driven Development” (read here) was surprisingly well received with 54K reads and 2K+ recommends.

November 23, 2016

Hype Driven Development

Software development teams often make decisions about software architecture or technological stack based on inaccurate opinions, social…

October 26, 2016

Performance of basic Ruby types

Modern computers are extremely fast machines, what leaves us — software engineers — with no excuses to write slow programs. One of the…

January 10, 2016

Pair Programming demystified!

A managers view on Pair Programming

December 29, 2015

Pair Programming demystified!

February 21, 2014

Zero Bug Tolerance: Improve software quality with one simple practice

January 24, 2014

How to prioritize development projects with Kanban

© 2026 zkMarek · Privacy Policy · Delete my data