RSS.Social

posts

follow: @[email protected]

Posts

Human vs JSON output formatting: avoid mixing concerns

Why I use Debian

riki page names and internal links

Implementing an ikiwiki subset in Rust

radiclw

Using Radicle CI for Development

Command line interfaces in Rust

Framework 13 inch AMD and HP Thunderbolt4 Dock G4

Why does Debian change software?

Interviewed on the Open Source Security podcast

Obnam, again

I don't like Docker or Podman

Backup software implementation, part 7

A QEMU question regarding user mode networking

Backup software implementation, part 6

Backup software implementation, part 5

Error messages when running programs in Rust

Backup software implementation, part 4

Backup software implementation, part 3

Ambient, a CI engine

Backup software implementation, part 2

Backup software implementation

Framework 13 AMD, first impressions

Software supply roles

Checklist for primary laptop

Debian Git monorepo

vmdb2 version 0.40 released

40 years as a programmer

Billion file filesystem

The XY solution

De-duplicating $PATH

New PGP key, and practice around it

Updated my GTD introduction guide

Why is Debian the way it is?

Tickets, issues, tasks

New job: Radicle

vmdb2 and v-i releases

Using clap to build nice command line interfaces

CI annoyances

'The early days of Linux' on LWN

Tricking your brain to get things done

Rant: year of Linux on the desktop

Can you run your test suite successfully 1000 times in a row?

Keyboardio Model100 keyboard: review at one month

Rust training for FOSS devs: November 20

Rust training for FOSS devs: how did it go?

Rust training for FOSS programmers

Not breaking things is hard

v-i version 0.2: non-interactive Debian installer for bare metal machines

On home Internet routers

Obnam 0.8.0 - encrypting backup program

Rust training

Unix command line conventions over time

Release notes: why and how?

On Linus's Law

obnam

A year of README reviews

v-i 0.1, a Debian installer using vmdb2

Insert a million rows into Sqlite, from Rust

sq stakeholder interviews: summary

Subplot talk at FOSDEM

Security ratchet

My split external brain

We're breaking Subplot for a while

A custom Debian installer: v-i

Obnam 0.6.0 released: encrypting backup program

Obnam 0.5.0 released: encrypting backup program

User guide for Sequoia sq: feedback please

Essay on re-thinking email

I work on Sequoia-PGP now

Tilde expansion in Rust

SSH host identity certification

Subplot 0.2.2 released—acceptance testing tool

I installed Debian on a Thinkpad X220

Please try Subplot, for acceptance criteria

Obnam version 0.4.0: encrypting backup program

Sponsored-by proposal

Vulnerability testing of patch review processes in FOSS

Book club: Program Comprehension and Code Complexity Metrics: An fMRI Study

Debian disappointment

Obnam iteration planning: April 18—April 25

I'd like to review your README

The leadership problem for free software

Book club: Hillel Wayne's What we know we don't know

Obnam version 0.3.0: backup program

obnam version 0 3 0 backup program

vmadm: helping me manage my local libvirt VMs

vmadm helping me manage my local libvirt vms

The XDG base directory specification and Rust

On planning and estimating software development work

Asymptotic awesomeness

Obnam2 version 0.2.2, backup program: an alpha version

obnam2 version 0 2 backup program an alpha version

Backup interchange format

Why write Obnam?

Counting Obnam users

My test setup for my Ansible roles

Obnam2 - a new backup system

On Digital Ocean's Hacktoberfest

A billion files

Book club: Testing Firefox more efficiently with machine learning by Mozilla

Transfer speeds

Book club: The communicative value of using Git well

I miss inboxes

Rethinking email: the spam problem

Book club: Latacora -- Stop using encrypted email

Contractor: build software more securely

Godwin on empowering people

What people like or hate about email

Demo site for how I journal

Alternative Debian installer based on vmdb2: v-i

Security isolation in CI engines

Subplot volunteers? (Acceptance testing tool)

Why Debian isn't fun for me

Date formats in international contexts

Free software development doesn't have to be awful

Code coverage is almost pointless for tests

Review: Keyboardio Model 01 keyboard

The reMarkable tablet: a review

Subplot - new name for acceptance testing tool

Fable for acceptance testing

Debian and the SKS signature flooding attack

Dijkstra was only partially correct about testing

Two guys walk into a bar... to talk about debugging

On learning Rust and Go: migrating away from Python

On deep, constructive online discussions about technical topics

Starting new project: Yuck (an identity provider)

Unit test coverage and confidence

Thanking authors of the free software you use

Roadmap visualisation

Retiring from Debian

Idea for a Debian QA service: monitoring install size with dependencies

Rewrote summain from Python to Rust

On flatpak, snap, distros, and software distribution

New job: WMF release engineering

GITR: Parsing Text with Nom; Pain points

GITR: Object-Orientation in Rust

GITR: Threads, Networking and Sharing

GITR: Error Handling

GITR: Standard Library Containers

vmdb2 roadmap

GITR: Modules and Cargo

A filesystem walker as an iterator

GITR: Filesystem and Processes

New website for vmdb2

GITR: Structs, enums, and matching

GITR: Introduction, Basics

A plan to learn Rust

Learning Rust

Short-term contracting work?

Federated CI

Software freedom for the modern era

On requiring English in a free software project

Building Debian packages in CI (ick)

Ick version 0.53 released: CI engine

Ick ALPHA-6 released: CI/CD engine

Hacker Noir developments

Architecture aromas

Storing passwords in cleartext: don't ever

New chapter of Hacker Noir on Patreon

dpkg maintainer script containerisation

What is Debian all about, really? Or: friction, packaging complex applications

Qvisqve - an authorisation server, first alpha release

Ick: a continuous integration system

On using Github and a PR based workflow

The proof is in the pudding

Unit and integration testing: an analogy with cars

Debian and the GDPR

Attracting contributors to a new project

Retiring Obnam

Enabling TRIM/DISCARD on Debian, ext4, luks, and lvm

Dropping Yakking from Planet Debian

Adding Yakking to Planet Debian

Obnam 1.22 released (backup application)

Vmdb2 first alpha release: Debian disk image creation tool

Using a Yubikey 4 for ensafening one's encryption

Distix movement

Ick2 design discussion

Hacker Noir, chapter 2: Development setup phase

Improving debugging via email, followup

Hacker Noir, chapter 1: Negotiation

hacker noire chapter 1 negotiation

Debian miniconf in Cambridge

Obnam 1.20 released

A tiny PC as a router

Thinking about CI, maybe writing ick2

Linux 25 jubilee symposium

20 years ago I became a Debian developer

Debugging over email

Two-factor auth for local logins in Debian using U2F keys

New APT signing key for code.liw.fi/debian

Qvarn Platform announcement

New job: QvarnLabs

Obnam user survey, 2016

survey-2016

Not-platform for Debian project leader elections 2016

Update on 'Backups as a service in Debian': no news is bad news

Obnam 1.19.1 released (backup software)

Obnam survey (January 2016)

Obnam 1.19 released (backup software)

Coming back to Finland after five years

Software Freedom Conservancy donation

FUUG grant for Obnam development: what happened then

Obnam 1.18 released (backup software)

On Norbert Preining, Sage Sharp, and Debian

FUUG grant for Obnam development

Obnam 1.17 released (backup software)

On the cost analysis of dependencies

Obnam 1.14 released (backup software)

Obnam 1.13 released (backup software)

/u/liw no more

Obnam 1.12 released (backup software)

Obnam 1.10 released (backup software)

Software development estimation

Jessie release part in Helsinki

DPL elections for 2015 are going on

Obnam 4.1 released

Obnam 1.9 released (backup software)

The shape of a solution

'It Will Never Work in Theory' and software engineering research

networkintheory

A vision of backups in Debian

Matthew Garret and Intel and the so-called gamergate

45

On ticketing systems

Bald again

Obnam 1.8 (backup program)

Programming performance art

Applying the Doctorow method to coding

Obnam 1.7.4 release (backup software)

Obnam 1.7.1 and 1.7.2 releases (backup software)

Obnam 1.7 (backup software)

Thoughtful, inspiring words from Russ

Obnam 1.6.1 (backup software) and larch 1.20131130 (B-tree) releases: serious bug fixes

Debian: developing it wrong

Configuring gitano

Moving repositories to git.liw.fi

My GTD booklet no longer on Amazon

Ending squeeze support in my software

Yakking: a new group blog targeting new free software hackers

fling.yarn

recompress.yarn

Yarn, a scenario testing tool

Obnam 1.5 (backup software) release

Married

Consistency in backups

Oops: Making sure your backups work

Obnam bug list length

Who knows what evil lurks in the data of men? Security aspects of backups

How long is a string: how many backups are enough?

If it quacks like a duck: what is a backup?

"Um, I know I should": talking about backups

On the usefulness of wishlist bugs

Machine-parseable embedded license summary information

Two new t-shirt designs

Obnam 1.4 (backup software) release

cliapp 1.20130313 released (Python command line utility framework)

ttystatus 0.22 (terminal status and progress reporting for Python)

Daniel and the shaved yak

Thinkpad X200s scroll wheel emulation

Makefiletab plugin for Gedit 3

Can the world be saved by coding?

Kickstarter: Maria Eveliina

Public libraries bad for authors and publishers?

Baserock talk at FOSDEM

trunktees-2013-01

Obnam 1.3 (backup software) and other releases

Made some t-shirt designs

Tools I use

Intervewed on FLOSS Weekly about Baserock

Obnam 1.2 (backup software)

New format to replace tar: some notes

Debian discussion culture: what doesn't work

decorum-works-does-not-work

Dabbling in diplomacy

Baserock, or what I've been doing at work last year

Bald

Obnam 1.1 (backup software)

Helsingin kaupungilla liikaa rahaa

In Kindle store: Getting Things Done for Hackers booklet

GTD for hackers talk

errno lookups on the command line

Obnam 1.0 (backup software); a story in many words

Obnam 0.29 (backup software)

Larch 1.20120527 (Python B-tree library)

Summain 0.13 (file manifest/metadata/checksum tool)

Obnam 0.28 (backup program)

Quality of discussion in free software development

Obnam 0.27 released (backup software)

Obnam 1.0 planning

Earth 2.0 by Soile Mottisenkangas

What is a Linux distribution?

Getting Things Done for Hackers

World Backup Day

Obnam 0.26 released (backup software)

branchable-noncorporate

New Obnam mailing list

Soile's Kickstarter campaign a succes

Copyright as theft

Obnam 0.25 released (backup software)

FOSDEM 2012

MIX 1/2 Albanian Kickstater

Cafe coding and other productivity hacks

Like/dislike buttons in free software

Obnam 0.24 released (backup software)

Effin lakanakampanja

#backuphackers and plea for help

Obnam backup speed to local disk

Moving from SD to Ikiwiki for bug tracking

On the future of Linux distributions

Luxury

In search of boredom

Obnam 0.23 released (backup software)

Entropy key: a review

File copying and removal benchmarking

Obnam version 0.22 (backup application)

Obnam 0.21 released (backup software)

test

Linux at 20

Oh Amazon...

Linux 20 years: anecdotes from 1998

Obnam version 0.20 (backup software)

Missing roles in software: build engineers

Using OpenPGP subkeys in Debian development

Obnam 0.19 (backup software)

Obnam Ubuntu PPA

Obnam version 0.18

rm is too slow

Instapaper versus MAFF

My first t-shirt design

strncpy? just say no

A tiny step towards TDDD and FreedomBox-NAS

Chunkwise Debian package downloads

Train coding: summain speed

Living off freedom

TDDD systest tool proof of concept

Obnam 0.17: second BETA release

TDDD, more thoughts

vmdebootstrap and FreedomBoxLite

I'm in the movie business now

vmdebootstrap, for real

Beep be gone

Test driven distribution development

I'm a digital luddite, me

python-tracing 0.3

Obnam 0.16: no longer alpha

Project Harmony

cliapp, a Python command line app framework

Blackmail as an argumentation technique

World Backup Day

Obnam version 0.15 and 0.15.1, and btree/larch 0.19

QR codes for backup?

DPL elections: candidate counts

Truth in advertising

Keep companies honest

Kaka

DPL nomination period for 2011

What's a good name for a Python B-tree library?

Experiences with SD

Nokia ja rakennemuutos

Growing the Debian development community

Idea: addsysuser

Edinburgh squeeze release party

Python B-tree library, 0.16.2

Egypt blocks all communication: thoughts

Obnam and btree journal dump

New job, at Collabora

DEP5 is CANDIATE

Micro-optimizing btree

Obnam 0.14 and btree 0.14

On PDF restrictions and software freedom

Shadow of a bug

On showing respect

Welcome to my newest blog

Write intent bitmaps with Linux software RAID

Debian VM image creation tool?

Geographical uncertainty

first post

Distributed bug tracking

Packaging tutorial for Debian-Women

Manpage tutorial

E-kirjoja, kiitos

In defense of Nicole

100 things?

Monopoly variants

No orange dents

My Plans for Debian

Oops, I did it again

Undo for mail sending in Evolution

Debian CUT

Debconf10

Should I re-join Debian?

Branchable

Keyboard for hire

Obnam version 0.13

Obnam and btree versions 0.12

KD:n Maanselkä: pienpuolueiden toiminta lopetettava

Obnam version 0.11, btree version 0.11

Obnam 0.10 (ALPHA)

btree 0.10

Python profile inspector

Python library for terminal status updates

Soile source

LRU cache for Python

btree 0.9

Obnam benchmarking

Obnam benchmark specification

Glass's Fact 19 and open source

B-trees with cloning

Duplicate data in filesystems

GUI app to configure locale for GNOME

Hashlib patch for Enemies of Carlotta

Server maintenance styles

Keeping a journal

Lazyweb: B-tree code review?

Obnam performance requirement

Living with limited Internet access: saving web pages instead of bookmarking them

Autojen GPS-urkinta etenee

Obnam is feature complete (sort of)

Cable management while travelling

Computer driving licenses

Obnam storage API

LCA, rest of the week

LCA2010 Monday

Collaborative storytelling with audience voting

Obnam command line interface

Obnam, or once more a backup program

On free software parenting

bzr OO.o support?

Geotagging news

Brother P-touch QL-550 with Ubuntu 9.10 (karmic)

Dimbola 0.0.3

sftpsync

Ninja school taunting

Effi sananvapaus-juliste

Dimbola 0.0.2

Tags in Dimbola

Kirja-arvostelu: Elämäpeli, Ville Vuorela

Stop sending e-mail?

Street photography

Retired from Debian

Viimeinkin jotain rajaa holtittomalle sananvapauden käytölle mediassa!

The death of parody in Finland

Sähköautojen vero pois!

Queue, don't stack

Phone ringtones and stress

Dimbola background processing

My GNOME keyboard shortcuts

Dimbola prototype: a photo organizer

Listat eivät ole demokratiaa

Läpinäkyvä yhteiskunta

Outi Mäkelä vihaa minua

Onneksi olkoon, Piraattipuolue

Automatically connecting signals in PyGTK

Olen mies, olen siis pedofiili

Freedom in online services

Cranes for balconies

Kernel oops message compression

Lessons about travelling

Downloading updates faster

Bug exchange format

Semi-retiring from Debian

Uncluttering my life

Using zsync for .deb downloads: initial benchmark results

Giving up on freedom temporarily?

Rsync in Python

LRU cache for obnam in Python

On mono

IRC proxy for productivity

Laptop stickers begone!

Microblogging

Using mr on my laptop

Perustuslakituomioistuin Suomeen

The Pirate Bay kills online music business

Size of a new window

On the Okularm DRM feature

Time machine for logging

Mäkisen Paja - hyvä idea

Seurasaari, today

Kaupan portti sanoo piip!

Suomalaisen politiikan ongelmat

Personal data, personal organs

watch(1)

Toy Story 3 is coming

Switching editors

Stolen laptop, call home!

Secret Life of Machines

Online secure timestamping

Leaving Planet Debian

Kauhu-aiheinen taidetyöpaja selvästi toiminut hyvin

A Distributed Internet Witness Service

Dishwasher mutex

Declarative .deb maintainer scripts

Debian Developers per capita

Control-D confusion

Copy-on-write files

Libc is broken. What now?

Ubuntu 9.04 (jaunty) released

256 the movie manuscript

Saving files reliably under Unix

Personality conflict

Perustuslaki: kallis vessapaperi

Multitasking for humans

Desktop user logging service

GTD collection

Suomi-kalenteritiedosto vuodelle 2009

Reittiopas ja GPS ne yhteen soppii...

Manuaalisivujen kirjoittaminen – esitelmä Linux-teemaillassa

Lait kansatajuisiksi

Älä kailota edes ilman puhelinta?

Suvi Lindénin oma pikku maailma

Valtakoneisto: Ei sananvapaudella ole mitään väliä

Gartner: mobiles to replace landlines in business use

UDW session on piuparts

Still climbing onto the bandwagon

Masinointia Lex Nokiasta. Perkele.

Oikean nimen vaatiminen hs.fi:n keskusteluissa

Editor search continues

Notifications be gone!

Renaming a Linux host

Agree: Disagree Agreeably

Post-vacation e-mail processing

Using coverage.py with Python unittests to ensure good test coverage

Magazines on paper a thing of the past

Finding trust paths between PGP keys

PBS: The Machine That Changed The World

Finhack, 29.11. Forssassa

Piraattipuolueen kannattajakortit

system-cleaner in intrepid

Non-evil music stores

Huey packaging

Using KVM for Ubuntu ISO testing

Anonymity and trust

Selling my apartment

Sähköinen äänestäminen ei kelpaa koodaajille

Reason to become rich, #12765

CC music spammer

Privacy for free software development

Minor things, major obstacles

Parrot image drawn in pure CSS

Screensavers are evil

The Hugenholtz letter

Stress graph

Oikeusministerien luotettavuudesta

Oikeusministeriö on luotettava

My home directory, my name space

Python fstab library 1.0

Doping. Genetics. Blah.

Head, meet desk. Softly.

No more movies, music, TV

Finhack-idea

Five seconds to display a text message?!

I got wheels

Bold Bash prompt

NRJ Cash or Crash: typerä vai pahis?

RAID0 on gytha

edustajamme.fi

Linux-tekijä 2008

Scary things first, hard things second

Remember to uncomment

Vera on what women really want

My name is...

Progress bars everywhere!

Learning to cook

GNOME renaming tool

GNOME currency converter

Technorati entry

Reducing online distractions

Ouch, or things to remember when setting up a file server

Qemu/KVM caps lock