logo
veeso_devChristian Visintin

Blog Posts

Untangling a database engine from the Internet Computer

From ic-dbms to wasm-dbms

Untangling a database engine from the Internet Computer

This is an article about how I restructured a monolithic IC canister framework into a runtime-agnostic WASM database engine.A few months ago I announced ic-dbms, a Rust framework for building database

Published on March 02, 2026 - 8 min read

Goodbye Gatsby, Hello Gleam! This blog is now powered by Gleam, Lustre, and Blogatto

This Blog was made with Gleam

Goodbye Gatsby, Hello Gleam! This blog is now powered by Gleam, Lustre, and Blogatto

If you are reading this, you are looking at a blog that runs zero React, zero GraphQL, and zero Node.js. This blog is now entirely powered by Gleam, Lustre, and a little static site generator I built

Published on February 25, 2026 - 7 min read

A consideration of how AI is going to change the role of Software Engineers and the advent of the Software Engineer 2.0

The role of the Software Engineer in the age of AI

A consideration of how AI is going to change the role of Software Engineers and the advent of the Software Engineer 2.0

IntroductionFor the last year or so, I’ve started using AI tools like ChatGPT and GitHub Copilot to help me with my software engineering tasks.For most of the time, these tools have been a great help.

Published on February 01, 2026 - 8 min read

A frustrating DIY project to turn your Lego Gameboy into a functional Gameboy using a Raspberry Pi Zero 2W.

I transformed my LEGO Gameboy into a working Gameboy!

A frustrating DIY project to turn your Lego Gameboy into a functional Gameboy using a Raspberry Pi Zero 2W.

Since I saw the Lego Gameboy set, I wanted to make it functional since I have good knowledge of programming and little knowledge of electronics.Also I've been a big fan of Gameboys since I was a

Published on January 06, 2026 - 11 min read

A Rust framework to easily implement a database canister on the Internet Computer

Announcing ic-dbms 0.1.0

A Rust framework to easily implement a database canister on the Internet Computer

What if I told you that this code:use candid::CandidType; use ic_dbms_api::prelude::{Text, Uint32}; use ic_dbms_canister::prelude::{DbmsCanister, Table}; use serde::Deserialize; #[derive(Debug, Table,

Published on December 13, 2025 - 3 min read

A discussion on the most dangerous lint in Clippy

Should we get rid of clippy::manual_try_fold?

A discussion on the most dangerous lint in Clippy

This is the 50th blog post on this blog! 🎉 Thank you everyone for reading my blog in the past 3 years!How I almost fucked up my code because of clippyOn the other day, I was implementi

Published on December 06, 2025 - 7 min read

A tale of building a framework for building DBMS on Internet Computer - Chapter 3

Cooking ic-dbms-canister: DBMS Layer

A tale of building a framework for building DBMS on Internet Computer - Chapter 3

IntroductionThis article is part of a series where I document the development of ic-dbms-canister, a framework for building database management systems (DBMS) on the Internet Computer (IC). In the

Published on December 06, 2025 - 21 min read

A fast and accurate iOS and Android app for converting Chinese characters to Pinyin with camera OCR

Instantly convert Hanzi to Pinyin with BiangBiang Hanzi

A fast and accurate iOS and Android app for converting Chinese characters to Pinyin with camera OCR

Introduction𰻝𰻝汉子 BiangBiang Hanzi is an iOS and Android application that allows users to convert Hanzi (Chinese characters) to Pinyin and translate Chinese text into any language. It supports both

Published on November 22, 2025 - 4 min read

A tale of building a framework for building DBMS on Internet Computer - Chapter 2

Cooking ic-dbms-canister: Memory Management

A tale of building a framework for building DBMS on Internet Computer - Chapter 2

IntroductionThis article is part of a series where I document the development of ic-dbms-canister, a framework for building database management systems (DBMS) on the Internet Computer (IC). In the

Published on November 22, 2025 - 14 min read

A tale of building a framework for building DBMS on Internet Computer - Chapter 1

Cooking ic-dbms-canister: The journey begins

A tale of building a framework for building DBMS on Internet Computer - Chapter 1

PremiseEven if the project is made to run on Internet Computer, which is related to web3 and cryptos, this article is not about investments, tokens or NFTs. It is not even about Internet Computer

Published on November 13, 2025 - 11 min read

The dilemma of assigning Pull Requests Reviews

PRs taking too long to be reviewed

The dilemma of assigning Pull Requests Reviews

IntroductionI think there's something every developer working in an environment where PR must be reviewed has experienced: PRs taking too long to be reviewed.Every company has its own process for

Published on August 14, 2025 - 4 min read

A dumb question, but a good one to ask

Can you move a Copy in Rust?

A dumb question, but a good one to ask

IntroductionThis article came from a question I saw on Reddit, and it is a good one to ask, even if it seems dumb at first.So we all know that Rust has a co

Published on July 28, 2025 - 5 min read

A simple allocator to help you find leaks and memory issues in your Rust applications

Leaktracer: A Rust allocator to trace memory allocations

A simple allocator to help you find leaks and memory issues in your Rust applications

A few days ago, I had a memory issue in one of my Rust applications.The application was huge, and for some reason the memory kept growing with hundreds of gigabytes of memory allocated, but I

Published on June 26, 2025 - 11 min read

Or Ferris will come for you!

Don't you dare to sort your struct fields when using ?Sized

Or Ferris will come for you!

So on the other day I was making a custom implementation of the io module for maybe-fut and I had to implement the BufReader struct, which has this definition:

Published on June 18, 2025 - 7 min read

How cloning a Vec had caused memory bloat on the Solana Validator

Rust on a Diet

How cloning a Vec had caused memory bloat on the Solana Validator

So if you don't know, I also develop on the Solana Validator (but please don't leave, it's about Rust and not blockchain things 😓) mostly mods for Solana RPC nodes, and recently a

Published on June 07, 2025 - 8 min read

So apparently in 2025 you can get automatically rejected for a job if you have Web3 on your resume

Web3: The new Scarlet Letter on your resume

So apparently in 2025 you can get automatically rejected for a job if you have Web3 on your resume

A premise about my work experienceI have been working as a Software Engineer for over 8 years.In my career I have worked in these sectors and for these amounts of time:Embedded systems on Passenger

Published on May 21, 2025 - 7 min read

A draft and analysis of a real P2P Electronic Cash System

An Abstract of a real P2P Electronic Cash System

A draft and analysis of a real P2P Electronic Cash System

We have P2P Electronic Cash Systems at homeBitcoin: A Peer-to-Peer Electronic Cash SystemSounds familiar? This is the title of the whitepaper of Bitcoin, which starts with a strong cla

Published on May 05, 2025 - 11 min read

Hear me out, I know it's about web3, but Internet Computer is different

Why as a Software Engineer I truly believe in the Internet Computer project

Hear me out, I know it's about web3, but Internet Computer is different

PremiseWhenever we talk about web3, I see a lot of skepticism and I get it; I'm skeptical about 99% of the projects out there; if you don't know me, I've written many articles against

Published on May 03, 2025 - 8 min read

Let's uncover the mysterious std::mem module in Rust

std::mem is... interesting

Let's uncover the mysterious std::mem module in Rust

A module we don't use oftenThe std::mem module in Rust is a bit of a mystery. It's 10PM and I'm randomly reading the std library documentation and I decide to take a look to the current

Published on May 02, 2025 - 11 min read

Showcasing successful projects is mainstream, but what about the dead ones?

All my Dead Open Source Projects

Showcasing successful projects is mainstream, but what about the dead ones?

IntroductionFor every project that is successful, there are many that are not.In my case it's like 1 successful in 10 projects.So in this article I want to bring some glory to my dead projects,

Published on April 30, 2025 - 9 min read

With two years of delay, I finally decided to leave too

It's time to leave X.com

With two years of delay, I finally decided to leave too

Elon Musk has created a monsterIt’s not entirely his fault.Or at least, not just because he exists.I wasn’t one of those who fled the day Twitter was bought, because I didn’t want to make decisions

Published on April 28, 2025 - 4 min read

A journey through the land of Rust, nom and SSH config files

One does not simply write a SSH config parser (in Rust)

A journey through the land of Rust, nom and SSH config files

Do you know the feeling when you start a project and you think it will be easy, but then you realize that it is not? This is the story of the implementation of ssh2-config, a Rust library to parse SSH

Published on March 30, 2025 - 11 min read

How to embed a shared object in a Rust binary and load it at runtime

Embedding shared objects in Rust

How to embed a shared object in a Rust binary and load it at runtime

But why?So recently I've covered the topic of

Published on March 28, 2025 - 11 min read

How to statically bundle a C library to your project like with OpenSSL

Vendoring C/C++ dependencies in Rust

How to statically bundle a C library to your project like with OpenSSL

What is vendoring about?I'm writing this post because basically I haven't found any guide about this, and for sure with this level of completeness and masochism.So what are we even talking

Published on March 20, 2025 - 11 min read

Is it even a thing?

Extending Future in Rust

Is it even a thing?

IntroductionAs part of my experiments with Async Rust (cuz I'm working on something big 🤞) and while writing my last article Async Rust for Dummies a weird and sick thought came to my mind: can we

Published on March 14, 2025 - 7 min read

Let me show you how async Rust works under the hood

Async Rust for Dummies

Let me show you how async Rust works under the hood

IntroductionHello, Rustaceans! I'm quite sure many of you use async Rust every day in your projects, but do you actually know how it works under the hood? In this article I'm going to show you

Published on March 11, 2025 - 10 min read

Today we will learn how to setup a Bitcoin Solo Mining Pool with a Raspberry Pi

How to setup a Bitcoin Solo Mining Pool

Today we will learn how to setup a Bitcoin Solo Mining Pool with a Raspberry Pi

About lottery miningThis is an expansion of my previous article "How to get started with Bitcoin Lottery Mining".So if you're just interested i

Published on February 21, 2025 - 6 min read

How basically I became a file transfer protocol expert in Rust

A journey into File Transfer Protocols in Rust

How basically I became a file transfer protocol expert in Rust

How it startedI can for sure affirm that you've used File transfer protocols before. Let's exclude HTTP from here, because, of course it is currently used also to transfer files, but it's

Published on January 06, 2025 - 21 min read

The truth everybody tries to hide about Bitcoin decentralization

Why Bitcoin is not decentralized - in any way

The truth everybody tries to hide about Bitcoin decentralization

Bitcoin is decentralized, right?So yesterday I was scrolling my feed on LinkedIn, a thing I usually do once a month, and I found this:

Published on December 19, 2024 - 6 min read

EKOKE DAO is going to replace the traditional bank mortgage with a sustainable and decentralized model based on installments on the blockchain

Revolutionizing the real estate market with EKOKE DAO

EKOKE DAO is going to replace the traditional bank mortgage with a sustainable and decentralized model based on installments on the blockchain

IntroductionSo in the last year I've been working a lot on the development of the EKOKE DAO project. I am the main software engineer of the software and I've personally designed the project

Published on December 18, 2024 - 7 min read

I literally got mad with react-markdown to make it work with Parcel. Now you have a guide to make it work

How to make react-markdown work with Parcel?

I literally got mad with react-markdown to make it work with Parcel. Now you have a guide to make it work

AudienceIf you encounter an error like this while trying to render a markdown with react-markdown and you're using parcelUncaught TypeError: Cannot convert undefined or null to object Cannot read

Published on December 16, 2024 - 4 min read

Let me clarify once for all why Ethereum MEV bots are a scam

The Ethereum MEV Bots are a scam

Let me clarify once for all why Ethereum MEV bots are a scam

Several months ago, I wrote this article: The Fascinating Ethereum MEV Bot Scam, where I dived deep into the technical aspects of a scam that has been circulating for years on platforms like X.com and

Published on November 19, 2024 - 5 min read

But you can't live without it anymore

You don't (*always*) need async

But you can't live without it anymore

We are too much into async, but we can't go backYou know what? Async Rust is great, but I also was relatively a late adopter of it, mainly because I've worked a lot on CLI tools before

Published on November 18, 2024 - 11 min read

A quick investigation on the recursion limit exceeded issue at build time

Reached the recursion limit... at build time?

A quick investigation on the recursion limit exceeded issue at build time

A bit of contextSo on the other day I was implementing Dokany for my Remotefs-fuse driver (coming soon btw). For those who d

Published on November 03, 2024 - 6 min read

What is the best approach for achieving conditional generics in Rust?

Dyn Box Vs. Generics

What is the best approach for achieving conditional generics in Rust?

Case scenarioHave you ever done something similiar?trait Greet { fn greet(&self) -> String; } struct Alice; impl Greet for Alice { fn greet(&self) -> String {

Published on October 28, 2024 - 6 min read

we have multi-host transfers baby

Announcing termscp 0.16.0

we have multi-host transfers baby

What's newSo let's see what's new in this version 0.16 of termscp.Don't you know termscp yet? Come discover this

Published on October 14, 2024 - 2 min read

with many new features

Announcing termscp 0.15.0

with many new features

What's newSo let's see what's new in this version 0.15 of termscp.Don't you know termscp yet? Come discover this

Published on October 03, 2024 - 3 min read

Are you tired of PHP and you want to be a 100% Rust developer? You should consider becoming a freelancer

Hey Rustaceans: Rust freelancers do exist!

Are you tired of PHP and you want to be a 100% Rust developer? You should consider becoming a freelancer

In 2023 I've decided to resign from my job at Prima to start working as a freelancer, with a particular focus on Rust, along with a minor web development. Currently I can affirm that for 90/95% of

Published on September 04, 2024 - 5 min read

come discover many brand new cool features

termscp 0.14 has been released

come discover many brand new cool features

It's been a long timeIt's been 5 months since the last release of termscp came out, so yeah let's party for this new termscp release 🎉.

Published on July 17, 2024 - 3 min read

Well it looks easy, but it's not

Implementing a generic range parser in Rust

Well it looks easy, but it's not

Simple problems that require complex solutionsA few days ago I was implementing a really simple function which would given a string representation of a range it returns a Vec of the items to include

Published on July 12, 2024 - 8 min read

Let's see how to setup the tokio runtime to use only the configured cores

How to configure CPU cores to be used in a Tokio application with core_affinity

Let's see how to setup the tokio runtime to use only the configured cores

There are several cases where applications are developed for extreme performance and choosing the cores to be used for an application is required. For instance we may want to reserve certain cores for

Published on July 06, 2024 - 4 min read

How AI is not improving our society and for the 90% is just a bubble

Let me introduce you ShitAI

How AI is not improving our society and for the 90% is just a bubble

A brief resume of how AI has taken overIf we went back to five years ago and you would have said "AI" in front of somebody, probably the first thought to come to minds would have been

Published on May 28, 2024 - 4 min read

Why we all have been lied about Bitcoin

The Bitcoin Utopia is a Lie

Why we all have been lied about Bitcoin

PreambleI want to be clear on some aspects before starting this article:This is not going to be a Fiat Vs. Bitcoin argumentation: I both believe both of them are equally badThere's not any

Published on April 12, 2024 - 15 min read

What do you need to get started? Why is it important? Can you actually earn bitcoins?

How to get started with Bitcoin Lottery Mining?

What do you need to get started? Why is it important? Can you actually earn bitcoins?

What is the Lottery MiningHave you ever heard about Lottery Mining? Lottery Mining is a low-probability mining strategy, and with low I mean VERY low, to try to mine a block on PoW blockchains, such

Published on February 15, 2024 - 7 min read

An overview of this scam contract code

The fascinating Ethereum MEV Bot scam

An overview of this scam contract code

What is a MEV BotFor those who don't know:A MEV bot, short for "Maximal Extractable Value" bot, is a sophisticated program that operates in the cryptocurrency world. It scans the bloc

Published on January 31, 2024 - 13 min read

And why you should do the same

I've replaced Google Analytics with Umami

And why you should do the same

Google Analytics is mostly overratedI've used GA4 for my website in the past few months since it was released at the beginning of 2023, but to be honest, I couldn't really enjoy it, and I

Published on October 04, 2023 - 6 min read

Maximize your Lighthouse score by migrating your web page to Gatsby

How to migrate from ReactJS to Gatsby

Maximize your Lighthouse score by migrating your web page to Gatsby

Why to migrate your ReactJS frontend to GatsbyDo you have a website entirely developed with React without any Server-Side rendering? And maybe you're website is mostly a static one. Well, in that

Published on September 21, 2023 - 15 min read

As an experienced open-source developer, I want to tell you why you should do open-source, with all the cons though

Why you should (and should not) do open-source

As an experienced open-source developer, I want to tell you why you should do open-source, with all the cons though

PreambleI started my journey into open-source almost 6 years ago and I've worked on several projects. Currently, I have 90 public repos on my GitHub and at least 5 of them have become quite

Published on July 17, 2023 - 10 min read

A step-by-step guide to access SMB share on Windows with Rust stdlib

How to access an SMB share with Rust (on Windows)

A step-by-step guide to access SMB share on Windows with Rust stdlib

IntroductionI’ve developed termscp, which is basically a feature-rich terminal file transfer and explorer, with support for SCP/SFTP/FTP/S3 and now also SMB. But implementing SMB wasn’t that

Published on May 13, 2023 - 4 min read

A reflection on how we're all part of the problem in open-source

For a sustainable open-source community, start pointing the finger at the mirror

A reflection on how we're all part of the problem in open-source

PreambleIt’s November 2020, and several NodeJs services suddenly stopped working. The panic spreads across the community, immediately someone points the finger to a possible wide-spread NPM package

Published on March 20, 2023 - 7 min read

A retrospective of Rust Nation '23

How Rust Nation ‘23 changed my POV on the Rust community

A retrospective of Rust Nation '23

About Rust Nation '23Between the 16th and the 17th of February 2023, at the Brewery in London took place the Rust Nation ’23 conference, which is the first UK conference dedicated to the Rust

Published on February 20, 2023 - 4 min read

A journey into one of my most painful development: a Wear Os App

Dev Horror Story #1 — An Android Nightmare

A journey into one of my most painful development: a Wear Os App

PreambleReflecting on our Android perceptionLet's jump back to the 2010s, I was still a student at the high school and there was a feud between iOS and Android users. Everybody used to point out

Published on January 25, 2023 - 11 min read