HNHacker News
TopNewBestAskShowJobs

emptysea

534 karma · joined June 23, 2018

submissionscomments
emptysea··on Rethinking Syntax: Binding by Adjacency
In Postgres you can define custom operators via `create operator`[0]

    -- infix
    select a <!!!> b;

    -- prefix
    select <||> a;
A lot of custom types end up using this [1].

    select @-@ '[(0,0),(1,0),(1,1)]'::path;
    -- 2

[0] https://www.postgresql.org/docs/current/sql-createoperator.h... [1] https://www.postgresql.org/docs/current/functions-geometry.h...
emptysea··on Everything as code: How we manage our company in one monorepo
Not OP, but I think building feature flags yourself really isn’t hard and worth doing. It’s such an important component that I wouldn’t want to depend on a third party
emptysea··on Java Hello World, LLVM Edition
Ruff’s ast is used by Ruff, Ty, and Pyrefly
emptysea··on Track Errors First
Pretty sure you can get EU data residency with sentry

https://docs.sentry.io/organization/data-storage-location/

emptysea··on Pyrefly vs. Ty: Comparing Python's two new Rust-based type checkers
Instagram built a linter with the ability to fix errors which is an improvement over flake8 & pylint: https://github.com/Instagram/Fixit

But Ruff is an even greater improvement over that

emptysea··on Getting AI to write good SQL
That's one of the features of EdgeQL:

    select Movie {
      id,
      title,
      actors: {
        name
      }
    };

https://docs.geldata.com/learn/edgeql#select-objects

Although I think good enough language server / IDE could automatically insert the join when you typed `credit.CLIENT->NAME`

emptysea··on Ty: A fast Python type checker and language server
Also interesting, pyrefly uses Ruff’s parser!

https://github.com/facebook/pyrefly/blob/a8626110da034f8e513...

emptysea··on Pyrefly - A faster Python type checker written in Rust
Might be worth checking out https://github.com/DetachHead/basedpyright

But I’ve had the same issue with too many warnings, mypy is better at understanding Python but even slower.

emptysea··on Pyrefly - A faster Python type checker written in Rust
A rewrite of https://github.com/facebook/pyre-check in rust?
emptysea··on Ambient music on iOS 18.4 and the return to the Apple's Music app
The web version is actually pretty decent, I use it on windows from time to time and it works great!

It also has some features that the MacOS one doesn't have like, a full screen lyrics view with some nice WebGL animations.

emptysea··on Et Tu, Grammarly?
Ah yeah I remember that one, but can’t remember the origin.

A lot of times the reason sentry can’t do much is because the browser JS VMs have terrible/non-existent stack traces, especially true with things like unhandled rejected promises.

emptysea··on Et Tu, Grammarly?
At work we have a lot of sentry errors related to browser extensions doing weird stuff.

Chrome’s Google translate is also notorious for breaking react based sites.

It ends up being a tedious triage process to ignore each new extension issue. We use the client side filtering to reduce our ingest volume. In general we have to have a lot higher thresholds to handle the noise vs our backends.

emptysea··on Flattening ASTs and other compiler data structures (2023)
Rust-analyzer uses a similar technique for parsing https://github.com/rust-lang/rust-analyzer/blob/master/crate... which then gets fed into https://github.com/rust-analyzer/rowan (lossless syntax tree)
emptysea··on 1-800-ChatGPT
Have you tried a Waymo yet? Honestly the coolest tech I’ve seen/used in ages

Lots of engineering involved

emptysea··on How Google handles JavaScript throughout the indexing process
Do you know why they use JSC rather than the V8?
emptysea··on Velox: Meta's Unified Execution Engine [pdf]
YouTube uses Spanner now, they migrated off Vitess a while ago
emptysea··on How Figma's databases team lived to tell the scale
Seems they’ve built out a PG version of MySQL’s Vitess

Query rewriting seems interesting, having a layer between your DB and your application would also allow various ACL stuff as well

emptysea··on Show HN: Flox 1.0 – Open-source dev env as code with Nix
We have the same problem with bazel at work, after a few months your machine is running out of disk space
emptysea··on How we engineer feedback at Figma with eng crits
If you think Figjam is expensive, you should see their new dev mode pricing — I’m sure they’re making a mint!
emptysea··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
Did you manage to get IDE support to click into the backend implementation from the front end code?
emptysea··on Launch HN: Just words (YC W24) – Optimize your product's copy for user growth
Yeah it looks off, makes the website look rushed imho
emptysea··on Rebuilding Netflix's video processing pipeline with microservices
Or looking to play the promo game, build a bunch of unnecessary stuff and get a pat on the back and better comp
emptysea··on Implementing system-versioned tables in Postgres
The problem with Django simple history and similar is they use Django signals and aren’t transactional. So if you have any bulk updates or things that don’t trigger signals, your SOL, and your history starts missing things

A more robust solution would use triggers or an ORM with more transactional guarantees (aka not using signals)

emptysea··on Notion Calendar
UI wise it looks like they’ve cribbed some design notes from Apple’s calendar apps
emptysea··on SQLite 3.45 released with JSONB support
Curious how you're using SQLite at Notion, do you have anything public?
emptysea··on Postgres Language Server: Implementing the Parser
Do you have a link to the DSL? Curious to learn more
emptysea··on StyleX – Meta's styling library
To me it seems more like the typescript-ification of CSS which is a good thing if you’re into static types!
emptysea··on DJI Mini 4 Pro
Called an efoil, they also have non electric versions that are much cheaper
emptysea··on Why PostgreSQL High Availability Matters and How to Achieve It
I’m not really familiar with the trade offs of modes with Postgres but why isn’t Serializable necessary?
emptysea··on That people produce HTML with string templates is telling us something
The passing stuff down when it isn't needed also comes up with JSX / React. The basic options for solving it are either:

- pass it down manual - use Context, essentially thread local variables but React

both have tradeoffs and it really depends on what you're building your codebase.

Page 1 of 8Next →