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

> POSIX is supposed to be descriptive of what exists, not prescribe new behavior

Well, it can be argued that ape already existed when that POSIX change was written :)

Everything is working as intended. Nothing to see here. Move along. Move along.


Great. Now forbid spaces in filenames.

Funny enough filenames are just byte sequences. So almost anything goes.

There was just some patch that added '/' protection, because that's the only character that's not allowed in filenames.

https://github.com/openbsd/src/commit/46f7109a9e03df89b66ada...


> it's just interesting that all the images are of vector fields.

Because they are! You can indeed "flatten" all these forms into vector and scalar fields, and you lose some information but the data is the same. It's like forgetting the types of objects in a programming language and considering only their representation as byte arrays in memory.

When you do multivariable calculus, you soon realize that there are two different kinds of vector fields: those that are "gradients" or "rates" and those that are "speeds", or "displacements" or "flows". They have different units, like 1/length or length/time. Notice that if you change the units of length from meters to centimeters, the arrows that represent gradients become shorter, and the arrows that represent speeds become longer (assuming that you keep the same data).

Likewise, there are two different kinds of scalar fields: potentials, temperatures, etc, that are invariant to unit changes; and densities that change with the cube of the unit scaling.

You don't need differential forms to understand any of this. But differential forms provide a nice formalization where all these objects are of different types, and it explains what differential operators can you apply to objects of one type to obtain another, and so on.

    Vectors are rates. Covectors are gradients.
        -- Luc Florack

> I still don’t have much intuition for k-vectors and k-forms

The references that you cite are great. Also Tristan Needham's book "Visual Differential Geometry and Forms", or the classic "Gravitation" where this visual language was fist exposed.

Besides this continuous interpretation, you may also enjoy further insight via the discrete case, called "discrete exterior calculus", or "discrete differential geometry" or even "graph signal processing".

The idea is the following. The base space is a graph, consisting of vertices, edges joining pairs of vertices, triangles joining triplets of edges, and so on.

Now, k-forms on the graph are, by definition, functions defined over the k-cliques of the graph. Thus:

0-forms are functions defined on the vertices

1-forms are functions defined on the edges

2-forms are functions defined on the triangles

...

k-forms are functions defined on the (k+1)-cliques (i.e. complete subgraphs of k+1 vertices)

Now the exterior derivative of a k-form is the (k+1)-form obtained by computing differences over each k-subclique.

For example, if f is a "scalar-field" or 0-form, its differential df is the 1-form defined by (df)(a,b)=f(b)-f(a) for each edge (a,b). If "F" is a 1-form, then dF is the 2-form given by (dF)(a,b,c)=F(a,b)+F(b,c)-F(c,a). And so on. Thus, it is clear intuitively that ddf=0, because all the edge differences cancel out when you traverse the edges of a triangle.

If your graph has a notion of duality (a mapping between k-cliques and (n-k)-cliques, for example when the graph is planar), then you can define the laplacian Δ=dd and all its associated goodies.

Furthermore, you can easily define the integral of a k-form over a k-chain (a subset of k-cliques), and the boundary of a k-chain as the (k-1)-chain obtained by differentiating its indicator function. The the discrete version of Stokes theorem becomes an algebraic triviality.

I recall feeling immense pleasure when I first learned about all this. Hoping you feel something similar!


> if we don’t feel stupid it means we’re not really trying

Sounds a bit like Kernighan's lever: "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. Yet." [0]

[0] https://www.linusakesson.net/programming/kernighans-lever/in...


Unless "as cleverly as possible" is zero.

Or negative.

For me the real lesson is that simple is hard.

“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.” — Edsger Dijkstra

Is this really "open source"? Can I download all source code and run it locally without internet connection?

If I create an MIT licensed RSS reader, distribute it on GitHub for everyone.

That's open source, just because you need an internet connection doesn't preclude the 'open-source'-ness right.


Sir, this is a text editor.

I do understand your frustration but again to be pedantic, the type of software isn't conditional to how it's licensing will work.

I think there is a good discussion to be had over the licensing of LLM's and the fruits of training data, as well as that of the training data itself, but when it comes to the software itself, it's hard to argue what is and isn't open source.


> Can I download all source code and run it locally without internet connection?

This is not what open source means.


Well, of course, open source would mean that you can also download all the training data and re-do the training yourself.

> open source would mean that you can also download all the training data and re-do the training yourself

I don't think so.. Utilizing another data source, does not mean they're required, or even permitted in a lot of cases, to distribute that with their software/service.


Maybe explaining why would you ever want to have branches in your code? I'm a longtime git user and never felt a need for them.

I'm curious, are you a solo dev, or do you work on a team where multiple people are working on different features at the same time?

Mostly solo dev. I only use branches when working with some colleagues who are "branchists". It's not that I don't understand branches, but they always look unnecessarily cumbersome to me. The worst offenders are "feature branches"... I want my tests to try the program with/without the new feature and compare the results. Thus any feature is better implemented in the master branch, and activated using a flag. No need for a branch. If your feature is hidden in another branch, how can you test it? Does your test suite run git commands?

Do you push your code to a repository where you have some CI set up? Or is it just local? If it's the latter and you just run tests on the command line then yea maybe you don't need branches. On the other hand I find branches can be useful if I have a larger refactor going on and I'm not too sure what it's going to look like in the end. Then I can keep it on a branch and compare it to "last known stable commit," and if something else comes up that needs to be fixed right away I can put my larger refactor on hold and fix it, and come back to the larger refactor.

> The economies are too integrated for this scenario.

This exact reason was put forward by political thinkers in the 1910s to "prove" that a major war in Europe was completely impossible. It was then put forward again in the 1930s to "prove" the same thing; for real that time.


There’s one plausible escalation scenario: Trump wins and America becomes authoritarian state the same way as Russia did, gradually destroying democratic institutions and opposition. In such scenario EU will be forced to reconsider the relationship with America and pursue strategic autonomy. It is still not a matter of days, months or years.


Oh it's much simpler and immediate than that: Trump wins and stops funding Ukraine, like he has already promised to dozens of times. That would instantly lead to the EU having to double their spending, which would certainly mean increased unrest within the EU and a whole lot of grudges towards the US.

And it wouldn't be the first time Trump specifically caused grudges. The US just giving up on the Iran deal has certainly already done the same. Not only was the EU also a signatory, but so were the UK, Germany and France individually. And then he moved the embassy to Jerusalem, which was also openly opposed by the three I've already mentioned. So now the EU has to second-guess every treaty the US signed, because apparently that signature means less than it used to mean.

But those two past actions would be nothing but a sentence in history books compared to at least a paragraph about the US cutting funding to Ukraine.


>That would instantly lead to the EU having to double their spending

Not going to happen. This will result in partitioning of Ukraine and non-aligned status of it. It is a satisfactory outcome for everyone in the West in such circumstances. That war is already lost by everyone except EU, so whatever is American strategy there, it won’t do much harm.


It is a satisfactory outcome for everyone in the West in such circumstances.

It is absolutely not a "satisfactory outcome" for anyone in the West if Russia's neocolonial aggression is allowed to succeed.

Except for certain segments of the populist right and far left, who are bizarrely unified on this issue.


Cloud act and it's various variations


> spending 4 weeks on like 5 pages of a 10-page chapter. But is that the best use of your time?

Look at it as the best use of paper :)

Many math books are dense. They don't bullshit you around. Spending several hours on a single page is the normal usage.


Yeah, and for better or for worse, it is the best arrangement. I remember ploughing through Alan Baker’s number theory book. You have to sit with a pencil and paper and convince yourself of half the steps, but you sure as hell know the material afterwards. And you do need the skills you gain by doing this.


> And you do need the skills you gain by [engaging].

The slogan I've heard is: "Mathematics is not a spectator sport."


I haven’t heard that one before but it’s on the nose. I have heard Euclid’s much older “There is no royal road to geometry”.


> compute the non-overlapping areas of each polygon within each pixel

In the given example (periodic checkerboard), that would be impossible because the pixels that touch the horizon intersect an infinite amount of polygons.

Not that TFA solves that problem either. As far as I know the exact rendering of a periodic pattern in perspective is an open problem.


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

Search: