David Dal Busco

👨‍💻 Freelancer by day 🦸‍♂️ Creator of Papyrs & Juno by night

Translate a Svelte app without external dependencies

Adding internationalization support to a Svelte application: a step-by-step guide.

Published: May 18, 2023, 7:15:32 AM

Edited: May 18, 2023, 7:15:32 AM

Papyrs is deprecated

After careful consideration, I have decided to deprecate Papyrs. Although the platform is still available for use, new user sign-ups have been disabled and it is no longer being actively developed or maintained.

Published: May 07, 2023, 12:58:21 PM

Edited: May 07, 2023, 1:10:18 PM

Fake video capture with Playwright

How to mock the camera for an End-to-End test that requires a video stream capture.

Published: Apr 30, 2023, 10:32:02 AM

Edited: Apr 30, 2023, 10:32:02 AM

Develop An Angular App On Blockchain

How to create a Web3 decentralized application using Angular and Juno.

Published: Apr 21, 2023, 8:45:22 AM

Edited: Apr 21, 2023, 8:45:22 AM

Build A Web3 App With React JS

How to develop a decentralized application on blockchain with React and Juno.

Published: Mar 28, 2023, 11:40:17 AM

Edited: Apr 21, 2023, 8:48:22 AM

Automatically generate Candid from Rust on the IC

How to auto-generate the Candid declaration from Rust code on the Internet Computer.

Published: Mar 12, 2023, 4:32:52 PM

Edited: May 04, 2023, 8:12:05 AM

Rust Trait A Powerful Alternative To TypeScript Interface

Comparing TypeScript “interface” with Rust “trait” for simple, flexible, and composable code.

Published: Mar 06, 2023, 12:49:21 PM

Edited: Mar 28, 2023, 12:05:45 PM

Introducing Juno An Open Source Blockchain Platform For Frontend Devs

Launching a new open-source Blockchain-as-a-Service solution that makes building Web3 applications more accessible frontend developers.

Published: Feb 14, 2023, 11:19:49 AM

Edited: Feb 14, 2023, 11:19:49 AM

Svelte Custom Stores TypeScript Declaration

Svelte offers some nice easy-to-use store concepts. One of those is the "custom store" but how to declare its types?

Published: Jan 20, 2023, 5:47:03 AM

Edited: Jan 20, 2023, 5:47:03 AM

Product naming is hard

Gosh, I finally got the name for my new side project. It will be called: Juno.

Published: Jan 10, 2023, 11:33:24 AM

Edited: Jan 10, 2023, 11:33:24 AM

TypeScript isNullish nonNullish and assertNonNullish

Three little TypeScript assertion functions that have proven to be really useful.

Published: Dec 30, 2022, 9:05:40 AM

Edited: Dec 30, 2022, 9:17:09 AM

Sass media queries mixins

A Sass media queries mixin to avoid duplicating CSS breakpoints all over the place.

Published: Dec 22, 2022, 8:19:46 AM

Edited: Dec 22, 2022, 8:36:37 AM

Canister guard in Rust on the Internet Computer

Guard functions can be executed before updates and queries of canister smart contracts written in Rust on the Internet Computer.

Published: Dec 15, 2022, 11:10:24 AM

Edited: May 04, 2023, 8:10:54 AM

Deploy Internet Identity locally

How to deploy the blockchain authentication system for the Internet Computer locally

Published: Nov 27, 2022, 7:29:53 AM

Edited: May 07, 2023, 2:31:46 AM

Migrate canister smart contracts from Motoko to Rust

I migrated 500+ canisters from Motoko to Rust on the Internet Computer. Here are the two major things I learned.

Published: Nov 10, 2022, 1:28:47 PM

Edited: May 04, 2023, 8:09:17 AM

Few things to know before launching a SvelteKit app in prod

Content security policy, build reproducibility and polyfill. Few tips to know before going live with SvelteKit.

Published: Oct 19, 2022, 7:38:46 AM

Edited: Nov 04, 2022, 10:47:06 AM

Poll canister on the Internet Computer

Repeatedly calls a function on the IC with web workers without decreasing your dapp frontend performance.

Published: Oct 10, 2022, 11:28:57 AM

Edited: May 04, 2023, 8:04:53 AM

Prepare your dapps for social platform and SEO

A guide to set up dapps metadata, icons and social image for social media sites and search engines.

Published: Sep 29, 2022, 8:17:16 AM

Edited: Nov 04, 2022, 1:30:28 PM

Compute sha256 of CSP script tags in NodeJS

Automatically generate the SHA-256 hash of the script tags for the Content Security Policy

Published: Sep 17, 2022, 12:08:30 PM

Edited: Nov 04, 2022, 1:31:30 PM

Running NNS-dapp after a fresh git clone

Published: Sep 17, 2022, 5:47:02 AM

Edited: Sep 20, 2022, 1:50:28 PM

Having fun deconstructing the localstorage in TypeScript

Read stringified objects from the localstorage in TypeScript using fun stuffs such as deconstructing objects, assertion and generic

Published: Sep 01, 2022, 7:03:34 AM

Edited: Nov 04, 2022, 1:32:23 PM

Install code in child canisters with NodeJS

How to upgrade smart contracts on the Internet Computer with JavaScript

Published: Aug 11, 2022, 2:45:56 AM

Edited: May 04, 2023, 8:03:16 AM

TypeScript Utilities For Candid On The IC

A collection of functions to handle Nullable, Date and Blob when interacting with canister smart contracts.

Published: Aug 05, 2022, 7:07:33 AM

Edited: May 04, 2023, 7:54:57 AM

ICP to cycles in JavaScript

How to programmatically convert ICP to cycles in NodeJS?

Published: Jul 15, 2022, 4:06:01 AM

Edited: May 04, 2023, 8:01:17 AM

SvelteKit Web Worker

How to create and communicate with a web worker in SvelteKit and ViteJS

Published: Jul 07, 2022, 10:55:16 AM

Edited: Nov 04, 2022, 1:35:41 PM

Build a library with esbuild vol 2

A few new tips and tricks to build a library with esbuild

Published: Jul 05, 2022, 12:09:32 PM

Edited: Nov 04, 2022, 1:36:35 PM

Create A Popover In Svelte

How to create a popover in Svelte without any other libraries or dependencies.

Published: Jun 23, 2022, 9:15:25 AM

Edited: Nov 04, 2022, 1:38:16 PM

Announcing Papyrs Blog on web3

I have developed a new open-source, privacy-first, decentralized blogging platform and today I am making it available to anyone.

Published: Jun 16, 2022, 11:10:36 AM

Edited: Nov 04, 2022, 1:39:05 PM

A Frameworkless Store In TypeScript

Have you ever developed applications that have their API, services and state management fully separated from their core?

Published: May 23, 2022, 12:19:35 PM

Edited: Nov 04, 2022, 1:44:02 PM

Dynamically Create Canister Smart Contracts In Motoko

How to generate on-the-fly decentralized smart contracts on the Internet Computer.

Published: May 12, 2022, 1:03:24 PM

Edited: May 04, 2023, 7:59:36 AM

Call Internet Computer Canister Smart Contracts In NodeJS

How to query canister smart contracts on the Internet Computer in a NodeJS context

Published: May 02, 2022, 2:32:51 PM

Edited: May 04, 2023, 7:57:13 AM