Andrey Sitnik

Andrey Sitnik

@en.sitnik.es

Creator of PostCSS. I write about Barcelona, kinky events, languages, and weird Wikipedia facts. Trying to fix social media: https://slowreader.app/ Russian: @ru.sitnik.es https://twitter.com/andreysitnik https://twitter.com/sitnikcode

1.9K followers220 following1K posts

I added nighttime blocking for addictive content to Slow Reader, so you can read long-form articles before bed instead of scrolling videos. You decide what goes in Fun, but Slow Reader suggests what to move there based on how you react to posts. slowreader.app

If you run a Node.js server, start it with --permission and grant only what it needs: — No network access if it only reads files — Limit file access to the directories it actually uses Here's how I locked down Slow Reader's server: github.com/hplush/slowr...

IceCube neutrino observatory uses Earth as a filter. Neutrinos create muons in Antarctic ice, but cosmic rays make them in the atmosphere too. The trick: find upward-moving muons. Muons can't cross Earth, but neutrinos can, creating muons near IceCube. en.wikipedia.org/wiki/IceCube...

Added offline support to Slow Reader, including preloading images, etc. Offline support is standard for RSS readers. But now you can read your social feeds offline, too even on the NYC subway (where signal is very bad) or a plane. slowreader.app

Slow Reader now loads your Mastodon and Bluesky timeline. Other networks are coming later. Why the white screenshot instead of our usual warm yellow? The theme changes when you switch from Useful to Fun, gently nudging you to stay in Useful. Releasing today.

View full thread

The verifier itself is intentionally simple: no dependencies, with literally every line of code commented. You can audit it yourself (or ask an LLM to help). It's designed to keep running automatically, without my involvement.

I want to go even further: a browser extension or mobile app could verify that every connection reaches a server running the expected Docker image. There's a cool technology for that: hardware attestation, where a CPU can prove what's running. But that's for later.

View full thread

The verifier checks that: 1. The site is online 2. A release exists for the deployed commit 3. Rebuilding gives identical hashes 4. GitHub CI and I both signed the image 5. The live JS and HTML match the release's manifest.json

Click any check for step-by-step instructions to reproduce it on your own machine. And when you open the verifier, its HTML checks in your browser that Slow Reader's JS and HTML hashes match the latest verified results.

View full thread
View full thread

Why? I want you to know that nobody can see what you read. The app downloads your feeds directly. Our server only handles sync, and that data is end-to-end encrypted. But I (or law enforcement) could still inject surveillance code into the app's JavaScript.

I'm building Slow Reader to read more useful threads, not rage bait. I liked Bluesky's cute thread indicator, so I added it to the UI. It'll work across all social networks, with more UX tweaks and gamification to help break bad scrolling habits. slowreader.app

Andrey Sitnik reposted

While very little of what the new UK porn bans talk about are things I'm into, I'm still uncomfortable with the idea. Consenting adults playing with fantasy with other consenting adults - that's not an area I think the law should be wandering into.

While people stuck in Musk’s algorithmic bubble think the EU has no AI, France’s Mistral just unveiled Large 4, competitive with top Chinese open-weight models. The EU also has strong OCR and video generation models, plus promising AI chip startups like axelera.ai

Slow Reader now supports reading Bluesky profiles without a Bluesky account. Connecting your account to read your full home feed is coming this week. dev.slowreader.app Can you create a demo account and check if your Bluesky posts render correctly? I think I’ve covered most features.

Barcelona has a strong anarchist tradition. For example, there's a cooperative internet provider called Som Connexió. You're not just a customer. You're also a co-owner, with a small but real say in how the business is run. somconnexio.coop

Want an even more anarchic internet without censorship? Barcelona has eXO, a project where people started their own small ISP with their own network links. No La Liga blocks (the ones that break Docker on weekends), because they're independent. exo.cat

I signed up for Catalan classes. Added l·l, é, ï, and ç to my Linux keyboard layout. The best part: punctuation stays in the same place for Russian and Latin scripts. I can also type Spanish and Catalan without switching from my English layout. github.com/ai/universal...

Andrey Sitnik reposted

Our team designed the Nano Stores website, and it feels like going back in time (with the speed of an Astro site). If you have something like this in mind, let's chat. Our design team can make it happen.

Andrey Sitnik@en.sitnik.es

Nano Stores finally has a website! We've seen huge growth thanks to LLMs. Not having a site was embarrassing. nanostores.net Check out the design: fresh and personal. Too many modern sites look the same. No React. Just Astro.

Nano Stores finally has a website! We've seen huge growth thanks to LLMs. Not having a site was embarrassing. nanostores.net Check out the design: fresh and personal. Too many modern sites look the same. No React. Just Astro.

Open-source Android app for finding immigration appointments in Spain. lamardecitas.net Unlike many bots, it runs locally and tries not to overload government servers. It won a digital democracy award co-organized by @xnet-x.net, a Barcelona-based digital rights group.

I think AI will automate founders too. AI labs will simply stop giving us access to their best models and use them to copy any business you build. The real value will be people’s trust and being niche enough to go where big companies can’t.

But the startup industry has no idea how to build trust yet. Silicon Valley culture is actually built on lying to achieve explosive growth. They’ll have to quickly learn from other fields how to have values that people can actually verify.

While working on a secure production deployment for Slow Reader, I documented all the methods we protect it from supply chain attacks. github.com/hplush/slowr... It’s sad that far more critical systems are often protected worse than our reader.

How do passkeys work with end-to-end encryption? Passkeys now support the PRF extension, which lets each credential derive pseudorandom bytes. You can use that output to derive encryption keys. www.passkeyprf.com