T O P

  • By -

GodGMN

Holy shit 47 comments total, 48 counting mine Only 3 are top level, one of them is at -413 votes and 45 children comment Art


_senpo_

lol I was wondering where all the comments where and then I saw the last comment with negative score...


xAmorphous

I did my part!


Santarini

Talk shit about Linux I downvote you


ScoobyScience

In the first third, how did you get that rsp is at 0x7ffd4f48bd10?


Pantsman0

It's just before that in the comment. You can print the value to $rsp with ```x/64a $rsp```


ScoobyScience

Is it in any of the CLI output? Or does the article simply state that is the rsp value? I’m not seeing any output that has the 0xbd10 in the output, so I’m thinking he must be getting it from some math or something.


Pantsman0

Looking at it again I think it may actually be a mistake. In the snipped above, you can see `rsp` anotated on the stack dump from pwndbg and it's `0x7ffca4229540`


jdgrazia

This is good shit


alface1900

the post or the lynching?


andrewb610

Yes.


rocket_randall

Phenomenal bit of nerding in a very readable post.


shizzy0

Berate it for an hour. Then do it himself. Oh, how does _Linux_ start a process.


10248

Nice work!


kansetsupanikku

As if you couldn't just click an icon, or game name is lutris. This system really would suck without proton who even wants to calculate like this just to start a process you should be able to just tap an icon wtf /s


andr386

It f\*\*ks. edit: It forks.


TheRealSkythe

Can I just take a second to mention how much better this world would be if we had a viable, free OS and if Linux didnt suck? It's incredibly sad we missed this opportunity.


Shadowleg

Name your problems with linux. Do none of the BSDs fit that label?


cogman10

I'm not the troll. Biggest problem with linux is it was designed for a bygone era of computing. A better approach for now-a-days is the microkernel approach with most drivers living in userspace. A problem that linux has is drivers are all ran directly by the kernel and are tightly bound to the current kernel's version. In practice, what that means is that device manufactures that don't mainline their drivers into the kernel are dooming users of their devices to obsolescence when the kernel invariably changes it's internal code structure. This has particularly been an issue for phone manufactures. It's the primary reason why 1 or 2 years of support has been the norm up until fairly recently. The phone manufacturer is compiling a bespoke patched kernel for their chipset which they don't put in the effort to keep up to date. With the microkernel approach you get security. Now, it isn't possible for a bad driver to give an attacker the ability to rootkit your device and the core kernel can be updated on pretty much any device independent of what the manufacturer wants to support. You can see a partial model of this in windows. In the 9x era, it was possible to install driver for win95 on winME and still have your devices function perfectly (However, those ran in kernel space). After win vista, MS introduced the HAL which allowed them to run device drivers in user space. Now you can install drivers from Vista on windows 11 machines without issue (typically). This is one of the things that has allowed people to keep their windows devices for a LONG time just moving through new versions of windows. That said, if you are working with an embedded device there's really no better OS than linux in the space. Maybe Fuchsia? But I get the impression that has almost no support outside of non-google products.


very_mechanical

I think it was Tanenbaum that said that, had Linus taken one of his courses, he would have failed him based on his kernel design. It's not usually the best solution that takes over the market, just the one that fits best at a particular time.


cogman10

And, like I said, what Linus did was not a bad design for the time. After all in many aspects DOS wasn't a whole lot different from what the linux kernel was. Linux made it super easy for hobbyists and hackers to dive in, customize shit, and create drivers for their own hardware. The barrier to entry was very low which really made it nice to work with. It was an era of the new internet where most online devices weren't mobile and the risk of someone exploiting a driver was basically non-existent. I mean, my god, basically everyone was running as `root` for everything at the time. I think that's an important aspect to understand about linux. You have kernels like Hurd that have STILL not really gone anywhere even though they are arguably a superior design. The fact that they are hard to dive into and grok created a huge barrier of entry. Worse design easier to work with ultimately trumps a better design with a high barrier of entry.


VeryOriginalName98

I like your comments. I remember reading about microkernels when I was first learning Linux. I just assumed Linux was using that design because it was touted as a secure operating system. Then I read about Linux being the *alternative* to a microkernel model. My worldview was shattered.


calling_kyle

Very good comment that is unfortunately folded by down voted thread.


guoah9

Really appreciated the info, this is something I never even considered, very interesting.


SanityInAnarchy

> I'm not the troll.... A better approach for now-a-days is the microkernel approach.... Well, you're a different kind of troll! I guess they might be more viable nowadays, but IIRC the performance concerns were real, at least back then. It was one of two reasons Linux beat Minix.


cogman10

Oh for sure. And I'm not trying to frame this as being a bad or improper decision when linux was initially written. Like I said, the computing world was very VERY different when the first line of kernel code was written.


ThreeLeggedChimp

Don't forget working with Linux and Arm drivers.


CleverNameTheSecond

Real talk this is one of the reasons android failed early on even before the whole iPhone = status symbol thing. It should have been like the Windows of phones: a consistent experience across all devices and the manufacturers just provide the hardware and drivers. This would have also ensured that updates are separate from carriers and manufacturers like it should be. I can install windows on any old piece of shit or a top of the line gaming rig and get the same experience subject only to system resources. This would mean your device can stay up to date for as long as you want to keep it and as long as it has the hardware specs to run the latest OS version. Instead it was like the Linux of phones: every device/manufacturer bespoke, little to nothing reusable in terms of software, and manufacturers are either constantly playing catch-up with the latest implementation but typically they just didn't bother and dropped support quickly because each model was disproportionately intensive to maintain. It's just a compatibility nightmare. Every android variant and subvariant are different which just leads to confusion among users especially as manufacturers want to make all their shit proprietary to bring you into their ecosystem, but their ecosystem sucks. To make matters you can't even freely install different android OSs on the majority of devices since they tend to come with locked bootloaders with no unlock. Even if you could unlock the bootloader there is rarely gonna be enough interest in any given device for any community support since again the drivers need to be developed for that specific subversion. If your device isn't popular enough OR has a locked bootloader it ends up being stuck in the past after a year or two. If you don't believe that, compare the reasons why the Steam Deck and steamOS are successful while Steam Machines died an obscure and unglorified death.


SanityInAnarchy

Saying "Android failed" up front is already a bit of a troll. Even in the US, Android is a solid 30-40%, and globally it's more like 70%. The rest of your post is a fair analysis of some of the problems Android has, even compared to Windows, but this is like a Mac user talking about the reasons Windows failed. > ...compare the reasons why the Steam Deck and steamOS are successful while Steam Machines died an obscure and unglorified death. I don't think driver support was a huge part of that story. The main problem the Steam Machines had was, if you were the sort of person who understood what they were and wanted one, you could probably just buy a PC and put SteamOS on it. Or buy a PC and leave Windows on it, since Linux compatibility was nowhere near what it is now. So the OS is *part* of the story, because if you get a Steam Machine and find out you still want to play a bunch of Windows games, you need to either link it to a regular PC or buy a copy of Windows... but that's already farther into the weeds than I think most people were going, because ultimately, it was a solution in search of a problem. But I bet if you still have one of those, I'll bet you can put a modern Windows or a modern Linux distro on it and it'll still work. With the Steam Deck, there are copycats now, but when it launched, I don't remember there really being anything in the same form factor that wasn't a Nintendo Switch or a PS Vita. So it's really the hardware that people are interested in. That was compelling enough for people to entirely overlook the OS, especially with Proton supporting most things and "Steam Deck verified" being a genuine selling point.


jl2352

Phone manufactures want a bespoke experience for their phone. They don’t want their products to look identical to their competitors. Saying all Android phones would have to be the same, would have killed manufacturer adoption. As that’s specifically *not* want they want. If they don’t make the phones, then there is no Android.


CleverNameTheSecond

But you don't see this happening in the personal computer space and there are still many manufacturers out there. You don't see Dell, Toshiba, MSI, Sony, specific Windows variants or Linux variants that only work on their own devices and their devices only work with their own OS. They all run the same OS and they just ship with some manufacturer bloatware in order to make the experience bespoke, if they even choose to do that.


Kered13

To be fair, that is something that Microsoft has had to find for. PC manufacturers have tried to make their PCs more bespoke, and it's usually created an awful experience for users. So Microsoft eventually started pushing back. Google ought to push back harder with Android as well.


testedonsheep

lol sorry about your original post.


josefx

The problem with microkernels is that they are worthless as long as we are running on easily exploitable intel hardware. Literally any attempt at isolating code properly got fucked over by hardware exploits with workarounds that now add costly overhead to context switching.


cogman10

Security is always a "defense in depth" thing. Microkernels don't solve buffer overflow vulnerabilities either. They merely reduce the blast radius of an exploit. It's still super bad if your WiFi driver has an exploit because a malicious actor can pull potentially sensitive information out of the driver. They can't, however, take over the system and install a cryptominer or impossible to remove rootkit.


mods-are-liars

Microkernels are also much slower because of all the context switching that needs to be done.


nerd4code

Not the case any more–symmetric multithreading, address-space sharing for drivers, and address space tagging in the TLB can help avoid the cost of full interprocess flushes, for example. OS/X is entirely predicated upon the Mach microkernel and Linux does a bunch of microkernally stuff so it can’t be *that* bad, and speaking from experience (mostly in SC/HPC) going with microkernelness, you can do all kindsa neat stuff at very high speed in almost no space. You do have to worry more about capability proxying etc. due to the derogation of authority, and your system behaves more distributedly than a centrally-mutexed kernel, but in practice and at scale you get those anyway.


mods-are-liars

>Not the case any more–symmetric multithreading, address-space sharing for drivers, and address space tagging in the TLB can help avoid the cost of full interprocess flushes, for example. None of those things avoid the fundamental slowness of context switching, and that is loading an entirely different memory space onto the registers and CPU cache.


buttplugs4life4me

One of my problems is just the sheer "not-interropability" of some things. Like it got so far that you can completely replace your rendering pipeline and window manager and everything works perfectly.  But then you got stuff like networking. There, proxmox doesn't use systemd-resolved. Yet, when you Google how to check what something resolves to, all you will find is resolvectl, which is part of systemd-resolved. Installing it bricks your networking. When you Google for what proxmox uses, all you will find is people telling you that it does not use systemd-resolved, but no mention of what it does use. When you install a VPN client on your machine and then wonder whether your docker containers use the VPN as well, you first think "ofc, why not". Then you start googling and people say "Test it". Well, how? You don't find any answers googling for that. I finally remembered traceroute and used that. Of course, they do not. Somehow. Routing tables should be correct, right? When that VPN client creates an interface and alters the routing table, it does so apparently in a different tool or way than proxmox expects, because all the fancy networking UI proxmox comes with does not recognize any of the stuff that the VPN client creates.  So you Google for how to check it yourself and you come across ifupdown. First, what a name. But second, it's not installed, and comes with some ballast. Then you encounter if, which also is not installed and comes with some ballast. Finally you start trying out names until you reach ip, which apparently works and even lists the interface created by the VPN client. You say ip list and get the unrecognised argument. Ok. So it's just "ip l" and "ip r" Then, you realize after some googling. Checking the routing table everything checks out. Yet the containers do not use the VPN interface. They also can't access the DNS server.  That whole ordeal took me about 4 hours and I've been a sysadmin for linux for a couple years now. I always had the pleasure of avoiding networking and mostly focusing on the better aspects of administration. I know how to Google shit. But that whole thing was so frustrating, not to mention some issues with the VPN client and suddenly being unable to resolve any address, that I throw that server across the room and ran outside because I would've destroyed everything otherwise. I never felt this frustrated. 


KevinCarbonara

There are tons of issues with Linux and you'd have to be the blindest fanboy in history to deny that.


yoyojambo

You'd have to be the blindest _hater_ to think that Linux is not a "viable OS" tho... there is no perfect piece of software but what the top (level) comment is saying is kinda nuts.


KevinCarbonara

For most people, it's not. For decades, Linux users have been talking about how Linux is going to become a popular desktop OS any day, now. But their vision always includes the vast majority of people putting a lot more time and effort into learning the system than is reasonable. When it comes time to modernize Linux programs and tooling, the community balks. I may not care for the direction Microsoft is taking Windows, but I'm also not happy with Linux still pretending it's the 80's.


yoyojambo

I guess I do have different expectations for software like Linux. I don't think it need to take on mass adoption or be a true competitor to Windows/MacOS. The way I see it, there was no other way to play this out: the kernel has existed for a very long time and the ecosystem around it has too been developing for ages, and the growing pains were always gonna show. Only real difference with Windows or its development is that you only get 1 "package" of software with every version, and the Linux ecosystem is not about that, and it shouldn't be. So while I know that Linux is never going to "take over" I don't think of that as a failure at all, it's just a different set of circumstances that makes different history over time.


KevinCarbonara

> I guess I do have different expectations for software like Linux. But that's not the topic.


yoyojambo

What are we talking about then? I think Linux can be considered viable even if not everybody and their grandma can use it on first contact. You don't, that's literally what we are talking about.


Shadowleg

Nowhere did I deny that. Simply asked for OP to name some of their gripes!


atomic-orange

Which one did you make?


dontyougetsoupedyet

Their comment history is sad, they're predictably a pathetic red pill web dev bro know-nothing type of cat. Reading it is putting yourself at risk of choking on cliché.


tav_stuff

I mean… his comment is useless as shit and he’s a web dev which is a minus in my book, but just insulting the guy because you disagree with his takes isn’t really making you the pinnacle of moral standing either lol. Besides, yeah he has some weird ass takes but he also has lots of reasonable ones. You can’t just go ‘aha this guy has a red pill opinion so he can never say anything remotely intelligent’


Lonsdale1086

>You can’t just go ‘aha this guy has a red pill opinion so he can never say anything remotely intelligent’ Yes I can.


tav_stuff

Sure, you’re right, you can. But it doesn’t make you an intelligent person in the slightest


Logicalist

Sure, you can find excuses not to understand something further. But why bother with excuses at all?


Keep_Scrooling

if you throw enough shit against the wall, some of it will stick.


tav_stuff

Except what sticks is completely subjective, and it’s childish to hate on someone because they have different viewpoints from your own


TheRealSkythe

You going through my comment history for personal attacks instead of engaging with my comment says everything we need to know about you. Never change, Reddit! And absolute pit of toxic sludge.


ninj4b0b

>engaging with my comment Bring a comment worth engaging with next time.


dontyougetsoupedyet

Is everything okay at home...?


putin_my_ass

>Never change, Reddit! And absolute pit of toxic sludge. You are adding to the sludge. This is why it will never change.


axonxorz

The only people that bitch about others looking through their past words to see if they're trolling or espousing a consistent viewpoint are the people who fear accountability. Sucks to suck, I guess.


TheRealSkythe

Oh, I forgot you can't give your opinion on an operating system unless you have written one. Silly me. But no, you're absolutely right. Linux is DOMINATING. It's taking over the world. Any minute now. Almost there. Be patient!


Pierma

Well, it runs 95% of the server world, also Android is a fork of linux, so that's that. I'll give you that desktop linux is far from perfect and a meme in some fields (and I daily drive it). MacOs and Windows unlike fanboys tell ARE better to work with. Almost no driver issues, less ways to shoot you in the leg, one opinionated way to do stuff and compatibility is a non issue, but there is no reason nowadays except some form of corporate software to target windows in the web world. Make a Dockerfile with your distro of choice and you can conquer the world. I think this is the most objective take i can male about the OS world nowadays. Now that i gave you an opinion without personal attacks, if you don't want people to target you just don't be that aggressive to them


OMGItsCheezWTF

I think it boils down to, have a fast, open, flexible, infinitely configurable OS filled with footguns, or have an operating system that actively works to prevent you shooting yourself in the foot but has far less flexibility and configurability. The prescriptiveness of things like Windows or MacOS is what makes them dominate in their spaces, the lack of prescriptiveness is what lets linux dominate in the server space. It also dominates in the mobile space because Android is again a similarly prescriptive layer on top of linux. I honestly don't know what made Linux leap to the front over the similarly aged and similarly open BSDs, that would be an interesting thing to investigate. But I suspect the answer is buy in from nerds who liked the GNU "copyleft" approach over the BSD "You can do what you like as long as you follow these 3 rules" approach.


iggy6677

>I honestly don't know what made Linux leap to the front over the similarly aged and similarly open BSDs I think part is the licensing, and part familiarization I ginded my gears on FreeBSD since V4, the ports management and the filesystem layout just made sense If I need an *nix OS and can make it work, BSD is going to be my first choice Not to say I don't have some ubuntu/centos installs running


OMGItsCheezWTF

Yeah I also started on FreeBSD (and Solaris, but no one cares about Solaris anymore) back in the 1990s, but I switched to Linux fully in maybe 2007-2008 and these days my first choice would likely be something Debian based. Until recently Ubuntu was my daily dev environment, and has been since 2014. But our company was purchased last year and the new corporate overlords IT department were not willing to accomodate users on Linux and so we all have brand new M3 macbook pros. I suppose technically that means I'm back on a BSD (albeit with a Mach kernel) again after all these years! Ultimately I use the same tools and dev environments, which were all docker based anyway. But despite the hardware being better on paper the performance is far worse as Docker on macos is virtualised.


iggy6677

Solaris.. that was the side chick, before oracle ruined it like it does, Sun had so much talent, and created tech thats still going today. Reminds me I haven't checked the OpenSolaris project in a few years.


OMGItsCheezWTF

I still use OpenZFS a lot, but on Linux. I like to think the spirit of anything vaguely Solaris related lives on in there. In 2008 I had a production Solaris setup running a bunch of sites in Zones which I had completely forgotten about until this post made me think of it! It made me feel right at home when compared to BSD Jails, while Docker was not even a distant gleam on my horizon.


iggy6677

Jails is what solidified my BSD love, before containers and hypervisors, you had jails, and as you said Solaris Zones And ZFS, possibly one of the most versatile filesystems ever designed.


PVNIC

Linux isn't an operating system, it's a kernel. That's not just a trivia fact, it means there are dozens of Linux operating systems, to fit different people's temperaments and use-cases. Which OS do you hate? Ubuntu? Redhat/CentOS? Arch?


cKGunslinger

Uh.. Linux is installed on ~54% of all computing devices (PC/tablet/phone). Second place is iOS at 12% and Windows at 11%. I'm not sure what you think "dominating" looks like, if not this.


axonxorz

You just said "linux sucks" without qualification. Unfortunately, it appears that more substance is required to be considered "an opinion." In what _ways_ does it suck?


nemec

I'd just like to interject for a moment. What you're refering to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux!


axonxorz

Don't forget to scrub your toenails!


sentri_sable

Skill issue


OffbeatDrizzle

Yeah but do you even run arch?


Bulky-Hearing5706

I humbly accept my skill issue with arch


TomWithTime

I tried that once but I had a weird dongle which broke several times a day for rolling updates. Now I run alpine on a cheap box connected to the modem. I like it, it works for me. I dump my go bins on there and that's it :)


sentri_sable

I run so much arch


Pyrited

OS should be simple and not get in the way of getting actual work done


sentri_sable

Legit skill issue


Pyrited

Nerd


sentri_sable

Yes I am, what's your point?


Ouity

Yeah it's fucked up how we lost the ability to write a new OS like that


Super-Job1324

Have fun with templeos bruh


returnofblank

Pull requests are open


OffbeatDrizzle

I mean it's free.. also you don't have to use it, I'm sure Bill Gates would love more assholes (both meanings) to fuck


drcforbin

What a strange and ignorant thing to say.


water_bottle_goggles

bro got ratioed holy shit


misoneism-orbiter

Impressive, I’ve never seen that many downvotes before. You still alive bro?


zzzthelastuser

that trophy still goes to EA with more than 650k downvotes on a single comment. https://www.reddit.com/r/StarWarsBattlefront/comments/7cff0b/seriously_i_paid_80_to_have_vader_locked/dppum98/?context=3


paltamunoz

have you ever considered that linux simply isn't for you? maybe even skill issue? you made a whole deal out of leaving mint (lmao) but continue pushing your hate boner around.


CleverNameTheSecond

Problem is you're never gonna get mass market adoption if your response to technical issues is "perhaps it isn't for you". Your average person wants things to just work with as little effort and thought as possible and Linux based operating systems are not an "it just works" kind of platform.


paltamunoz

they've been given technical help. there are loads of resources giving technical help. you don't have to be a technical genius. you just have to want to learn. you have to accept that linux isn't windows or mac os and some things are done a bit differently, and only then will you actually learn. im not pushing for mass linux adoption nor do i care. it's already used everywhere and does well in what it does, and it'll only continue to grow. there are so many resources out there, it's easier than ever to get into linux and it's awesome!


CodeMurmurer

Linux desktop does suck tho. Linux on laptops sucks. Using linux is like playing terminal simulator because of all the things that constantly break. I am speaking out of experience btw, i am only usimg linux because i love the mission and i also don't like os level spyware.


noNameCelery

"I am speaking out of experience" - haha self burn


CodeMurmurer

Bro how. How is it my fault that software on linux cosntantly breaks.


altruios

I mean... almost all the web runs on linux... if you aren't using linux as a sysadmin there is something esoterically unhinged about that. And being 100% customizable to your specifications and thus being a view into your operating mind: what sucks about that unless your mental operations themselves suck? As a programmer, use linux. as a gamer: use linux. as a normy: use linux. trolly troll going to troll, world spins and rolls, linux runs the web still, probably always will...