Hacker Newsnew | past | comments | ask | show | jobs | submit | enricozb's commentslogin

Proof irrelevance I don't think is accepted in constructivist situations. Those are, however, not that relevant to the recent wave of AI math which uses Lean, whose type system includes classical mathematics.

I am excited for some alternative syntax to jq's. I haven't given much thought to how I'd write a new JSON query syntax if I were writing things from scratch, but I personally never found the jq syntax intuitive. Perhaps I haven't given it enough effort to learn properly.


You don't learn it properly. It's not supposed to be intuitive, it's supposed to be concise at the cost of it being intuitive. Would be like somebody saying typing words in to Google is more intuitive than writing regex.

jq is supposed to fit in to other bash scripts as a one liner. That's it's super power. I know very few people who write regex on the fly either (unless you were using it everyday) they check the documentation and flesh it out when they need it.

Just use Claude to generate the jq expression you need and test it.


What sorts of jobs, out of curiosity?


I worked at a family-owned bike shop, at a fancy hotel as a valet/porter, and picked up a few shifts at breweries/events. I’ll be jumping back into software in a few months but it’s been a refreshing year of doing something different.


What about it is incompatible with the EU?


All sorts of content that EU bureaucrats find objectionable like the sex games


As a counterexample, the BBC financed the show that this sketch was from: https://www.youtube.com/watch?v=DuPBbFOiygo


You know the big push against that comes from American credit card companies, right? Including the recent removal of games from steam.

Here in Europe sex isn't nearly as big a taboo as in the US, though they do want age gating.


Americans thinking Europe is prudish is pretty funny.



You mean like showing a nipple on TV is some kind of hideous crime, while blowing heads off like watermelons is perfectly fine?


Yes the type theoretic analog to Russel's (set theoretic) paradox is Girard's (as mentioned in the abstract) paradox.


This is incorrect. The set paradox it’s analogous to is the inability to make the set of all ordinals. Russel’s paradox is the inability to make the set of all sets.


Since we're being pedantic, Russel's paradox involves the set of all sets that don't contain themselves.


Technically speaking, because it's not a set, we should say it involves the collection of all sets that don't contain themselves. But then, who's asking...


The paradox is about the set of all sets that do not contain themselves, or a theorem that such a set does not exist.

In the context of the paradox you need to call it a set, otherwise it would not be a paradox


I'm asking. What prevents that collection from being a set?


This is the easiest of the paradoxes mentioned in this thread to explain. I want to emphasize that this proof uses the technique of "Assume P, derive contradiction, therefore not P". This kind of proof relies on knowing what the running assumptions are at the time that the contradiction is derived, so I'm going to try to make that explicit.

Here's our first assumption: suppose that there's a set X with the property that for any set Y, Y is a member of X if and only if Y doesn't contain itself as a member. In other words, suppose that the collection of sets that don't contain themselves is a set and call it X.

Here's another assumption: Suppose X contains itself. Then by the premise, X doesn't contain itself, which is contradictory. Since the innermost assumption is that X contains itself, this proves that X doesn't contain itself (under the other assumption).

But if X doesn't contain itself, then by the premise again, X is in X, which is again contradictory. Now the only remaining assumption is that X exists, and so this proves that there cannot be a set with the stated property. In other words, the collection of all sets that don't contain themselves is not a set.


Let R = {X \notin X}, i.e. all sets that do not contain themselves. Now is R \in R? Well this is the case if and only if R \notin R. But this clearly cannot be.

Like the barber that shaves all men not shaving themselves.


They redefined sets specifically to exclude that construction and related ones.


The paradox. If you create a set theory in which that set exists, you get a paradox and a contradiction. So the usual "fix" is to disallow that from being a set (because it is "too big"), and then you can form a theory which is consistent as far as we know.


Perhaps I overstated how related the two were. I was pulling mostly from the Lean documentation on Universes [0]

> The formal argument for this is known as Girard's Paradox. It is related to a better-known paradox known as Russell's Paradox, which was used to show that early versions of set theory were inconsistent. In these set theories, a set can be defined by a property.

[0]: https://lean-lang.org/functional_programming_in_lean/Functor...


I came across this when wondering if there were any efforts to give programmers additional information via audio, similar to how colors are used in syntax highlighting.


There are some interested experiments out there in modes of highlighting, such as where colors are assigned to particular variables.

IMO syntax highlighting is still the best default for navigation and general reading, but I can imagine tasks where I might want to temporarily toggle what information I'm getting through that color-of-text route.


RDJ or Tatsuya Takahashi?


> Tatsuya Takahashi is currently advisor for Korg and holds a full-time position at Yadastar GmbH to work on technology based projects.

It's in the lead in to the article.


It’s also out of date, he leads Korg Berlin now


The final comments in this text seem sobering and indicate an openness to change. I worked recently on a project to migrate RediSearch to Rust, and this was partially motivated by a decent number of recent CVEs. If SQLite doesn't have this problem, then there needs to be some other strong argument for moving to Rust.

I also think it's important to have really solid understandings (which can take a few decades I imagine) to understand the bounds of what Rust is good at. For example, I personally think it's unclear how good Rust can be for GUI applications.


It's nice that they don't dismiss out-of-hand the idea of using a language other than C (the conclusion is far less dogmatic than the editorialized title here suggests (the actual title of the page being "Why Is SQLite Coded In C?")). But let's be clear that the stability and "boringness" that C currently enjoys took literal decades to realize (pre-ANSI C was a wild-west shitshow that makes pre-ECMA Javascript look tame by comparison), and giving the same leeway to other languages probably doesn't suggest using e.g. Rust until at least 2040 or so.


Something like Ada/SPARK might be a better choice for something like SQLite as well.


Today's usage from what edits I can recall:

- I wanted to edit the visibility (pub -> pub(crate)) of most but not all functions in a class.

- I changed a macro to not require commas in a list of items it took in as input.

- I changed a function to deal with utf-8 codepoints instead of bytes, so I wanted to rename all uses of "byte" to "char".

Basically, localized find and replace, with a bit of flexibility.


Got it. Thanks for sharing.


I think if the compiler determines that it can drop a 'static, because nothing uses it after a certain point, it may drop it.


How does this lead to confusion?


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

Search: