HNHacker News
TopNewBestAskShowJobs

glittershark

573 karma · joined December 10, 2013

https://www.gws.fyi

[ my public key: https://keybase.io/glittershark; my proof: https://keybase.io/glittershark/sigs/aBKOsRJhj4YpNggP7P3ctzSb_98lXWsJqIoxJrB1Yoo ]

submissionscomments
glittershark··on The Ribbon Microphone
it looks like there's a recording linked at the end of the post
glittershark··on Tvix – A New Implementation of Nix
there are plenty of people with commit bits (me included) who don't reside in Russia, and would (I hope) be pretty alert to the Russian state coercing tazjin (the only committer currently residing in Russia) into introducing some form of backdoor.
glittershark··on How much does Rust's bounds checking cost?
The benchmarking harness that the post uses is based on criterion
glittershark··on How much does Rust's bounds checking cost?
a 10% drop in performance with bounds checks removed, mind you - so if anything the bounds checks are improving performance.
glittershark··on How much does Rust's bounds checking cost?
there's a cheeky link to idris's vector type in the second paragraph: https://www.idris-lang.org/docs/idris2/current/base_docs/doc... which accomplishes just that
glittershark··on Introducing ReadySet
We've thought about that, actually! We have an experimental mode where multiple copies of the same query can be created (actually just multiple copies of the leaf node in the dataflow graph, so intermediate state is reused) with different subsets of keys materialized - the idea is then that these separate readers would be run on different regions, so eg the reader in the EU region gets keys for EU users, and the reader in the NA region gets keys for NA users.
glittershark··on Introducing ReadySet
the remaining 10% of the 90%-off free lunch is pretty much just eventual consistency - it can occasionally be the case that you write something to the DB, and an immediate subsequent write doesn't see it. That said, there are escape-hatches there (we'll proxy queries that happen inside of a transaction to the upstream mysql/postgresql database, and there's an experimental implementation of opt-in Read-Your-Writes consistency), and I'd wager that the vast majority of "traditional" web applications can tolerate slightly stale reads.

Our official docs also have an aptly-titled: "what's the catch?" section: https://docs.readyset.io/concepts/overview#whats-the-catch

glittershark··on Rust const generics MVP hits beta
yeah, I picked Box mostly as a pedagogical instance of the identity functor that already exists in the stdlib - in the real world you'd definitely want `struct Identity<F>(F)` instead.
glittershark··on Rust const generics MVP hits beta
that seems like something that would only really work with a type system that's as structural as TS (vs rust, which is very nominal)
glittershark··on Rust const generics MVP hits beta
yes! once you use it you start wanting it everywhere, which is a big part of why I wish I could do it in Rust
glittershark··on Rust const generics MVP hits beta
I think it probably falls more into the category of removing a restriction rather than a new feature, but I'm still waiting on HKTs - not for traits (as a former die-hard haskeller, I have been gradually converted to the side of "rust doesn't need a Monad trait") but for data types. There's a design pattern in haskell called "Higher-Kinded-Data"[0] where you parametrize a datatype on a type-constructor, and use that to generically define either partial or total versions of that data type- something like (in rust syntax):

    struct Person<F> {
        pub name: F<String>,
        pub age: F<u32>,
    }
where you can then have `Person<Option>` be a person that may or may not have all fields filled, and `Person<Box>` be a person with all fields definitely filled. This is something I find myself reaching for surprisingly frequently when writing rust, and I feel like it's a missed benefit of implementing higher-kinded types.

[0]: https://reasonablypolymorphic.com/blog/higher-kinded-data/

All that said, I'm really excited to have const generics land! Props to all the amazing work by withoutboats and the entire rust team.

glittershark··on 20% of requests for Wikimedia Commons are for one image of a flower
Pretty sure this paper describes what they're doing now: https://research.fb.com/publications/flighttracker-consisten...
glittershark··on Three Equifax Managers Sold Stock Before Cyber Hack Was Revealed
Not a lawyer (ironically) but afaik there are all sorts of laws governing an attorney-client relationship, and it's possible to implicitly enter into such a relationship by giving something resembling legal advice.
glittershark··on Phoenix 1.3.0 Released
Or you could just call it what it is: a monad
glittershark··on Netdata – Linux performance monitoring, done right
Having a custom plugin architecture for this is a total dealbreaker. We already have statsd, why not just use that?
glittershark··on Saved Replies
They really have been on a roll with the new features since the Dear Github letter happened
glittershark··on Python: Generators, Coroutines, Native Coroutines and Async/Await
That's exactly how Haskell's IO monad works (albeit a little simplified)
glittershark··on Python: Generators, Coroutines, Native Coroutines and Async/Await
Haskell does this.
glittershark··on Alan Donovan and Brian Kernighan Answer Questions on Go
Even beyond that is:

    var foo *bar
    foo.Baz()
Accidentally dereferencing a null pointer in Go is dangerously easy
glittershark··on Scm_breeze – enhancing your Git CLI workflow
Maybe I'm mistaken about this, but from the screencast it looks like this gives you a single text prompt for editing commit messages, rather than a proper text editor. Not only is that a deal breaker for me, it really concerns me that people are going to start using tools like these that encourage you to write horrible (read: one incredibly long line) commit messages.
glittershark··on Hit Charade
The refrain that music in its entirety has done the same cut and paste thing as pop music in the last 25 years is really frustrating to me. There's tons of absolutely brilliant, innovative musicians out there. Sure it's not on the radio, but that doesn't mean for a second that it doesn't exist. Off the top of my head there are artists like Flying Lotus, Beck, Autechre, hell even artists more in the realm of accessible pop like Jamie XX who are writing and producing all their own music and it's all relentlessly interesting and innovative
glittershark··on Show HN: Startup Jobs for Developers
For those of us outside the Bay and not looking to relocate, the ability to explicitly filter by location would be nice.
glittershark··on Mill: Go-style concurrency in C
I bet this is an absolute nightmare to step through with gdb
glittershark··on Ask HN: What are your unused domain names?
I've got

- ridiculous.website

- ideafora.website

glittershark··on How not to advertise for a job in London
Referring to women as "females" probably won't help, either
glittershark··on There Is No Now – Problems with Simultaneity in Distributed Systems
Reminds me of this (absolutely spectacular) talk from 2009 by Rich Hickey: http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hic...
glittershark··on Go HTTP2 demo
The comparison there had me literally jumping up and down in my seat.
glittershark··on Building a Better Train to Brooklyn
I wonder if that's related to the frequent full-on outages (rather than just the standard sardine-tinning); last Monday evening the L was out completely due to a cracked rail - maybe the added weight of people on the train creates more stress on the structure?
glittershark··on Building a Better Train to Brooklyn
As someone who commutes on the L train daily, I was really disappointed to see that this was actually a metaphor. I want a literal better train to Brooklyn!
glittershark··on Interview with Salvatore Sanfilippo
This is totally out of my domain so forgive me if I'm completely wrong here, but my guess is that for such performance-critical, heavily-optimized things as Redis the garbage collector and runtime overhead of Go are too large.
Page 1 of 2Next →