## Sorting as a convex optimization problem

Lately, I have been working on problems that require solving convex optimization problems. In the course of this work I have been using cvxpy. The cvxpy hom...

## A self-recognizing function

less than 1 minute read

Recently I have been thinking about recursive sets. These are sets that have a computable characteristic function. A standard example of a set that is not r...

## Folding trees and efficient color coding

Folds are convenient and efficient abstractions of recursive patterns for processing data structures. In 1984 John Hughes wrote “Why functional programming ...

## R and closures: a potential problem

R is an environment for exploratory data analysis that is becoming increasingly popular. It is also used for analysis of data in high-impact scientific publ...

## Efficient sampling without replacement in Python

Sampling (n) elements without replacement from a collection of (N) elements means that no duplicates are allowed. A strategy for sampling without replacemen...

## Memory lane: An old C program – Tic Tac Toe

less than 1 minute read

This very old program of mine, written such that the code fits into a 25 lines 80 columns terminal window, lets you play Tic Tac Toe on a (19 ) grid:

## An iterated quine in Python

less than 1 minute read

A Quine is a program that prints its own source code. Writing one is considered a rite of passage for programmers. In his Turing award lecture, “Reflections...

## Currying, Composition, and a Monad in Python

To cite Wikipedia:

## Sorting as a convex optimization problem

Lately, I have been working on problems that require solving convex optimization problems. In the course of this work I have been using cvxpy. The cvxpy hom...

## A self-recognizing function

less than 1 minute read

Recently I have been thinking about recursive sets. These are sets that have a computable characteristic function. A standard example of a set that is not r...

## Folding trees and efficient color coding

Folds are convenient and efficient abstractions of recursive patterns for processing data structures. In 1984 John Hughes wrote “Why functional programming ...

## Efficient sampling without replacement in Python

Sampling (n) elements without replacement from a collection of (N) elements means that no duplicates are allowed. A strategy for sampling without replacemen...

## Memory lane: An old C program – Tic Tac Toe

less than 1 minute read

This very old program of mine, written such that the code fits into a 25 lines 80 columns terminal window, lets you play Tic Tac Toe on a (19 ) grid:

## An iterated quine in Python

less than 1 minute read

A Quine is a program that prints its own source code. Writing one is considered a rite of passage for programmers. In his Turing award lecture, “Reflections...

## A book chapter on privacy (in Norwegian)

Last year I was asked by Norges Tekniske Vitenskapsakademi (The Norwegian Technical Science Academy) to write a chapter on privacy in the upcoming addition ...

## Why the $$k$$ in $$k$$-anonymity does not reflect any re-identification probability: defeating syntactic privacy

Over the years I’ve repeatedly heard the claim that (k)-anonymity means that the re-identification probability is at most (). In an important sense this is ...

## Differentially private $$k$$-anonymity makes limited sense

In response to the COVID-19 pandemic, the Norwegian Institute of Health first commissioned and then deployed a population surveillance / contact tracing cel...

## A quick observation on the provenance of randomness in privacy

Checking out Kifer and Machanavajjhala’s TODS paper on their Pufferfish privacy framework, I read the following (note that (M_1) and (M_2) are randomized qu...

## What does ε-differential privacy mean?

Differential privacy (Dwork et al. 2006) is an emerging standard for database privacy. As such, differential privacy is concerned with databases describing ...

## A reminder regarding p-values and their use

The use, and usefulness, of (p)-values is controversial. One of the reasons for this is that (p)-values often are misinterpreted. One such misinterpretation...

## Using convolutional networks for object comparison

Recently Google open-sourced their flow graph based numerical computation library Tensorflow. In their words:

## A book chapter on privacy (in Norwegian)

Last year I was asked by Norges Tekniske Vitenskapsakademi (The Norwegian Technical Science Academy) to write a chapter on privacy in the upcoming addition ...

## Native advertising and guilt by association

In the last year, I have repeatedly been offered the opportunity to contribute to marketing campaigns produced by the content marketing firm Mediaplanet. Fo...