Hacker News new | past | comments | ask | show | jobs | submit | 3PS's comments login

Nit: that's not what negative reinforcement means. Negative reinforcement is about removing a negative stimulus, like inducing someone to go to a desirable website by improving their initially bad text contrast whenever they go there.

In this case, jumpscaring yourself would just be considered punishment (or "positive punishment").


To re-frame it as a list of combinations:

* Positive reinforcement: [Adding] something so that entity does the action [more]

* Negative reinforcement: [Removing] something so that entity does the action [more]

* Positive punishment: [Adding] something so that entity does the action [less]

* Negative punishment: [Removing] something so that entity does the action [less]

P.S.: Note that this intentionally avoids diving into exactly how the Entity judges the Something. It's not always clear, even if in many cases you can guess.


P.S.: Sharing a book-quote that seems apropos, particularly the final two lines.

> People came, and tormented a nameless thing without boundaries, and went away again. He met them variously. His emerging aspects became personas, and eventually, he named them, as well as he could identify them. There was Gorge, and Grunt, and Howl, and another, quiet one that lurked on the fringes, waiting.

> [...] Howl handled the rest. He began to suspect Howl had been obscurely responsible for delivering them all to [the torturer] in the first place. Finally, he'd come to a place where he could be punished enough. Never give aversion therapy to a masochist. The results are unpredictable.

-- Mirror Dance by Lois McMaster Bujold


Quiver was absolutely indispensable when I did a category theory course a few years ago. The UI was clean, intuitive, and featureful. Compared to banging one's head against Tikz, it's absolutely no contest.


It doesn't always work, but I like the SQLite model: the core offering is free and open source, but enterprises can pay for things like

* Professional support, including on-prem hosting when applicable

* Additional features that enterprises care about (encrypted databases, SSO)

* Compliance documentation/certifications


How big of a business is SQLite?


Maybe SQLite isn't that big, but Red Hat makes billions of dollars of annual revenue. GitLab is a public decacorn (or was one yesterday, anyways). Those are good businesses, and I'm pretty sure a good chunk of us run software from both of these.


It’s a one man company run by Richard Hipp.


Big enough to keep the developers happy to keep working on it. That is all that matters.


This is how DuckDB is structured too:

DuckDB Labs: The core contributors. Instead of developing features that will be behind a paywall, they provide support and consulting.

DuckDB Foundation: A non-profit that ensures DuckDB remains MIT licensed.

0 - https://x.com/thisritchie/status/1797962367571239309


FWIW SQLite has 3 developers, and I don't think it's even full-time for all of them.

This can work because SQLite is deliberately a very small yet very high impact project.

Very few projects (unfortunately) can boast that.


> As my understaning it bring bunch of features out of box, syntax highligh, tab completion etc.?

I think this is a good summary. The best thing about fish is that you don't need to install any plugins to get all of the nice things that other people put a lot of effort into configuring: tab completion, syntax highlighting, and so on. It's also just really comfortably ergonomic in a way that is hard to describe unless you've used it - multiline commands automatically update their indentation as you type, completions for most common programs come pre-bundled, you can easily set environment variables globally across all of your shell instances without fiddling with config files or reloading your shells, and so on.


Poetry has two flaws imo:

1. It's written in Python, which makes it slower and prone to bootstrapping issues.

2. It doesn't manage your Python installation, which necessitates the use of a tool like pyenv.

Rye sidesteps both of those by (a) being written in Rust and (b) trying to solve all of the problems solved by poetry and pyenv in one go.


I like that it doesn't manage the python/venv installation. E.g. rye creates a .venv for every project and in case of packages that are large, that starts to add up as more projects are added. With poetry, I can separately create a "common" virtualenv which I can use with bunch of throwaway projects; this is of course assuming that the version requirements of these projects do not clash - if they do, I can always create another virtualenv.

With rye, I activated a virtualenv and then created a new project, it proceeded to setup its own .venv within the project instead of just using the one that was already activated.


I would like for more venv sharing, but rye is leaning heavily into correctness, which (in the current Python universe) is much easier to do by recreating the world.


I would consider both of those flaws of Rye, not Poetry. Python package managers not written in Python will by definition have less contributors, and to me, they make Python look like a toy language (you can't write a package manager, a fairly trivial program with the exception of dependency management, in Python - what can you write then?)

As for managing Pythons, I would consider this to be orthogonal to packaging, and the default system Python is often good enough.


The problem with Python for such tools is not so much the speed but that it’s hard to distribute and bootstrap.


I think this is a fine opinion, we like tools that do exactly how much we want them to. But I'd suggest setting up python (and virtual envs) was actually a big headache for a lot of newer users, and some of the old ones (me that is).

I also don't see why leaning into python being a wrapper around rust/cpp/c is a bad thing. Each language has its own niche and packaging/bootstrapping is more of a systems level language problem.


> The novel approach taken here banishes determinants to the end of the book.

Big fan of this approach! Though I have warmed up to determinants ever since I saw 3Blue1Brown give a fairly intuitive explanation for them [0].

I'm kind of curious as to how they covered eigenvalues/the characteristic polynomial without determinants. Maybe they just jumped straight to diagonalization?

[0] https://www.youtube.com/watch?v=Ip3X9LOh2dk


One does not need determinant to define eigenvalues. For example:

If T is a linear operator on vector space V, a scalar a is an eigenvalue if there is a v in V s.t. Tv = av.

This is the approach the book takes.


I agree, but the definition alone isn't sufficient to actually calculate eigenvalues. Hence the standard approach which says that for matrix A, vector v, and eigenvalue λ, we have

  Av = λv
  => Av - λv = 0
  => (A - λI)v = 0
  => det(A - λI) = 0
Which then yields the characteristic polynomial. Skipping the determinant means you need a different approach.


You can prove many fundamental results of Linear Algebra with the definition that does not directly use determinants. In fact, one would define trace and determinant as sum and product of eigenvalues. Definition of characteristic polynomial would then follow.

If "computation" is what you are after then Av = λv is about solving a system of equations and you can try elimination, etc.


Joke or not, this could be a pretty ergonomic way to read long form content. Currently I rebind my mouse side buttons to page up/down which serves much the same purpose, since scrolling endlessly on a mouse doesn't feel great for your hands.


I use a Pixel with the Nova Prime launcher (which is a fantastic launcher) and it can do all of these things except the audio stuff. Individual app audio control is definitely one of the features I wish I had the most.


Individual audio volume per app is one of the simpler things you can do with Tasker.


I paid for Tasker years ago but never got around to trying it. This might be the impetus I needed.


On my Pixel multi-tasking has become suite limited since Android 13. Cannot switch only one of the apps anymore when dual tasking.


And the rounded separator wastes more space. And you can't pick one app and then start another to go into split screen, both have to already be running.

I wish I could talk to the PM who decided this was an upgrade.


What's the Pixel version of Dex?


Taskbar app by farmerbb


Adding to the other comments, one thing I have heard about projected population decline is that it tends to happen very _rapidly_. That is, even if birth rates are below replacement level, it takes a while for that number to get reflected in the bottom line population statistics, and by the time a crash in population has serious consequences, it's too late to stop it.


Condolences to the author, but this is a huge relief. A polytime quantum algorithm for LWE would have been a scary prospect for the future of asymmetric key crypto. (Not to mention all the other cool stuff people are building on top like fully homomorphic encryption.) Even if it wasn't quite fast enough to break the current schemes that NIST is standardizing, I (and I'm sure many others) would much prefer those problems to stay in exptime.


EDIT: discussion of bug on stack exchange (pointed from Aaronson's blog (mentor of one of the guys who found the bug): https://crypto.stackexchange.com/questions/111385/polynomial...

Not only that Yilei annotated with the bug his paper(p37):

"Yilei (April 18) Here is the bug: the amplitude of |φ8.f ⟩ does not satisfy M/2 -periodicity. Another way of explaining the bug is: the support of |φ8.f ⟩ contains p1...pκ vectors. After domain extension, we should have got p1p2...pκ · p2...pκ vectors, but as the way |φ8.g⟩ is written, it only contains p1...pκ vectors. So the expression of |φ8.g⟩ is wrong."

https://eprint.iacr.org/2024/555.pdf


Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: