HNHacker News
TopNewBestAskShowJobs

sizediterable

672 karma · joined January 29, 2020

submissionscomments
sizediterable··on Tao: Facebook’s distributed data store for the social graph
I'm surprised that they published the more recent paper discussed in part 2 [0] since, IIRC, TAO has supported atomic transactions since at least when I was there a few years ago, but better late than never I suppose. I wonder if that means there's still hope that someone at the company will write a blog post about frameworks like:

  - EntSchema/EntPattern
  - EntQL
  - EntAction
  - PrivacyPolicy
  - Ent Deletion framework
  - Ent consistency checkers/fixers (I forget the name of the framework/tool)
It's sad to think that people's only glimpse into these tools is through https://entgo.io which is a really crude approximation of the real thing due to Go's lack of generics and expressiveness. Imagine if such amazing tools could be used at actually ethical companies.

[0] https://www.micahlerner.com/2021/10/23/ramp-tao-layering-ato...

sizediterable··on Building an Emacs Lisp VM in Rust
It's something I'm willing to explore once I have more comprehensive benchmarks. Right now the ones I have are significantly weighted on integer operations that I think will be hurt by the additional pointer indirection. Once my benchmark suite is less biased I can make a more holistic decision about the trade-offs.
sizediterable··on Building an Emacs Lisp VM in Rust
I would love to see some benchmarks that demonstrate the impact of the more optimized representation. I found that despite some possibly sub-optimal performance trade-offs in favor of productivity in my own hobby interpreter, it can still do much better than Python and Wren in some micro-benchmarks that I performed (naive sum in a loop and naive fibonacci implementation). Python was no surprise since PyObjects are relatively "fat" [0], but Wren was created by the author of Crafting Interpreters (mentioned in the article) so I expected a bit better. My representation ended up looking something like:

  enum Value {
    Unit,
    False,
    True,
    Integer(isize),
    Float(FloatSize),
    String(Rc<str>),
    Closure(Rc<Closure>),
    Tuple(Rc<[Value]>),
  }
Unfortunately since I'm depending on reference-counting, it can't implement `Copy` which I suspect is where I'm currently losing significant performance. For values embedded in bytecode instructions I can cheat and copy anyway since only the non-refcounted ones are allowed in them.

[0] https://github.com/python/cpython/blob/main/Include/object.h...

sizediterable··on Why Authorization Is Hard
Hey Sam! Just a minor correction; The unified data access later at Facebook is the Ent Framework, which can be backed by different data stores such as MySQL, TAO, or ZippyDB. It is also primarily accessed by one monolithic service, so it's not the best example for the microservices scenario you illustrated. I can understand getting this misconception from the Prisma post. I'm curious where they got their bad intel from (I guess it's just good marketing to compare oneself to FB engineering, facts aside)
sizediterable··on Ruby Ractor Experiments: Safe async communication (2021)
Since it mentions that Ractors are inspired by the actor model, I'm surprised that it doesn't make any comparisons to how various actor model implementations in other languages handle backpressure
sizediterable··on A Tour of Safe Tracing GC Designs in Rust
Probably because cactusref was only published 5 days ago and this article is from three months ago...
sizediterable··on Before the iPhone, I worked on a few games for what were called "feature phones"
Toby Fox and Undertale also comes to mind
sizediterable··on Faster CPython Ideas – Issue Tracker for Faster CPython Project
Dropbox hasn't sponsored Pyston development in quite a while https://blog.pyston.org/2017/01/31/pyston-0-6-1-released-and...
sizediterable··on Replicache: Easy Offline-First for Existing Applications
Thanks for a thorough explanation!
sizediterable··on Replicache: Easy Offline-First for Existing Applications
> This forces developers to consider conflict resolution at the point they are writing APIs

Would an example of what you have in mind be writing an atomic "/increment" endpoint instead of a "/set?value=possiblyOldValue+1" endpoint? (using GET notation instead of POST just to make illustration easier)

sizediterable··on Replicache: Easy Offline-First for Existing Applications
I'm curious how well Replicache composes together with web state management libraries such as Redux and Apollo GraphQL. My closest experience with something like Replicache's offline view is optimistic responses in GraphQL[1]. Maybe some more web-specific examples can be added to the site?

[1] https://www.apollographql.com/docs/react/performance/optimis...

← PreviousPage 3 of 3