Linux locks and a kinder, gentler Linus



  • @Mason_Wheeler said in Linux locks and a kinder, gentler Linus:

    you'll be stuck waiting indefinitely!

    it's a "free" economy. if you want a service someone else doesn't want to provide, start providing the service yourself and if you do a better job than they do you'll win!

    and winning is everything

    or at least it was according to my alcoholic high school gym teacher.





  • @levicki said in Linux locks and a kinder, gentler Linus:

    I swear all of you are a bunch of fucking hypocrites.

    We thrive on that.



  • @levicki said in Linux locks and a kinder, gentler Linus:

    I swear all of you are a bunch of fucking hypocrites.

    Well, fucking is a good way to make more of a thing....



  • @acrow said in Linux locks and a kinder, gentler Linus:

    (Yes, I'm claiming that Debian is nicer to use on a touch-screen than Windows 10. It is.)

    I don't know about Debian, but Ubuntu certainly as fuck isn't. When I plug in a touch screen, it automatically maps the touch surface of that monitor to the entire desktop - until you issue the magic incantation to fix it. Windows "just works".

    xinput map-to-output `xinput | grep "The Name Of The Monitor" | cut -f 2 | cut -d = -f 2` TheOtherNameOfTheMonitor
    

  • Considered Harmful

    @Mason_Wheeler said in Linux locks and a kinder, gentler Linus:

    @TimeBandit said in Linux locks and a kinder, gentler Linus:

    @error said in Linux locks and a kinder, gentler Linus:

    @error_bot games have an extremely high tolerance for lag.

    I hope you have an extremely high tolerance for @error_bot's lag, it's been an hour and we're still waiting 🍹

    Hope you didn't say something in a 🚎 garage thread that @error disagrees with, or he might just put you on the bot's blacklist and you'll be stuck waiting indefinitely!

    If it's in the garage I won't see it, so you'll be safe.



  • @Mason_Wheeler said in Linux locks and a kinder, gentler Linus:

    @Captain said in Linux locks and a kinder, gentler Linus:

    And there are facts about integration on L^2 that tell us how much information we can get out of that measurement (i.e., because the Fourier transform is an isometry on L^2).

    https://pics.me.me/thumb_mmhmm-yeah-know-some-ofthese-words-mmhmm-yeah-i-know-53324888.png

    If you're familiar with Fourier transforms, a nice illustration of the Heisenberg principle is how it relates to quantum degeneracy pressure. Degeneracy pressure is what keeps certain bodies from collapsing - electron degeneracy for white dwarves and neutron degeneracy for neutron stars.

    Particles' position and momentum are related by a Fourier transform. As the position of the particle is constrained (by gravity), the waveform of its position approaches the Dirac Delta function. The Fourier transform of the point function is a horizontal line at 1. If this were the case, the particle's position in the next instant would no longer be a single point. Thus there's a minimum bound to how certain a particle's position and momentum can be.

    So in this case, Heisenberg uncertainty—the fact that as a particle's position is constrained, the probability distribution of its momentum increases—is what's causing the particles to move and preventing the star from collapsing into a singularity.


  • Resident Tankie ☭

    @Captain said in Linux locks and a kinder, gentler Linus:

    @admiral_p: yeah, i mean the test measurement explanation is fine for a high schooler. People that young want to imagine a mechanism. Us olds can get by with the abstract concept. :-)

    The real fact is that the (quantum) wave functions we're talking about are "actually" probability distributions, with means and variances and so on. And you can take a Fourier transform of the wave form. And there are facts about integration on L^2 that tell us how much information we can get out of that measurement (i.e., because the Fourier transform is an isometry on L^2). The Heisenberg uncertainty principle from physics is way more closely related to... say... Shannon's information entropy than to light waves explicitly.

    Hmmmm, I'll read it later. But basically, considering that I don't know what you mean with L² (I suppose it's basically R²) and not being quite sure what an isometry is (iso = equal, metry = dimensions, so a transformation from a 3D space to another 3D space, for example?), but I'm assuming that what you're saying is that, just like the duality between time and frequency, what happens in one domain is "reversed" in the other (for instance, having lots of information in one domain leads to low resolution in the other, as one can see with time-frequency transforms to yield spectrograms; a very precise filter has a long impulse response, etc.).



  • @admiral_p said in Linux locks and a kinder, gentler Linus:

    Hmmmm, I'll read it later. But basically, considering that I don't know what you mean with L² (I suppose it's basically R²)

    No, it's the space of square integrable functions. (f is square integrable if (integral |f|^2 dx) exists -- which it might not)

    and not being quite sure what an isometry is (iso = equal, metry = dimensions, so a transformation from a 3D space to another 3D space, for example?),

    Yes, that's what an isometry is. It's a map that preserves distances between all points.

    but I'm assuming that what you're saying is that, just like the duality between time and frequency, what happens in one domain is "reversed" in the other (for instance, having lots of information in one domain leads to low resolution in the other, as one can see with time-frequency transforms to yield spectrograms; a very precise filter has a long impulse response, etc.).

    Basically, yes.


  • BINNED

    @admiral_p said in Linux locks and a kinder, gentler Linus:

    @Captain said in Linux locks and a kinder, gentler Linus:

    @admiral_p: yeah, i mean the test measurement explanation is fine for a high schooler. People that young want to imagine a mechanism. Us olds can get by with the abstract concept. :-)

    The real fact is that the (quantum) wave functions we're talking about are "actually" probability distributions, with means and variances and so on. And you can take a Fourier transform of the wave form. And there are facts about integration on L^2 that tell us how much information we can get out of that measurement (i.e., because the Fourier transform is an isometry on L^2). The Heisenberg uncertainty principle from physics is way more closely related to... say... Shannon's information entropy than to light waves explicitly.

    Hmmmm, I'll read it later. But basically, considering that I don't know what you mean with L² (I suppose it's basically R²)

    No, L2 is the space of square integrable functions. (You consider functions that only differ at discrete points to be equal as the integral of the difference has measure 0)

    and not being quite sure what an isometry is (iso = equal, metry = dimensions, so a transformation from a 3D space to another 3D space, for example?), but I'm assuming that what you're saying is that, just like the duality between time and frequency, what happens in one domain is "reversed" in the other (for instance, having lots of information in one domain leads to low resolution in the other, as one can see with time-frequency transforms to yield spectrograms; a very precise filter has a long impulse response, etc.).

    I’d guess yeah, that’s what the uncertainty principle does. The more precise (like a delta peak) one information gets, the more imprecise (smeared out) the other.



  • @topspin said in Linux locks and a kinder, gentler Linus:

    I’d guess yeah, that’s what the uncertainty principle does. The more precise (like a delta peak) one information gets, the more imprecise (smeared out) the other.

    Pfft, we beat that years ago:


  • ♿ (Parody)

    6353e1c1-554b-46b8-b813-0a11f3472b28-image.png



  • @Dragoon I prefer the Heisenberg certainty principle:

    right.gif



  • @boomzilla escape velocity...



  • @Groaner said in Linux locks and a kinder, gentler Linus:

    And I believe the default for the Source engine was 20 for quite a while. 60Hz seems like a waste on a Counter-Strike game, when there were far more twitchy Half-Life mods that consisted of players flying through the air that I played in college which might have benefited far more.

    I don't think that's right. Right now, the values are:

    • Half-Life 2: Deathmatch, Day of Defeat: Source, Team Fortress 2: locked at 66 server fps
      • These used to be adjustable, but Valve realized that it was fucking with door animations
    • Left 4 Dead 1 and Left 4 Dead 2: locked at 33 server fps
    • Counter-Strike: Source and Counter-Strike: GO: adjustable, defaulting to 64 server fps
      • ...or at least I'm assuming CS:S is adjustable; it might be locked to 66 server fps because it shares an engine version with HL2:DM and the like

    Any other Valve games I have no idea about because they don't have dedicated servers.


  • Banned

    @Groaner said in Linux locks and a kinder, gentler Linus:

    @Gąska said in Linux locks and a kinder, gentler Linus:

    Up to 29. And that's not just theory. There are many games that I can run on my mid-low-range computer in 40-50FPS. V-sync would only allow for 30FPS. And a 59-60FPS variation becomes 30-60FPS variation, and that looks even worse than constant 30FPS.

    Ah, you're counting worst-case instantaneous FPS. Okay.

    No, I'm counting rolling average FPS.

    I did say marginally, didn't I? And yes, it probably won't matter - but hey, there are no downsides. It's free lunch! Why not take it?

    Up to you. My eyes have suffered irreparable damage from a bunch of shooters in the 00's which looked like ass if you turned off vsync, and my old game programming texts stressed the importance of vsync as you only wanted to update the video buffer when the raster was not active, or else you end up with half of one frame and half of the other. Of course, that was back in the days of CRTs and directly writing to 0xA0000-0xAFFFF, so things may have changed a bit.

    As I said. AFTER ENABLING TRIPLE BUFFERING it doesn't matter. Of course there will be horrible flickering when triple buffering is disabled. I never proposed disabling v-sync without enabling triple buffering at the same time.

    First person shooters run at way more than 20-30FPS. Counter-Strike: GO, for example, uses 64 for matchmaking, and most tournaments use 128. But that's for server - it's possible the client sends commands more often than that.

    It depends.

    As always. But according to the numbers you cited, the top of your range is actually the bottom of the bottom.

    And I believe the default for the Source engine was 20 for quite a while.

    I know it defaulted to 33 in CS:S before they bumped it. I would be very surprised if any later game used less than that. Though it might've been 20 for HL2:DM initially.

    60Hz seems like a waste on a Counter-Strike game, when there were far more twitchy Half-Life mods that consisted of players flying through the air that I played in college which might have benefited far more.

    Have you ever seen high-level CSGO match? Rounds are decided in split second based on who flicks one frame faster.

    MMOs are a special kind of video games in that they can actually afford abysmally low performace. The gameplay is so slow it doesn't matter whether you have ping 30 or 300. RuneScape used to have a full second delay for every user action - and it didn't matter at all because MMO is not the kind of game where this matters. Whatever you say about MMOs most likely doesn't apply to any other genre except turn-based strategies (the only genre where lag tolerance is even higher).

    MMO doesn't necessarily mean "game where player clicks to select target and pushes nuke or heal button every two seconds" anymore. I've played MMOs with 50+ man aerial dogfights and the like. Even the "modern" FPS standard of 100-man maps can create a lot of performance considerations if there's a lot of replicated data.

    Well, you started talking about Korean games, so I assumed all you're saying is referring to that. Also, 50-100 isn't really M in my book. Also, dogfighting doesn't need that much precision either. Retroactively applying bullets shot half a second earlier would go totally unnoticed - but doing the same in close quarters FPS (and all FPS are potentially close quarters) will make the player base hate your guts.



  • @cvi said in Linux locks and a kinder, gentler Linus:

    @admiral_p said in Linux locks and a kinder, gentler Linus:

    @cvi @boomzilla tbh there is one scenario where Linux is probably worse than Windows. I get it on an old laptop I have. And that's a low RAM scenario.
    

    Yeah, fair. I run without swap on Linux because of this - 99% of the time I have more than enough physical RAM and running out of it usually means that I fucked up something somewhere in development (so getting the process murdered by the OS is actually desirable).

    Firefox is the only other process that occasionally gets OOMed. I'm mostly okay with that. I'm considering putting it into it's own cgroup so that it gets murdered much earlier (i.e, whenever it tries to commit more than 3-4 GB of RAM),

    #MeToo



  • @dcon said in Linux locks and a kinder, gentler Linus:

    @acrow said in Linux locks and a kinder, gentler Linus:

    (Yes, I'm claiming that Debian is nicer to use on a touch-screen than Windows 10. It is.)

    I don't know about Debian, but Ubuntu certainly as fuck isn't. When I plug in a touch screen, it automatically maps the touch surface of that monitor to the entire desktop - until you issue the magic incantation to fix it. Windows "just works".

    xinput map-to-output `xinput | grep "The Name Of The Monitor" | cut -f 2 | cut -d = -f 2` TheOtherNameOfTheMonitor
    

    🤷♂ My only touch-screen device was a covertible mini-laptop. Which I didn't connect to external screens very often. But I think I would have noticed if it did that...
    Did this happen on Unity or Gnome3? That is, which version of Ubuntu did you have?



  • @acrow said in Linux locks and a kinder, gentler Linus:

    @dcon said in Linux locks and a kinder, gentler Linus:

    @acrow said in Linux locks and a kinder, gentler Linus:

    (Yes, I'm claiming that Debian is nicer to use on a touch-screen than Windows 10. It is.)

    I don't know about Debian, but Ubuntu certainly as fuck isn't. When I plug in a touch screen, it automatically maps the touch surface of that monitor to the entire desktop - until you issue the magic incantation to fix it. Windows "just works".

    xinput map-to-output `xinput | grep "The Name Of The Monitor" | cut -f 2 | cut -d = -f 2` TheOtherNameOfTheMonitor
    

    🤷♂ My only touch-screen device was a covertible mini-laptop. Which I didn't connect to external screens very often. But I think I would have noticed if it did that...
    Did this happen on Unity or Gnome3? That is, which version of Ubuntu did you have?

    I run mint on my laptop, and it does this as well. I've read plenty of people complaining about linux doing this so it's not uncommon at least. I've turned off the touch screen on my laptop, because I don't use it, and it's annoying to have clicks happen when you or someone else points at the screen.



  • @Carnage said in Linux locks and a kinder, gentler Linus:

    @acrow said in Linux locks and a kinder, gentler Linus:

    @dcon said in Linux locks and a kinder, gentler Linus:

    @acrow said in Linux locks and a kinder, gentler Linus:

    (Yes, I'm claiming that Debian is nicer to use on a touch-screen than Windows 10. It is.)

    I don't know about Debian, but Ubuntu certainly as fuck isn't. When I plug in a touch screen, it automatically maps the touch surface of that monitor to the entire desktop - until you issue the magic incantation to fix it. Windows "just works".

    xinput map-to-output `xinput | grep "The Name Of The Monitor" | cut -f 2 | cut -d = -f 2` TheOtherNameOfTheMonitor
    

    🤷♂ My only touch-screen device was a covertible mini-laptop. Which I didn't connect to external screens very often. But I think I would have noticed if it did that...
    Did this happen on Unity or Gnome3? That is, which version of Ubuntu did you have?

    I run mint on my laptop, and it does this as well. I've read plenty of people complaining about linux doing this so it's not uncommon at least. I've turned off the touch screen on my laptop, because I don't use it, and it's annoying to have clicks happen when you or someone else points at the screen.

    On the mini, it was handy to have sometimes. I found myself unconsciously poking the screen of my next laptop.

    Of course, it was the only input in pad-mode, and the touchpad didn't re-orient to portrait mode, so I had to use it then.



  • @levicki said in Linux locks and a kinder, gentler Linus:

    whatever the hardware can handle

    And the network. In most games, if latency gets longer than the game tick, then you get some funny reconciliatory math.

    this will affect game physics in some custom maps

    does it affect physics, or perhaps rarther scripts?

    I'd imagine that this happens when the map scripts try to detect events via derived physics, via an API that was never designed to detect ... *uhm* ... hitting a button with a grenade launcher ... apparently?


  • Banned

    @levicki said in Linux locks and a kinder, gentler Linus:

    The trouble with that this will affect game physics in some custom maps and make them impossible to play

    Technically, it affects physics on all maps, it's just that only on some it's a problem. CS:GO, which uses the same engine, has the same problem with using different tick rates. Throwing grenades across the entire map by bouncing it off 8 different walls is a big part of gameplay, and players learn the setups for the more useful throws by heart - go to this exact spot, look at your feet and line up your position with the pixels, look at the specific point in the sky again lining up with the pixels, unlock the grenade, run in this exact way, at this exact spot throw the grenade with the exact combination of left click, right click and jump (different in each setup).

    Where the grenade lands depends on the server tick rate. For this reason, most setups have two versions - one for 64 tick official matchmaking matches, and another for 128 tick servers where you aim just a tiny bit higher.


  • Banned

    @levicki said in Linux locks and a kinder, gentler Linus:

    @Gąska That's crappy game engine physics then, when it is affected by tickrate. In real world, a projectile trajectory doesn't depend on how often you observe its position.

    Oh come on. 100% accuracy of physics simulations isn't required for gaming. It's not rocket surgery. Accurate tickrate-independent grenade trajectories would require bazillion more processing power, with little benefit overall. Software development is all about tradeoffs and knowing what is important and what can be taken a little less seriously.

    Source still has the best net code and hit detection of all game engines. That matters more than anything else.


  • Java Dev

    @Gąska said in Linux locks and a kinder, gentler Linus:

    @levicki said in Linux locks and a kinder, gentler Linus:

    @Gąska That's crappy game engine physics then, when it is affected by tickrate. In real world, a projectile trajectory doesn't depend on how often you observe its position.

    Oh come on. 100% accuracy of physics simulations isn't required for gaming. It's not rocket surgery. Accurate tickrate-independent grenade trajectories would require bazillion more processing power, with little benefit overall. Software development is all about tradeoffs and knowing what is important and what can be taken a little less seriously.

    Source still has the best net code and hit detection of all game engines. That matters more than anything else.

    I'd assume the problem is not so much the (parabolic) trajectory as the wall collisions and bouncing causing the variance. Still, your point stands.


  • Banned

    @PleegWat no, the parabolic trajectory is itself slightly off. The higher the tickrate, the faster grenades fall. I guess it's because the gravity is applied more often, so although the individual impulses are half the power so it should theoretically all even out, the trajectory gets more smoothed down, lowering the peak point.


  • Java Dev

    @Gąska In that case I'd assume at each tick (starting the firing tick) they first apply gravity over the entire tick, then displace based on the new speed. An approach which instead displaces based on the average of the old and new speed would be independent of tick rate.



  • @topspin said in Linux locks and a kinder, gentler Linus:

    @Steve_The_Cynic said in Linux locks and a kinder, gentler Linus:

    @Gąska said in Linux locks and a kinder, gentler Linus:

    @acrow said in Linux locks and a kinder, gentler Linus:

    I get much faster compilations on Linux, using the same version of GCC, when compiling large projects like, e.g. Qt 5. Similar results on converting large batches of video via ffmpeg. On the very same machine (dual-boot). So, seems to me that the Linux scheduler was chosen for a reason.programs are fine-tuned to Linux system and nothing else, just like Windows programs are fine-tuned to Windows system and nothing else.

    FTFY

    A bit of that, and don't forget that GCC-on-Windows is probably having to pass through Cygwin or some equivalent mess of (departs on a 742-page rant about Cygwin), while on Linux it is not.

    Whatever POSIX layer it uses, it probably relies on Unix stuff like forking all over the place.

    Everything I've ever read about how Cygwin implements fork is terrifying.


  • Banned

    @Steve_The_Cynic said in Linux locks and a kinder, gentler Linus:

    @topspin said in Linux locks and a kinder, gentler Linus:

    @Steve_The_Cynic said in Linux locks and a kinder, gentler Linus:

    @Gąska said in Linux locks and a kinder, gentler Linus:

    @acrow said in Linux locks and a kinder, gentler Linus:

    I get much faster compilations on Linux, using the same version of GCC, when compiling large projects like, e.g. Qt 5. Similar results on converting large batches of video via ffmpeg. On the very same machine (dual-boot). So, seems to me that the Linux scheduler was chosen for a reason.programs are fine-tuned to Linux system and nothing else, just like Windows programs are fine-tuned to Windows system and nothing else.

    FTFY

    A bit of that, and don't forget that GCC-on-Windows is probably having to pass through Cygwin or some equivalent mess of (departs on a 742-page rant about Cygwin), while on Linux it is not.

    Whatever POSIX layer it uses, it probably relies on Unix stuff like forking all over the place.

    Everything I've ever read about how Cygwin implements fork is terrifying.


  • BINNED

    @Gąska said in Linux locks and a kinder, gentler Linus:

    Everything I've ever read about how Cygwin implements fork is terrifying.


  • Java Dev

    @topspin said in Linux locks and a kinder, gentler Linus:

    @Gąska said in Linux locks and a kinder, gentler Linus:

    Everything I've ever read about how Cygwin implements fork is terrifying.

    Time to start lobbying for a system call implementation of posix_spawn()?


  • Banned

    @PleegWat I heard PRs are welcome. Torvalds does very good code reviews. 🍿



  • @Gąska I'm just going to pre-emptively call it fork_garbage



  • @hungrier said in Linux locks and a kinder, gentler Linus:

    @Gąska I'm just going to pre-emptively call it fork_garbage

    a4e87ac2-8706-4362-86a7-7e8f16808948-image.png



  • @acrow said in Linux locks and a kinder, gentler Linus:

    That is, which version of Ubuntu diddo you have?

    18.04



  • @acrow said in Linux locks and a kinder, gentler Linus:

    I found myself unconsciously poking the screen of my next laptop.

    I do that all the time with my work laptop. Which isn't touch. I've really gotten to liking touch - which before I had it, I always thought would be a dumb thing with a keyboard.



  • @dcon said in Linux locks and a kinder, gentler Linus:

    @acrow said in Linux locks and a kinder, gentler Linus:

    That is, which version of Ubuntu diddo you have?

    18.04

    I still have a tiny computer running 14.04.... i should try to remember what my password is to that one so i can log in, extract the bitcoin wallet it's got and see if there's anything in it or if it's completely failed to mine a single coin because it's a CPU miner on a low spec celeron.... and then either upgrade it to do something useful with it's 10W of computing powah, or decommission it



  • @Vixen said in Linux locks and a kinder, gentler Linus:

    if it's completely failed to mine a single coin because it's a CPU miner on a low spec celeron

    Assuming you started in 2009 back when Bitcoin was still new, you still probably have nothing



  • @hungrier said in Linux locks and a kinder, gentler Linus:

    @Vixen said in Linux locks and a kinder, gentler Linus:

    if it's completely failed to mine a single coin because it's a CPU miner on a low spec celeron

    Assuming you started in 2009 back when Bitcoin was still new, you still probably have nothing

    probably, but i'm not keen on just nuking the box because i might have one maybe two..... low probablility. very low. but i might.

    and stupid me encrypted the drive so i gotta remember my password in order to get at it...



  • @dcon Huh. Then it's also Gnome 3. ...Then I either remember wrong or it's not governed by the desktop. Eh, could do research or :kneeling_warthog:



  • @Vixen Just convert your current bitcoin mining rig to crack your old password 🏆



  • @acrow said in Linux locks and a kinder, gentler Linus:

    @dcon Huh. Then it's also Gnome 3. ...Then I either remember wrong or it's not governed by the desktop. Eh, could do research or :kneeling_warthog:

    As far as I know, it's only an issue on touch monitor + nontouch monitor. I haven't tried plugging in more than one touch monitor... (right now, I've got a 4K and normal monitor. That's enough of a problem since ubuntu doesn't allow setting different scaling factors on different monitors. At least at 27", I can read the text on the 4K...)



  • @dcon said in Linux locks and a kinder, gentler Linus:

    ubuntuGnome doesn't allow setting different scaling factors , at least via GUI

    FTFY

    I'm sure it can be fixed via a configuration file somewhere. As much as I'd like to say that Linux config files are just as accessible as the more obscure Windows setting menus, the desktop environments often lack menus for stuff that you'd think was important.
    At least the error messages are better on the command line.



  • @acrow said in Linux locks and a kinder, gentler Linus:

    the Gnome desktop environments often lack menus for stuff that you'd think was important.

    FTFY

    According to Gnome devs, setting are too confusing for users



  • @TimeBandit I always remember how screensavers were intentionally broken, because John Gnome insisted that no settings can ever be presented to the user.



  • This post is deleted!

  • Considered Harmful

    @hungrier said in Linux locks and a kinder, gentler Linus:

    @TimeBandit I always remember how screensavers were intentionally broken, because John Gnome insisted that no settings can ever be presented to the user.

    And nothing of value was lost.



  • @Captain said in Linux locks and a kinder, gentler Linus:

    @boomzilla escape velocity...

    Classic, Override, or Nova?



  • @levicki said in Linux locks and a kinder, gentler Linus:

    In real world, a projectile trajectory doesn't depend on how often you observe its position.

    That's a bold statement. Can you prove it?



  • @Vixen said in Linux locks and a kinder, gentler Linus:

    @hungrier said in Linux locks and a kinder, gentler Linus:

    @Gąska I'm just going to pre-emptively call it fork_garbage

    a4e87ac2-8706-4362-86a7-7e8f16808948-image.png

    No, that's a garbage fork. Subtly different.



  • @TimeBandit said in Linux locks and a kinder, gentler Linus:

    @acrow said in Linux locks and a kinder, gentler Linus:

    the Gnome desktop environments often lack menus for stuff that you'd think was important.

    FTFY

    According to Gnome devs, setting are too confusing for users

    Let's go shopping?


Log in to reply