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

Not sure on computers, but video recorded with your phone camera is probably using HEVC.

And while phones usually have a hardware AV1 decoder, they probably don't have an AV1 encoder.


Nope.


Well se who lost no less than 7 days from now.


What’s the difference between Free Speech and Freedom of Expression?


In France specifically, the Declaration of the Rights of Man and of the Citizen (which is an integral part of the Constitution), defines freedom as doing anything which does not harm others, and that the Law determines the limits of a freedom.

Which means Freedom (including of Speech) in its very conception is more bounded that the US notion of Free Speech (which, even though also limited, is less restrictive).

However, Free Speech based on the First Amendment only applies to the individual's relations with the State. A private employer in the US can fire an employee for saying something that doesn't reflect the values of the company, even if that speech was lawful. In France (and I assume most Freedom of Speech countries), the constitutional protection applies even with private entities and an employee cannot be fired for a lawful speech. .


>In France specifically, the Declaration of the Rights of Man and of the Citizen (which is an integral part of the Constitution), defines freedom as doing anything which does not harm others, and that the Law determines the limits of a freedom.

But the whole point of freedom of speech is for situations where it does "harm others". If nobody has a problem with your speech, then you don't need laws to protect it. The protection is only useful if speech comes into conflict with someone.

Freedom of speech doesn't stop where somebody else's rights begin, it starts there. There is no need for freedom of speech before that.


And the entire point of constitutional rights is that they should make the society better. There is no inherent value in abstract principles.

Broadly speaking, freedom of speech can mean two roughly orthogonal things:

1. Lack of government censorship.

2. Freedom of speech as an outcome: a society where people can speak their minds without excessive consequences.

Sense 2 is inherently vague and can't be regulated, as people won't agree on when the consequences are excessive. But it's usually what people want when they care about the freedom of speech.

The two senses are sometimes opposed. If you say something other people find unpleasant and a million people decide to ruin your life, it's clearly against freedom of speech in sense 2. But if you have laws against such mob justice, they can easily violate freedom of speech in sense 1.

Freedom of speech in sense 2 is more about culture than government regulations. If you have a highly polarized society, you can't have freedom of speech in that sense.


The "harm" is in relation to other people's constitutional freedoms and rights. Freedom of speech isn't inherently superior to, say, freedom of assembly, freedom of belief, the right to safety in one's person and one's properties, the right to vote, and so on...

It's a question of value: either you think Freedom of Speech is the highest form of freedom and right that one can hold, and all the other freedoms must come second, or that all freedom and rights are equal, and the role of the Constitution and the law is to find a balance between those.


> defines freedom as doing anything which does not harm others

Who decides if someone is harmed? Did I really harm someone if I called them a homophobic slur? Can I say that someone harmed me if the mispronounce my name?


The lawmakers decide. As I quoted, "the Law determines the limits of a freedom."


> The US constitution categorically upholds the value of Free Speech whereas the European Court of Human Rights Article 10 explicitly lists the reasons that free expression can be constrained.

https://www.tandfonline.com/doi/abs/10.1080/1369183X.2013.85...

It normally boils down to a <we allow this, except when this>, vs <we allow everything without restrictions>.

There's also wikipedia https://en.wikipedia.org/wiki/Article_10_of_the_European_Con...


Maybe aspirationally, but practically, even the First Amendment has limits:

Shouting "fire" in a crowded theater; prior restraint, as is the case for e.g. restricted data under the Atomic Energy Act of 1954; copyright...


There is no difference. From all my searching, these terms are used interchangeably. As far as Brazil is concerned, freedom of expression is freedom of speech. Specifically Article 5 describes four activities of expression that are “free and independent of any censorship”: intellectual activity, artistic activity, scientific activity, and communication activity.


If you write something, you're not technically speaking. Freedom of expression covers more broadly.


Expression is just a broader term.


Usually it means you can't say so called hate speech.


Yes. Brazilians were censored and moved to bluesky. Elon musk has problems with the law! Absolutely no overlap whatsoever. Also very interesting in its own way.



Lua is the correct choice. It’s not perfect, but there’s nothing better than it.

It’s the fastest scripting language and it’s easy to embed it into the application.

The ‘batteries’ can be found in `:h lua.txt`, they’ve grown significantly each release, and you can even use a package manager.


It's easy to start embedding it. Once you get to metatabled userdata with shared-upvalue methods and registry refs, you wish it was just python.

The ‘batteries’ can be found in `:h lua.txt`

https://neovim.io/doc/user/lua.html

Reinventing iteration, vim.NIL, empty dict, utf-8, etc. Sorry for the snark, but I'm not surprised in the slightest and have no other emotion for that. They could have that and a whole world of packages and tools out of the box by using virtually any language except Lua.


do you have any other language in mind that can be embedded into the editor like lua? i remember that sublime text had python, but i don’t remember anything relevant from then.


What do you mean by like Lua?

Most scripting languages are embeddable. lang.exe and /usr/bin/lang are just cli frontends to lang dlls and do baseline embedding like `exit(luaL_dofile(L, argv[1]))`, which is one of Lua’s selling points until you start actually binding it to your runtime and this simplicity drowns in necessity of reinvention.

I’ve embedded Perl, Python, Lua in real projects. Didn’t touch Node.js, but pretty sure it embeds as well as long as you’re happy to deal with C++. Judging by the experience with C++ modules for node, it’s not that bad, but not that trivial either. Python, js, ts are all fine candidates with massive mature ecosystems.

Technically, all you do in embedding is: set up the interpreter, define some modules (or globals), these modules export objects or functions which are implemented in C via embedding API. Then you run scripts from strings or files. These scripts use these modules, e.g. vim .get_tab(3) .get_cur_window() .set(“filetype”, “sh”), or you can add metatable/class sugar on top of it. Nothing unique to Lua there.


Lua is small (44k), much simpler and easier to consume than python, supports multithreading, and much faster too if you consider luajit. I don't know when the neovim project adopted lua, but python got a jit this year.

The lua-users[1] website has some (rather outdated) comparisons.

[1]: http://lua-users.org/wiki/LuaComparison


It’s simpler until you need basic functionality, then it’s immediately too simple, as the link above shows. People want dicts, arrays with nil, text buffers and so on.

Multithreading in Lua is done through locking every index access (e.g. `print(t.a.b)` does four locks). It’s not that multithreading everyone wants and it is off by default behind a compile-time flag. This index-locking approach is trivial and only serves a few specific use cases. Neovim doesn’t seem to use it (because locking every “.” sucks). https://stackoverflow.com/questions/3010974/purpose-of-lua-l...

As for JIT, you have to spin few thousand times in the same loop before it kicks in. It doesn’t just magically speed things up, as it has a very noticeable upfront cost. I think it’s arguable whether this load pattern exists in a usual editor-plugin setting, maybe yes, if you e.g. implement a whole langserver in Lua. But in general, interpreter speed doesn’t matter at all for what is mostly glue code. Neovim doesn’t have its text management core written in Lua to make it matter here.

Also note that Lua is fast because its design choices allow that. Once you ignore these choices, it’s slow again. For example __newindex fires only once. To make an “active object” which always fires newindex, you proxy it via {} and it becomes pythonic. Strings are always interned, so if you work with long strings, you’re constantly recalculating hashes and trashing the heap. So you need a userdata with a buffer with a metatable and everything. Plugin code is naturally “highly embedded”, so JIT stumbles upon embedding API and stops making difference due to “exits”. It’s a very thin line to walk along even if you want that performance.


A hotloop in luajit has 56 iterations. http://luajit.org/running.html


Idk when was this, but i use nvim on the terminal and it is fine, feels faster than vim, even.

And vim has bugs too, I have a list of nags that just aren’t going to be fixed on vim that were fixed on neovim.

Imho both are just fine.


ICANN should open registrations to the public.


ABSOLUTELY. TLDs other than government and educational ones should be abolished at this point. Trademark disputes are already accommodated, so we needn't pretend that a trademark crisis would result.

You should be able to register something.whatever at the same registrar you'd use for something.com.


Yeh, you'd think they could get registrations on '.off'


The zip/tar.gz support is just slow. It's just another thing that you'll have to manually disable now.


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

Search: