1 November 2023

60 links · Wednesday

Using WebAuthn for non-repudiation

Web Authentication is designed for web application to authenticate their users. But what if we would hack it to enable third parties to verify signatures on messages and other documents? Such as this one:

The Five-Year Cliff

Nobody tells you that you hit a career cliff every five years - here’s how to overcome it.

Yusuf Aytas - Restful Sleep: The Ultimate Debugger

Coding can be tough. Even the best developers get stuck with tricky errors. But many forget one helpful trick: sleep. Software engineers often work late.…

Labelled exceptions for smoother error handling

Error handling, a contentious and oft-discussed topic. Each language has some way of dealing with errors, be it error codes, result types, exceptions, something entirely different, or a mix. How to properly deal with things going wrong in our programs has been…

Don't Build a Mine Before You Struck Gold

The best analogy I’ve heard for startups is that they’re like looking for gold. Not because of the adventure, or the camaraderie, or the riches awaiting you on the other end. But because a gold-seeking expedition has two very different phases: first, you loo…

GitHub is really good, but there's a small problem with that

Platforms like GitHub aren't something new, they are more than a decade old, mature and great platforms. But I think that during this period of time there was significant shift in how we perceive those tools. At the beginning it felt like they were just "git…

On work life balance

The idea of work-life-balance never exists if it is taken up as a responsibility

That time I wrote malware and got caught

Most of us make some bad decisions in high school. While other people were drinking, going to parties, and who knows what else, I was doing some experimentation of my own. I was writing my first (and only) piece of malware.

Meta Programming is King

Meta Programming is still one of the most powerful things that you can learn, especially when it seems like that task will require you to write ton's of code...

Infinite Scroll in Flutter (No Package Required) | Doumer's Blog

Hello world, today we'll look at a feature present in so many apps that it is kind of mandatory to know how to implement it. There are several packages out there that could be used to implement this feature, though it could easily be implemented without any li…

Release 1.53.0 · gorhill/uBlock

Commits to master since this release Commits since last release To install the stable build: Firefox: Review pending uBO works best on Firefox. Chromium: Submission pending Edge: Install from...

Yes you can create classes on the stack!

In this article we will create a class, aka a reference type on the stack, and therefore don't use any managed memory!

Blazor Basics: Blazor Event Callbacks

Event callbacks complete the Blazor component communication circle by allowing a child component to send information to its parent when users trigger an action.

git/torvalds/linux.git - Linux kernel source tree

Pull initial bcachefs updates from Kent Overstreet: "Here's the bcachefs filesystem pull request. One new patch since last week: the exportfs constants ended up conflicting with other filesystems that are also getting added to the global enum, so switc…

Caching your WebView Environment to manage multiple WebView2 Controls

I've been struggling with rare WebView initialization errors in one of my applications, that have been difficult to debug and track down. After a lot of trial and error I discovered that the problem is related to WebView Environment instantiations that might b…

Product Hack: Asking 'What's the Why?'

One of my favorite product hacks is asking: “What’s the why?” Before delivering a feature, stop and ask: why is this feature worth adding? Why is it worth the…

Hunting a spooky ethernet driver bug

This is the story of a bug that took nearly a year to resolve. Like all the best horror stories, it includes twists, jump-scares, and the ability to overwrite arbitrary locations in RAM by sending carefully crafted packets over the network.

From Weakness to Strength – Tynan.com

When I first released SETT, a common bit of feedback I’d get was, “It’s nice, but it’s really slow”. This shouldn’t have been too surprising to me, given that I hadn’t spent any time optimizing it, and didn’t know how to, anyway. So I sat down and decided to f…

Why is building a to-do list app so darn hard?

Why are Todo Lists (a.k.a. personal productivity systems) so hard to build well? I’m genuinely curious. I was listening to the last episode of Cortex, and one of the hosts (CGP Grey) brought up a similar point regarding personal productivity platforms. OmniFoc…

Why does code die so soon?

It’s time to fix the 3-5 year lifespan of a software project. Let’s design code for humans!