HNHacker News
TopNewBestAskShowJobs

clemensnk

122 karma · joined November 15, 2015

submissionscomments
clemensnk··on Why Paris Is Obsessed with a Niche Spirit Made by Monks
We have a small bar in Aarhus, Denmark called Lecoq that, for some years at least, was the bar in the world that sold most bottles of Chartreuse. I should make sure to stop by again soon.
clemensnk··on Show HN: I built a system for active note-taking in regular meetings like 1-1s
Nice. Going to try this out.
clemensnk··on People Who Hunt Down Old TVs
My son who is 12 has gotten into collecting old Nintendo. Just the other day, I managed to find one of the consumer CRT holy grails on our local equivalent of Craigslist. A B&O MX4200. It's one of the last CRTs that B&O made from the mid 00s. It has an excellent picture, nice onscreen menus for calibrating the tube, and supports NTSC over composite so he can connect his early 80s Famicom that's been modded for composite out.
clemensnk··on Denmark's Justice Minister calls encrypted messaging a false civil liberty
Here at the computer science department in Aarhus, some of our professors and our head of department are doing their best to try to talk some sense into our politicians. See this post (apologies for linking to linkedin): https://www.linkedin.com/posts/cs-au-dk_dkpol-eupol-krypteri...

Diego has been part of putting together this open letter from 500+ cryptography and cybersecurity researchers: https://csa-scientist-open-letter.org/Sep2025

clemensnk··on Web apps in a single, portable, self-updating, vanilla HTML file
I'd love to. Drop me a mail and let's find a suitable time.
clemensnk··on Web apps in a single, portable, self-updating, vanilla HTML file
Also our Webstrates (https://webstrates.net) system stores state in the DOM itself. But it's more a system for research prototyping than publishing web pages.
clemensnk··on Web apps in a single, portable, self-updating, vanilla HTML file
This is really neat! It echoes many of the ideas we've been exploring with the Webstrates project (https://webstrates.net). We've been using the DOM as persistence layer for building malleable collaborative software for smaller groups, whereas hyperclay focuses on using the same mechanisms for traditional webpages. Recently, I have been experimenting with a local-first approach to Webstrates (https://github.com/Webstrates/MyWebstrates). Might be interesting to explore if a Webworker-based approach like in MyWebstrates could be used for offline editing in hyperclay.
clemensnk··on Show HN: Nash, I made a standalone note with single HTML file
Nice work! I’ve built a research prototype called Webstrates (webstrates.net) and recently created a local-first version: MyWebstrates (https://github.com/Webstrates/MyWebstrates).

I just tested your note on it, and it works nicely.

Here’s what I did: I copied the HTML of Nash, went to https://my.webstrates.net, created a new blank webstrate, opened Developer Tools, and replaced the entire DOM with the Nash HTML. Now the content persists across reloads.

To enable real-time collaboration, run this in the console:

webstrate.addSyncServer('sync.webstrates.net')

Then share the URL: https://my.webstrates.net/?s/<document-hash>@sync.webstrates...

Now it’s live-editable with others!

Webstrates works by storing and syncing changes to the DOM.

With the chance of killing my sync server, here's a Nash note on MyWebstrates: https://my.webstrates.net/?s/41W5owzLg94wDQAin4yJXGnFyKWN@sy...

clemensnk··on Use Midnight Commander like a pro (2015)
I've been using Marta on the Mac (https://marta.sh) and I really enjoy having a dual-pane file manager with an integrated terminal where navigating the folder hierarchy is synchronised in both directions.

Marta doesn't seem to be actively developed anymore, so if anyone know of a good alternative I am all ears. fman (https:/fman.io) looks nice, but I don't think it has terminal integration.

clemensnk··on Ultima (2012)
I've been enjoying playing a single-player/small-scale multiplayer mod of Ultima Online inspired by the early Ultima games called Ruins & Riches. If you have nostalgia for Ultima and/or Ultima Online I strongly recommend it. It doesn't have a dedicated webpage anymore, but there's some reddit posts describing it's current state, see e.g.: https://www.reddit.com/r/ultimaonline/comments/10axsri/ruins...
clemensnk··on Lemmy now has over 2M users across 915 instances
There's another interoperable 'threadiverse' platform called kbin where development really is taking off right now. Project page: https://kbin.pub Main instance: https://kbin.social Code: https://codeberg.org/Kbin/kbin-core

Its lead developer is Ernest from Poland and it's implemented in good old php.

clemensnk··on Val Town Pro - $10/month for more compute, storage, private vals
Looks really compelling, Steve! Fingers crossed for your success with it. Looking forward to play around with Val Town when time permits.
clemensnk··on Consent-O-Matic: Automatic cookie management
It keeps a log locally on your computer of how many of a certain type of pop-up it has handled (and how many clicks it has made for you).

You can access it through the 'about' tab in the extension.

clemensnk··on Ask HN: What's on your home server?
I host a Mastodon instance, a Matrix server (using synapse and coturn), a Minecraft server for the kids, a server for an esoteric mod of Ultima Online called Ruins & Riches, and a Web server. I use Nginx for reverse proxying and Wireguard for VPN.

I also run a bunch of Raspberry Pis around the house connected to stereos to stream audio using AirPlay (with https://github.com/mikebrady/shairport-sync).

clemensnk··on Random Ultima Online anecdote #2 – Horses inside players (2014)
I started playing around with UOX late 90s then with a shorter-lived one called CFuse. Then I moved to POL where I did some scripting and finally RunUO where I worked on a customised server for a long time until my "great data loss of 2002" where I managed to wipe a disk containing everything I had been working on, among lots of other things :-)

I found a nice timeline of the different server emulators here: https://www.uox3.org/history/timeline.shtml

clemensnk··on Random Ultima Online anecdote #2 – Horses inside players (2014)
That's a great anecdote. Ultima Online was mind-blowing to me when I first read about it in early 1997 and then started playing later that year. There was something magical about just being in a virtual world where other players would go around doing their thing while you did yours. Ultima Online server emulators were also what really got me hooked on programming in my teens. I'm now a CS prof working on collaborative systems.

Recently, I've started playing again. I stumbled over a project called Ruins & Riches (http://ruinsandriches.com) that's a total modification of Ultima Online in the spirit of the early Ultima games. I don't do MMOs anymore, but Ruins & Riches can easily be played alone or as a small group.

clemensnk··on Show HN: Automate filling cookie consent pop-ups with Consent-O-Matic
We've made a major overhaul of the Consent-O-Matic extension and now released it for iOS+macOS Safari as well as desktop Chrome (+Edge) and Firefox.

It works with a lot of pages, but keeping up with all the variations of pop-ups is of course a challenge. The plugin extension is open source (https://github.com/cavi-au/Consent-O-Matic) and has a built in visual rule editor for creating new rules for yet unsupported pop-ups. We'd be very happy with any help we could get with making new rules.

clemensnk··on Consent-O-Matic: Automatic handling of GDPR consent forms
We are currently testing it through testflight. Should be ready for a release soon.
clemensnk··on Consent-O-Matic: Automatic handling of GDPR consent forms
You can configure what categories of tracking you will allow, and then there's custom rules for a wide range of CMPs to apply those preferences automatically.

See screenshot from config here: https://imgur.com/a/fHfuZ0O

clemensnk··on Consent-O-Matic: Automatic handling of GDPR consent forms
I'm part of the team working on consent-o-matic at Aarhus University, and it's great to see the project getting some attention here. We've been running the project on a bit of a shoestring budget, but we are currently working on improving detection and adding more CMPs. We are also testing the plugin for Safari on both MacOS and iOS, and hopefully have it released soon. I can attest that it is very nice to have on the phone, and it makes me very happy every time I see my phone autofill a pop-up :-)

Since creating rules is one of the more time consuming parts of maintaining the project, we are happy for any help we can get through pull requests to the rule lists.

clemensnk··on Ask HN: What are weird and/or novel ways to do web UIs?
With Webstrates (https://webstrates.net) we experiment with building web UIs by persisting and synchronizing the DOM. I wrote a short blog post about it here: https://medium.com/@clemensnk/a-brief-overview-of-webstrates...
clemensnk··on A Conflict-Free Replicated JSON Datatype
We do OT on HTML (or rather the DOM) in the Webstrates (http://www.webstrates.net) project. We use ShareJS (now ShareDB) and represent and store the DOM as a JSON document.
clemensnk··on Webstrates: Shareable Dynamic Media
Thank you for your interest!

We are aware that proper security and authentication are core problems to solve for the idea to scale. However, it is also an open (research) question how to do this properly.

Currently we have per-webstrate access right, which means that if you give someone permission to write in one of your webstrates they can do anything with it, e.g. empty its body. It could be interesting if it would be possible to specify what operations you would permit from someone to a webstrate, e.g. "you can only add to this particular unordered list, and the added element must have following form".

Good ideas are welcome.

clemensnk··on Webstrates: Shareable Dynamic Media
Hi all, I am the first author on the Webstrates paper. I'd be happy to answer any questions you might have about the project.

The tl;dr: Webstrates persist and synchronize changes to the DOM of any page served from the Webstrates server to clients of the same page. Using transclusion through iFrames we can create (a dynamic) application-document like relationships between two pages.