Quantcast
Browsing latest articles
Browse All 146 View Live

A Candid explainer: The rough idea

One of the technologies that was created by DFINITY as we built the “Internet Computer” is Candid. Candid isa language to describe the interface of a service, with named methods, arguments and...

View Article


A Candid explainer: Safe higher-order upgrades

This is the second post in a series about the inteface description language Candid.Safe upgradesA central idea behind Candid is that services evolve over time, and so also their interfaces evolve. As...

View Article


A Candid explainer: Opt is special

This is the third post in a series about the inteface description language Candid.The record extension problemInitially, the upgrade rules of Candid were a straight-forward application of the canonical...

View Article

A Candid explainer: Language integration

This is the forth post in a series about the interface description language Candid.Now for something completely different: How does Candid interact with the various host languages, i.e. the actual...

View Article

A Candid explainer: Quirks

This is the fifth and final post in a series about the interface description language Candid.If you made it this far, you now have a good understanding of what Candid is, what it is for and how it is...

View Article


A mostly allocation-free optional type

The Motoko programming language has a built-in data type for optional values, named ?t with values null and ?v (for v : t); this is the equivalent of Haskell’s Maybe, Ocaml’s option or Rust’s Option....

View Article

How to audit an Internet Computer canister

I was recently called upon by Origyn to audit the source code of some of their Internet Computer canisters (“canisters” are services or smart contracts on the Internet Computer), which were written in...

View Article

Zero-downtime upgrades of Internet Computer canisters

TL;DR: Zero-downtime upgrades are possible if you stick to the basic actor model.BackgroundDFINITY’s Internet Computer provides a kind of serverless compute platform, where the services are...

View Article


Image may be NSFW.
Clik here to view.

Telegram bots in Python made easy

A while ago I set out to get some teenagers interested in programming, and thought about a good way to achieve that. A way that allows them to get started with very little friction, build something...

View Article


Image may be NSFW.
Clik here to view.

The Via Alpina red trail through Slovenia

This July my girlfriend and I hiked the Slovenian part of the Red Trail of the Via Alpina, from the edge of the Julian Alps to Trieste, and I’d like to share some observations and tips that we might...

View Article

More recursive definitions

Haskell is a pure and lazy programming language, and the laziness allows us to write some algorithms very elegantly, by recursively referring to already calculated values. A typical example is the...

View Article

rec-def: Behind the scenes

A week ago I wrote about the rec-def Haskell library, which allows you to write more recursive definitions, such as in this small example:let s1 = rInsert 23 s2 s2 = rInsert 42 s1 in getR s1This will...

View Article

rec-def: Program analysis case study

At this week’s International Conference on Functional Programming I showed my rec-def Haskell library to a few people. As this crowd appreciates writing compilers, and example from the realm of program...

View Article


Image may be NSFW.
Clik here to view.

rec-def: Dominators case study

More ICFP-inspired experiments using the rec-def library: In Norman Ramsey’s very nice talk about his Functional Pearl “Beyond Relooper: Recursive Translation of Unstructured Control Flow to Structured...

View Article

Image may be NSFW.
Clik here to view.

rec-def: Minesweeper case study

I’m on the train back from MuniHac, where I gave a talk about the rec-def library that I have excessively blogged about recently (here, here, here and here). I got quite flattering comments about that...

View Article

Browsing latest articles
Browse All 146 View Live