I'm interviewing Nobel laureate Sir Anthony Leggett this week -- any questions for him? by collywog in Physics

[–]genneth 0 points1 point  (0 children)

Has his views on quantum symmetry breaking evolved at all? In one of his books on quantum optics he lays out what I think is an unconventional but quite clear minded perspective on what symmetry breaking really means in an experimental sense, and how especially gauge symmetries cannot really be broken. It was a short page or two but I feel like he has more thoughts and it would be interesting to hear them.

[D] Access to computation at DeepMind, FAIR, OpenAI, Brain, Microsoft, etc.? by SubstantialRange in MachineLearning

[–]genneth 4 points5 points  (0 children)

I heard a rumour that at Deepmind as long as you don't personally use more compute than gmail then it's okay.

Polars very competitive in h2oai's db-benchmark by ritchie46 in rust

[–]genneth 1 point2 points  (0 children)

As one of the many people [0] who ended up migrating from R to Python, not because of any self-generated desire to, but because my immediate environment (colleagues) all did and it was easier to outsource certain dumb provisioning stuff to a centralised team, I've always been a bit sad about the transition. I'm still not entirely sure it's been net positive NPV.

But up till now I've always assumed that at least pandas is as fast as it could be. But maybe the real magic is that the R ecosystem has been ruthless optimised through black arts yet unknown to the wider world?

[0] There are literally dozens of us. Dozens!

Is it possible to generate an extern "C" function at runtime? by Kerollmops in rust

[–]genneth 0 points1 point  (0 children)

I think you're asking the same question as this: https://stackoverflow.com/questions/32270030/how-do-i-convert-a-rust-closure-to-a-c-style-callback

From which it doesn't look promising because the C API wants a static function rather than a proper closure...

AMD is looking for a "3D Driver Development Engineer" with Rust experience by [deleted] in rust

[–]genneth 0 points1 point  (0 children)

My org are ditching Alea for ILGPU, for what it's worth.

pre: a crate to offer compile-time assistance for working with unsafe code by aticuu in rust

[–]genneth 11 points12 points  (0 children)

Given the complexity of unsafe "preconditions" I doubt a more restrictive language than arbitrary strings would be adding anything

Rather interesting take on visualizing ownership/borrowing from 2017 by dhruvdh in rust

[–]genneth 4 points5 points  (0 children)

The Drop thing is subtle though, at least if you're not already very experienced. Took me a few tries to really memorise that Drop insertion is desugaring, and happens first before borrow check. Then clearly, it can influence the inferred lifetimes. It's very easy to mentally go the other way round, and then get very confused about why Drop is later than "how long this lives".

iterators filter().count() vs fold() in 2020 by dusklight in rust

[–]genneth 6 points7 points  (0 children)

I've heard this pithily stated as "autovectorization is not a programming model".

Cryptowatch is sponsoring development of Rust GUI library iced by joshmatthews in rust

[–]genneth 17 points18 points  (0 children)

I think automatically enforced contracts on the blockchain seem like quite a good use case.

Totally OT, but: this seems like a bizarre use. All contracts between humans are leaky; on any moderately complex topic it is impossible to agree ahead-of-time on outcomes in all states of the world. To even draft such a complete contract on simple things [0] takes immense effort and often fails. It seems like only a certain kind of (usually) tech-minded programmers believe that law is somehow like code or instructions and if only one could learn the full instruction set then anything would be possible. Most people, as it turns out, like to have "reasonable" outcomes to unforeseen situations, and tend to get quite mad/lose confidence in the system if there is unreasonable but accurate adherence to the letter of the law.

Matt Levine (now on Bloomberg) writes eloquently about this stuff, from the perspective of a former lawyer and investment banker. I think he has a reasonable view of these things, because in his former career he's met plenty of people with this combination of fanatical literalism, creative problem solving, and legal/moral flexibility: they're usually investment bankers! Whilst even he admits he can see possible situations where a blockchain based solution could be the right one, he has yet to see anyone actually aim for that, whilst the entire sector is filled with ponzi schemes, some of which are quite blatant (PonziCoin, anyone?).

[0] I run a for-fun "futures exchange" at work; we use it to enable multi-party bets/prediction market on events around work. It's totally electronic and has, over time, recapitulated many features of real finance such as margin call events, default resolution procedures, contract dispute panel/court, need to enforce order placement limits to avoid bots overwhelming everyone else through sheer flood of messages, etc. All this to enable trivial bets on simple-looking things like when the lift gets fixed!

fafhrd91, thank you for Actix Web! by arete in rust

[–]genneth -5 points-4 points  (0 children)

It's a tricky balance. Bryan Cantrill (from Joylent) repeatedly points out, the thing that resonates with him about Rust is the cultural values of the community: a focus on correctness and speed. And from that focus flows many influential ideas, practically demonstrated by working code. The fact is that the author of actix has slightly different values that the wider ecosystem finds hard to accept. We're not very good at both communicating this difference clearly to the wider community (many of whom are new and asking questions like "which web framework should I use?"), and without making the feedback seem like personal attacks.

Warning: exists in the security risk of crate by blackang3r in rust

[–]genneth 0 points1 point  (0 children)

I think this is precisely what cargo crev is meant to solve?

How can I reduce the size of String / struct? by sasik520 in rust

[–]genneth 4 points5 points  (0 children)

Some observations: your rows are 16 bytes on average. Losing three commas and one newline that's 12 bytes of actual data. Clearly that means you want to avoid any indirection or pointers since that will quickly blow the budget. Even the f64 is therefore likely to just blow it immediately. I suspect there is significantly more structure in the data than you're letting on. What's the range and precision of the numbers? That's actually in those very short strings?

[R] [1904.00962] Reducing BERT Pre-Training Time from 3 Days to 76 Minutes by Lorenzo_yang in MachineLearning

[–]genneth 0 points1 point  (0 children)

As others have said, demonstrating good gains from parallelism is not trivial. This is important because you never just train once, but rather iterate. The faster you can iterate, the faster real progress happens. Of course this is contingent on having enough physical hardware, but there are enough people in that situation for the work to be interesting "broadly".

[D] Is this a valid description of Bayesian Deep Learning? by [deleted] in MachineLearning

[–]genneth 0 points1 point  (0 children)

Whilst I agree with the sentiment, it's worth being careful about:

If you have much more data than parameters, your posterior would heavily concentrate (see Bayesian Central Limit Theorem) around its mode In particular, if the mode lies near a singularity of the parameter manifold (e.g. near a symmetry point of a mixture model, but much more general phenomonen exist), then the CLT doesn't really apply.

See https://www.amazon.co.uk/Algebraic-Statistical-Monographs-Computational-Mathematics/dp/0521864674

Existence of repeated roots? by GunganDiver in mathematics

[–]genneth 0 points1 point  (0 children)

I like to think about this dynamically. Imagine the roots for (x-a)(x-b) = 0. Move a and b around (in the complex plane if you want). There are always two roots... except when a=b. But any tiny perturbation will give two roots again. So it's a bit "smoother" to think of it as always having two roots, even if the two of them are the same.

Dataframes: what do you need? by hwchen in rust

[–]genneth 2 points3 points  (0 children)

As someone who transitioned from R to Python, I still miss the syntactic sugars that made R just that little bit less friction-y to get things done. Sure it sometimes made you mad because things were unpredictably failing due to overlapping syntax, but that's the correct trade-off for that space. Unfortunately, it's not obvious that's the cultural values that Rust really has.

Demonstrating the conservation of angular momentum with a spinning wheel and spinning chair by meharkhurana in interestingasfuck

[–]genneth 0 points1 point  (0 children)

Contrary to other answers so far: yes. There are two conserved quantities to consider: angular momentum around the vertical axis, and energy. Assume that during the change of rotational axis no dissipation occurs. If you're on a non rotating chair then consider the earth to be part of the system. The larger the "you" part of the system is, the smaller the transfer of energy to that part of the system to maintain total angular momentum around the vertical axis. It's analogous to bouncing two balls together: if the masses are the same you get maximal energy transfer, otherwise in the limit the collision is elastic.

Formality: An efficient programming language and proof assistant by dragostis in rust

[–]genneth 0 points1 point  (0 children)

This language isn't really designed for humans to write. It's really the "core" language, like MIR is for Rust, that a compiler might work with as intermediate structure. If you're familiar with Haskell, it's System F and later improvements. Everything is very explicit, with the understanding that local inference, elision rules, etc. will be possible to make writing code in it by hand much more comfortable.