Recent submissions

Comment · 2 years ago
Counterpoint: I've used `object.__setattr__` pretty often when setting values in the `__post_init__` of frozen dataclasses
Comment · 2 years ago
Comment · 2 years ago
Curious, why the flag?
Comment · 3 years ago
Comment · 5 years ago
Impressive how this completely ignores the effect that oil already has in terms of human cost.
Comment · 7 years ago
>cells are created in a sort of tree structure

I just realized this is why they’re called stem cells. Neat.

Comment · 7 years ago
There’s a major visibility difference between a nuclear bomb and gene editing.
Comment · 7 years ago
Sean’s a cool guy, lots of cool projects on his channel worth a watch.
Comment · 8 years ago
Don’t be too quick to discount it. That’s a massive market.
Comment · 8 years ago
Consumers generally don’t care about these terms until it affects them personally. Additionally, in the author’s case, I can’t name one alternative to the type of service provided by AirBnB. Maybe I’m out of the loop.
Comment · 8 years ago
The classic opsec-germs tradeoff
Comment · 8 years ago
I use clickjacking as a “feature” on a website I operate, http://vlograd.io

I had no choice, at least on mobile.

On mobile browsers, audio contexts start out as muted. They can only be unmuted by an event originating from user interaction.

I use a web player embedded in an iframe on my site. It has an API to communicate with it to do things like playing and pausing the current track. However, this also means the audio context is in a cross-domain iframe, and my only way to trigger the play() method is via the asynchronous postMessage API it exposes. So, in order to unlock the audio context, I present mobile users with a “tap to start” screen. In reality, I’ve positioned and zoomed in on the iframe such that the play button is covering the entire screen for any reasonable screen size. Thus, when the user taps to start, the audio context is unlocked (since the “tap” event on the play button in the iframe fires), and I immediately send a “pause” command via the player’s API. Now, the audio context is unmuted and I’m free to send the “play” command for any track to start playing music.

Comment · 8 years ago
Definitely a somewhat shady thing to do. To play devil’s advocate, though, I would argue that inflating your follow numbers is less “evil” than building a machine that takes in user data and spits out profit.
Comment · 8 years ago
Back when I started using social media, the founder of the site wanted to be everyone’s friend.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton