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

User space is not the same as kernel space.

User space applications can't access hardware or physical memory. They can't bypass permissions enforced by the OS. None of that applies to hardware or kernel drivers.


I've always appreciated the forthrightness League of Legends deployed here (talking about introducing a kernel driver for anti-cheat: https://www.leagueoflegends.com/en-au/news/dev/dev-null-anti...):

> This isn’t giving us any surveillance capability we didn’t already have. If we cared about grandma’s secret recipe for the perfect Christmas casserole, we’d find no issue in obtaining it strictly from user-mode and then selling it to The Food Network. The purpose of this upgrade is to monitor system state for integrity (so we can trust our data) and to make it harder for cheaters to tamper with our games (so you can’t blame aimbots for personal failure).


Where did I say they are the same? We have a kernel-space thing (anti-cheat or gpu driver) and a user-space thing ((a game actually talks to both) that talks to a kernel-space thing.

I understood that you were making an analogy between installing a piece of hardware and its associated kernel driver with installing a game and its associated kernel anticheat.

When you install a hardware device you are trusting the manufacturer with full access to your machine, so installing a driver does not give them any more powers. You have already "unlocked the door".

When you install a game that runs on user space you are not trusting the vendor nearly as much as you are trusting a hardware manufacturer. Installing a kernel anti cheat is granting them a level of trust and access to your machine that they didn't have before.


> When you install a game that runs on user space you are not trusting the vendor nearly as much as you are trusting a hardware manufacturer.

I'm not sure where this trust comes from. I absolutely do not trust any hardware vendor. I just have no choice here.


Can't the tunneling software detect when the upper TCP is retransmitting segments and drop them?

That would give the lower TCP enough time to transmit the original segment.


Maybe, but packet loss isn't the only problem. You'll also want to preserve latency (TCP has a pretty sophisticated latency estimation mechanism), for example.

Some middleboxes will also do terrible things to your TCP streams (restrictive firewalls only allowing TCP are good candidates for that), and then all bets are off.

If you're really required to use TCP, the "fake TCP" approach that others in sibling threads have mentioned seems more promising (but again, beware of middleboxes).


Well, you could pick only 10% of the class for one on ones. Pick that 10% randomly or based on your intuition on the authenticity of their work.

That threat may be enough to dissuade students from cheating with AI.


Pick 4 students per slot for oral examination and bring an assistant. That’s how my last exam worked. Assistant went through standard questionary and the main lector asked complex questions. The group of 50 was processed in a day with official grades and paperwork.

In my case, I work with proprietary EDA tools. Vendors love messing with LD_LIBRARY_PATH. Chaos ensues when they override a system library or two versions require mutually incompatible versions.

I agree with the comment you are replying to. Having broken my home Linux installs too many times has taught me how to diagnose and fix this sort of issues.


I don't think that Brazil is on its way to a humanitarian catastrophe.

What makes you say that?


Brazil has been experiencing de growth since about 2011. The GDP per capita has been decreasing, unemployment has been increasing, corruption has been increasing, and governance has been getting worse.

If this continues the people of Brazil will necessarily be much more at the mercy of forces of nature than if they had a stronger economy and were well governed.


Do you think that Pakistanis don't know already that their country is poorly run and that their politicians are corrupt and incompetent?

It's pretty condescending to expect a lecture from a foreign government official to be well received and to tell them something they don't already know.


> Do you think that Pakistanis don't know already that their country is poorly run and that their politicians are corrupt and incompetent?

Given that the trajectory has not changed, I think they don't care to fix it. South Africans also know their government is corrupt, and they consciously vote for it. Whether this is similar in Pakistan I don't know, but clearly if they cared to change trajectory it would not get worse all the time.


Look at Hungary. It's pretty well documented, as the cuckoo in the big EU nest.

It's economy is stagnating (of course, because of all the legalized corruption and nepotism, the ruling elite meddling in everything, misuse of EU funds, and the usual), and we have very good data about this. We can even have a nice "natural experiment", because Hungary joined the EU in 2004, then the current regime was voted to power in 2010 with 68% of seats (by 2.7M ppl, 52% of voters)

and then again in 2014 (2.2M ppl, 45%), 2018 (2.8M ppl, 49%), 2022 (3M ppl, 54%). Every time with 67-68% of the seats.

Very methodically people were very nicely brainwashed. After 14 years in government with "absolute majority" around 3M people still think that bad things are bad because of the mystical others. Due to the Russian full-scale invasion of Ukraine we now have a live action 1984 black comedy where "war is peace" is basically the state motto.


Hungary is doing about as well as Poland, almost to the dot - It's GDP per capita is within a rounding error of Poland's. Not saying it's great, but if Pakistan was doing half as well as Hungary, it would be an awesome place.


> if Pakistan was doing half as well as Hungary, it would be an awesome place.

Of course, my point is exactly that, there's always scapegoats, and even though 1-2 percents over long term matters a lot, and people instinctively know that folks in richer countries tend to have it better ... hence why migrants did not stop in Hungary and went straight to Germany. And similarly, people risk a lot to get to the US, even though Mexico is amazing compared to - let's say - El Salvador 5 years ago.

So those 1-2 percents.

Poland's economy has been growing roughly 3times faster over the past year than Hungary's. (And before that Poland was usually 1+ basis points above.[0])

Poland's debt-to-GDP ratio is more than than 20 basis points lower than Hungary's.

Hungary's actual individual consumption is the last in the EU. [1]

But at least Hungary had the best inflation hump. [2]

It would be good to see Hungary springing back to life, but currently things are not great.

[0] https://ec.europa.eu/eurostat/databrowser/bookmark/cf98cf45-...

[1] https://ec.europa.eu/eurostat/statistics-explained/index.php...

[2] https://ec.europa.eu/eurostat/databrowser/bookmark/e1be8012-...


Don’t care, or can’t? Here in the U.S. we have a high chance that the presidential race will be won by a convicted felon who tried to falsify the last election he lost and encouraged a violent attempt to change the results, shielded by a series of blatantly political court decisions, so I'm not sure we have much standing to criticize other countries’ governance.


FAANG pays very well, and money can be exchanged for goods and services.

I know that having benefits like a free bike feels good, but the total compensation you are getting is much lower than that of people that work for big tech and pay for their own transportation.


Well I don't have to pay for any transporation, 'cause my employer can't decide on a dime to force me into the cage 5 times a week ;) I also only live a 15 minute bike ride away, rather than a 2 hour car ride as seems to be the case for many people in the US.

But even ignoring all that, money isn't the be-all, end-all. Having worked in the US for a stint, I'll take my "low" pay in the Netherlands any day of the week over rotting away in a soulless US megacorp headed by legitimate psychopaths, where they can decide to fuck you over at a moment's notice for any reason and you have no recourse.

After all, what good is money that you can't spend? If you gave me a trillion dollars but it meant I had to spend 12 hours of my day dedicated to work, what use is that? I'll take my sane working culture I have at the moment despite me earning marginally less (if you ignore literally all the other benefits of living in the Netherlands, that is) all day, every day.


> rather than a 2 hour car ride as seems to be the case for many people in the US.

The Netherlands has good bicycle infrastructure but the majority of people still go to work by car.

The commute time between countries is similar.


well, in the netherlands, the median income is roughly 1/2 what i was making at my first job out of college.

considering i also got free lunch everyday, 24 days of PTO, monthly stipends for gas and app subscriptions, 6 month parental leave, it’s pretty hard for me to look at the european market and see the government mandated some of those benefits but to pay for it i’d make roughly 1/3 to 1/2 what i make in the US, and subsidize the poor performers to boot. literal fucking joke to compare europoor salaries with american lol


You are being crude about it, even though you have a good point. The problem with this perspective that I used to also share is that either advantages are largely in the process of collapsing at the moment, i.e., more money in the US and more quality of life in Europe.

Inflation from money printing and immigration is eating away higher salaries and lower costs that made suffering the corporate hell tolerable for many people; and in Europe money printing and immigration is going to collapse the social welfare and quality of life fabric of society.


i’d argue the US is too business friendly relative to pretty much everywhere for us to get worse at a pace faster than EU, which means relatively, we’re always doing pretty good. until another global superpower comes along


I'd take the trillion. Think of the good you could do!


Responding to hyperbole is hardly adding to the discussion.

Money isn't everything. People claim it is are often missing something money can't really buy.


If you are unhappy while wealthy you would probably be unhappy without wealth as well, perhaps more so due to the financial stress. Either way, I would rather be unhappy with money than without.


When Starbucks sells a cup of coffee who makes more money? Starbucks or the coffee farmer?

This is the same thing. Businesses that are closer to the consumer make more money than their suppliers.


This is a completely false equivalence. While the coffee farmers do deserve to get paid more Starbucks is also doing an incredible amount of supply chain management, making sure that the stores work and they are also employing a bunch of more people and they're getting a bunch of things in place for that coffee to be sold.


This isn't always true - dropshipping is being a sharecropper of a manufacturer. Enterprise software that most people will never touch has wildly better margins than consumer software like Spotify.


NVidia makes more money on a GPU sale than the vendor selling it, even though it's farther from the consumer.


Life as a rich person in the capital city of an Empire is great.

I doubt that people in conquered territories felt the same way about the Empire.


And your doubts are well founded. The Polish have been liking it so much, that "Mazurek Dąbrowskiego" (the Polish anthem) has references to Bonaparte (perhaps not exactly deservingly) and Italy because of the Partitions of Poland and currently Poland issues passports with jubilee cover due to 100th anniversary of regaining independence after its Partitions.


We in Bohemia and Moravia, despite being conquered, relatively prospered and were allowed significant freedoms by the Austro-Hungarian empire.

Much more so than under the occupation of the Soviets...


You could store the current date and time in a global variable and have the producers just read it atomically. The consumer thread would then update it periodically.

Timestamps will be somewhat inaccurate but it may help performance.


that's what the vdso version of clock_gettime does. If you use one of the *_COARSE clocks it will only update periodically and be much faster, but that means like 15 milliseconds of log messages will all have the same timestamp.

The fastest for nanosecond precision (bonus is this is even sub nanosecond) is just to store the return value of RDTSC and let the background thread figure it all out. You don't even need to precalcuate the freq or epoch offset. Just write a couple logging messages of the rdtsc value and CLOCK_REALTIME and let the post processing figure it out.

To cut down on I/O each log message's timestamp can just be an offset from the last even.

If you are willing to push a lot of work to the background thread and even more to the post processsing step, you really don't need to do very much.


> hat's what the vdso version of clock_gettime does. If you use one of the *_COARSE clocks it will only update periodically and be much faster, but that means like 15 milliseconds of log messages will all have the same timestamp.

Not sure it matters a lot of to have multiple messages with the same timestamp, since they were added in order you still know which one is older, the problem might arise when you send those logs to a remote place and the order of insert is discarded and the timestamp is used instead.

I assume that when you use a single thread with a queue / ring buffer the order of insertion is kept.


FWIW, I have relied on the accuracy of log timestamps well into the low microseconds.

If you have an event loop, it might be acceptable to sample the counter once per iteration, but less than that it becomes too lossy.


probably in this case it's important to use some kind of synthetic timestamping to preserve the ordering (for example, for a 5.123 [ms] timestamp one can add ~1000000 ns timestamps, so let's say are a thousand entries that need to be ordered, one can then represent them as 5.123000[n] ... and the "000" part is just a silly in-band way to give a hint to someone who will later examine the logs)


since you aren't going to be writing a message per nanosecond, you can always just do `last nanos = max(last nanos + 1, cur nanos)` and then use last nanos for the timestamp. you can even do it in rdtsc ticks and get 1/3 of nano values. Obv the clock isn't nearly that accurate, but it lets you use those fractional nanos to ensure a strictly increasing ordering.


Consider applying for YC's W25 batch! Applications are open till Nov 12.

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

Search: