L

Lars Wirzenius

blog.liw.fi · Personal blog · on HN since 2011

Lars Wirzenius, a Linux and Debian developer, writes about backup software, early Linux history, email, and Debian packaging.

What HN saysHN commenters link it for his Linux history anecdotes, his Debian packaging essay, and Obnam, a deduplicating, encrypting backup tool.
75HN people shared it
34linked it in comments
106stories submitted
3.1Kstory points
9 months agolast shared
2011people per year2026

Most-shared posts

  1. 1
  2. 2
    Linux at 20, some personal memories (2011)
    6 people · 119 points · first shared 2011 · 17 comments on HN
  3. 3
    Re-thinking electronic mail
    4 people · 141 points · first shared 2021 · 148 comments on HN
  4. 4
    Linux 20 Years: Anecdotes from 1998
    4 people · 76 points · first shared 2011 · 16 comments on HN
  5. 5
    Writing Manual Pages (2019)
    4 people · 13 points · first shared 2014 · 1 comments on HN
  6. 6
    Strncpy? just say no (2011)
    4 people · 5 points · first shared 2011 · discussion on HN
  7. 7
  8. 8
    Sponsored-By Proposal
    3 people · 44 points · first shared 2021 · 14 comments on HN
  9. 9
    Linux News #3 First Intervirw with Linus( 1992)
    3 people · 8 points · first shared 2023 · discussion on HN
  10. 10
    SSH Host Identity Certification
    3 people · 6 points · first shared 2021 · discussion on HN
  11. 11
    I'd like to review your README
    2 people · 337 points · first shared 2021 · 89 comments on HN
  12. 12
    Debian Git Monorepo
    2 people · 223 points · first shared 2024 · 153 comments on HN
  13. 13
    How to Get Out of Vi (2015)
    2 people · 46 points · first shared 2019 · 50 comments on HN
  14. 14
    Stopping evil and open source: thoughts
    2 people · 22 points · first shared 2025 · 1 comments on HN
  15. 15
    A Year of README Reviews
    2 people · 15 points · first shared 2022 · 1 comments on HN

What HN people wrote when they linked it

netsharc · 2025-06-15
Makes me think of this anecdote from Linus Torvalds' officemate, from (1) > At one point, Linus had implemented device files in /dev, and wanted to dial up the university computer and debug his terminal emulation code again. So he starts his terminal emulator program and tells it to use /dev/hda. That should have been /dev/ttyS1. Oops. Now his master boot record started with "ATDT" and the university modem pool phone number. I think he implemented permission checking the following day. 1) https://liw.fi/linux-anecdotes/
ISL · 2018-03-01
The article to which the post links is just as worthy of consideration. Linking here to add emphasis to the post-link: https://blog.liw.fi/posts/2018/02/17/what_is_debian_all_about_really_o…
peckrob · 2017-10-27
A few months back I was wiping some old drives using a USB->SATA adapter plugged into an old Linux machine I keep around for experimenting on random things. Mostly because I could just leave it to run for however long it took. There were two drives in the machine, sda and sdb. So the drive came up as sdc. So then I typed: $ shred -n1 -v /dev/sda Took me about 4 seconds to realize what I did before hitting Ctrl-C. Then, I sighed. Considered whether I could save anything. Realized there wasn't anything on there worth saving, and reinstalled. :) I'm usually much more cautious than that and I'm thankful it happened on a dumb test machine at home and not something important, but it was still a bummer and my first real sysadmin-type screw up. Mistakes happen, though. Even Linus once dialed his hard drive [0]. [0] https://liw.fi/linux-anecdotes/
luxpir · 2014-03-16
Yes, they're both quick and incremental, but there are some easily spotted differences. Here's a few: . GPG encryption . Unattended key-based backups via sftp . Push/pull backups/restores . The stability and support of a developer who has contributed to Debian/FOSS since 1996 (see http://liw.fi)
gcr · 2014-02-16
Obnam is also great: http://liw.fi/obnam/ This does deduplication, but can also encrypt the deduplicated blocks and store them on (say) S3.
Klasiaster · 2015-01-23
ZPAQ has much to give, a good recommendation. But I also found obnam awesome for de-duplicated backups as it allows cool snapshots which can be mounted via FUSE to be browsed in Nautilus or extracted via commandline tools. Package: obnam Version: 1.8-1 Maintainer: Lars Wirzenius <[email protected]> Depends: libc6 (>= 2.6), python (>= 2.7), python (<< 2.8), python-larch (>= 1.20131130~), python-ttystatus (>= 0.23~), python-paramiko, python-tracing (>= 0.8~), python-cliapp (>= 1.20130808~), python-fuse Description-en: online and disk-based backup application Obnam makes backups. Backups can be stored on local hard disks, or online via the SSH SFTP protocol. The backup server, if used, does not require any special software, on top of SSH. . * Snapshot backups. Every generation looks like a complete snapshot, so you don't need to care about full versus incremental backups, or rotate real or virtual tapes. * Data de-duplication, across files, and backup generations. If the backup repository already contains a particular chunk of data, it will be re-used, even if it was in another file in an older backup generation. This way, you don't need to worry about moving around large files, or modifying them. * Encrypted backups, using GnuPG. * Push or pull operation, depending on what you need. You can run Obnam on the client, and push backups to the server, or on the server, and pull from the client over SFTP. Homepage: http://liw.fi/obnam/
0x3o3 · 2026-01-23
for the state of Radicle CI read this post from the maintainers https://blog.liw.fi/posts/2026/radicle-status-quo-01/
tuukkah · 2024-03-13
> Linus and Linux If you consider who the OP is, you realise they know Linus and Linux better than almost anyone else: https://liw.fi/linux20/
bmelton · 2024-02-08
It looks like it's ikiwiki (unless I'm mis-reading it -- I had to parse it a couple times). Their first post[1] comments on it [1] https://blog.liw.fi/posts/welcome/
commandersaki · 2023-04-15
Lars has written about his interactions with Linus before in this article: https://liw.fi/linux20/ I fondly remember these lines: That summer, I re-connected with my fellow students from the university, including Linus. One of the students a few years older than Linus and me, Patrik, had a sauna in the building he lived, and he booked it once a week for the group of us. You perverts who think the word sauna is a synonym for brothel can stop imagining orgies: in Finland, saunas are for bathing, medication, even meditation, not sex. There’s a semi-famous picture of Linus, looking naked, drinking beer. The picture was taken at Patrik’s, by a fellow student, Stina, and Linus is wearing trousers, but it was a hot summer day, so he didn’t have his shirt on. No orgies. Really.
dredmorbius · 2023-01-03
Freax. You might find this of interest for the longer story: <https://liw.fi/linux20/>
lloeki · 2022-07-02
When trying to understand rsync and the rolling checksum I stumbled upon a small python implementation in some self-hosted corner of the web[0], which I have archived on GH[1] (not the author, but things can vanish quickly, as proved by the bzr repo which went poof[2]). [0]: https://blog.liw.fi/posts/rsync-in-python/ [1]: https://github.com/lloeki/rsync/blob/master/rsync.py [2]: https://code.liw.fi/obsync/bzr/trunk/
oscargrouch · 2019-08-31
This is not my field of expertise, so forgive me if im mistaken, but isnt 'Ohad Rodeh B-trees'[1] a simple and more elegant solution than a journal/WAL? As far as i know its already used in Linux Btrfs and in LMDB, and i wonder why, if they were designing this from scratch, why they didnt go for this in the first place. Familiarity perhaps? By the way i have code that deals with the SQLite Btree directly and by reading your comment now i understand why theres a need for a two-phase commit as expressed in: BtreeCommitPhaseOne() BtreeCommitPhaseTwo() [1] - https://liw.fi/larch/ohad-btrees-shadowing-clones.pdf
fwsgonzo · 2019-08-26
I don't think strncpy is the function you are looking for, either. Its for zeroing fixed-size character buffers. And it doesn't indicate problems. https://blog.liw.fi/posts/strncpy/
mlinksva · 2019-03-24
The author's series on learning Rust, not linked in the OP https://blog.liw.fi/learning-rust/ I really enjoy the author's blog, which has been discussed here many times over the years https://hn.algolia.com/?query=liw.fi
acqq · 2019-03-24
See the details here about his project that he maintained in Python for years (since 2006) in Python: https://blog.liw.fi/posts/2017/08/13/retiring_obnam/ I can really understand his: "Obnam has not turned out well, from a maintainability point of view. It seems that every time I try to fix something, I break something else. Usually what breaks is speed or memory use: Obnam gets slower or starts using even more memory." Also from his current post: "I could perhaps have been more diligent in how I used Python, and more careful in how I structured my code, but that's my point: a language like Python requires so much self-discipline that at some point it gets too much."
MisterTea · 2018-09-11
I hate to say it but you're exhibiting bias in your post. How much time did you actually spend looking? What search terms did you use? While I'll agree that md looks easy at first, troff isn't much more difficult if you put the time into it (humans are lazy, I get it). Here's one I found in under a minute by searching for 'how to write linux man page using troff': https://liw.fi/manpages/ and of course the official manual which has a nice command table in the beginning: https://www.troff.org/54.pdf Also of note: troff supports macros so the man page formatting won't be found in the troff manual because they are part of the man macro package.
chme · 2016-09-07
I take you start from the raspbian base image and customize your rootfs from there. Maybe take a look at the various debian bootstrap methods then you can create minimal sd-images and even apply some changes to the root fs and partition table before booting the rpi. This way you could implement encryption of the root partition or specification of partition size etc. Here is one of the many bootstrap methods: http://liw.fi/vmdebootstrap/
liw · 2016-08-15
Since I develop backup software, this is a problem I needed to solve (e.g., for verifying that restore works). So I wrote a tool: http://liw.fi/summain/ It produces output that is meant to be usefully diffable.
lemoncucumber · 2016-03-02
Sounds very similar to the copy-on-write-friendly b-trees used in Btrfs, originally researched by by Ohad Rodeh: http://liw.fi/larch/ohad-btrees-shadowing-clones.pdf
deno · 2015-12-25
https://www.nitrokey.com/ or print out on paper[1][2][3]/burn a DVD/write on floppy/etc but the encrypted version with very good passphrase. Don’t ever store private keys in plain text. [1] http://www.jabberwocky.com/software/paperkey/ [2] http://ronja.twibright.com/optar/ [3] http://blog.liw.fi/posts/qr-backup/
joeyh · 2015-03-16
Obnam uses gpg for encryption. The only novel thing is its use of symmetric encryption keys which are used to encrypt the data and are included in the backup repository, encrypted by your regular private gpg key. This allows giving additional gpg keys access to the backup after it has been made. http://liw.fi/obnam/encryption/ (Which is useful for eg, backing up a server. You can make a dedicated gpg key for that server, but give your personal gpg key access to the backups to restore later.) Anyway, the generation of the symmetric encryption key is what needs an entropy source. AFAIK this is done once per repository.
TheDong · 2014-09-01
I personally found fdupes to be slower and more limited than dupfiles [0]. I switched to dupfiles about a year ago and haven't had any problems yet. [0]: http://liw.fi/dupfiles/
beagle3 · 2014-04-03
I think that's the case. Note: https://github.com/bup/bup does that too (though it does not encrypt), and http://liw.fi/obnam/ does too (and it does encrypt). What tarsnap gives you that obnam doesn't is (a) managed cloud storage, (b) tarsnap's history and reputation, and (c) Colin's personal reputation. That's a lot, and it costs money above the S3 storage costs (which you could point obnam at).
atso · 2014-02-16
I hear about rdiff-backup, but I think its two main drawbacks are: * on the webpage, there is no new release since 2009. * has no de-duplication. I was considering moving my 5+ years old rdiff-backup system to any of those new, promising programs: * obnam [http://liw.fi/obnam/] * attic [https://pythonhosted.org/Attic/] They both do automatic de-duplication, old backup deletion and remote encryption.
nodata · 2013-11-11
duplicity is nice, but it doesn't do dedupe. It's also slow. I currently prefer http://liw.fi/obnam/ which does dedupe and every backup is a snapshot. Only downside is that encrypted backups are broken if you use the latest gpg.
skrause · 2013-10-27
If you're using a Linux-based system http://liw.fi/obnam/ might also be a good choice.
kahawe · 2011-08-11
With a bit of clicking around on the website, this should answer itself quite easily: Lars Wirzenius http://liw.fi/cv/
homebrewer · 2025-03-02
See also, by the same author: https://liw.fi/linux20

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close