kpozin

Joined 16 years ago

Karma
1,291
Submissions
174
Member since
Nov 16
hn@{username}.net
View on Hacker News

Recent submissions

Comment · 1 month ago
Comment · 4 months ago
If Tailscale is on, I can't concurrently run a DNS-blocking local VPN, so I see ads in mobile Chrome.
Comment · 5 months ago
- Authy

- Google Authenticator

Comment · 6 months ago
Gemini's built-in song generator seems to have better prompt adherence, higher audio quality, and better diction.
Comment · 8 months ago
Maybe `ArrowLeft`/`ArrowRight` or `j`/`k` to flip through all of card pairs? Or just allow us to scroll through all the pairs. In either case, both old and new should be visible.
Comment · 9 months ago
This happened to me a couple of times when I tried to sign up on their website: instantly banned before I could even enter the onboarding flow.

I then had more success signing up with the mobile app, despite using the same phone number; I guess they don't trust their website for account creation.

Comment · 10 months ago
A framework designed to blur the line between code running on the client and code running on the server — forgot the distinction between code running on the client and code running on the server. I don't know what they expected.

(The same confusion comes up regularly whenever you touch Next.js apps.)

Comment · 1 year ago
If you just want to be able to control the ACs remotely, without remote sensing, you can buy some cheap IoT IR blasters (around $15–30 for Zigbee or WiFi versions). They'll often have control schemes you can download for your specific equipment (cloning the IR remote control that came with the AC).
Comment · 1 year ago
Another fun limitation is that a transaction cannot span multiple D1 requests, so you can't select from the database, execute application logic, and then write to the database in an atomic way. At most, you can combine multiple statements into a single batch request that is executed atomically.

When I needed to ensure atomicity in such a multi-part "transaction", I ended up making a batch request, where the first statement in the batch checks a precondition and forces a JSON parsing error if the precondition is not met, aborting the rest of the batch statements.

  SELECT
    IIF(<precondition>, 1, json_extract("inconsistent", "$")) AS consistent
  FROM ...

I was lucky here. For anything more complex, one would probably need to create tables to store temporary values, and translate a lot of application logic into SQL statements to achieve atomicity.
Comment · 2 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton