Quantcast
Channel: nomeata’s mind shares
Browsing index pages (146 articles)
↧

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


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


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

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

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


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

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

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


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


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

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 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: 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: 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: 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


Image may be NSFW.
Clik here to view.

Sweet former employee appreciation

Two months ago was my last day of working as an employee for DFINITY, and as I mentioned in the previous blog post, one of my main contributions was the introduction and maintenance of the Interface...

View Article

Leaving DFINITY

Last Thursday was my last working day at DFINITY. There are various reasons why I felt that after almost three years the DFINITY Foundation isn’t quite the right place for me anymore, and this plan has...

View Article


Image may be NSFW.
Clik here to view.

Verifying the code of the Internet Identity service

The following post was meant to be posted at https://forum.dfinity.org/, but that discourse instance didn’t like it; maybe too much inline code, so I’m posting it here instead. To my regular blog...

View Article

Don’t think, just defunctionalize

TL;DR: CPS-conversion and defunctionalization can help you to come up with a constant-stack algorithm.Update: Turns out I inadvertedly plagiarized the talk The Best Refactoring You’ve Never Heard Of by...

View Article

Named goals in Coq

TL;DR: Some mildly tricky tricks allow you to select subgoals by name, like in Isabelle. This leads to more readable proofs, and proofs that are more robust against changes.The need for case...

View Article
Browsing index pages (146 articles)


Latest Images