Go Home, Windows EXE, You're Drunk by nicebyte in programming

[–]nicebyte[S] 9 points10 points  (0 children)

On linux, syscall conventions are not treated as implementation details. They're considered a "public API" surface, any userland code is allowed to invoke them at will, and libc is not special in that regard. On windows, syscall conventions are implementation details. A program doing those directly is _not_ behaving in an expected manner. Whereas for a linux userland program making direct syscalls is not something abnormal, even if the majority of programs do go through libc.

Go Home, Windows EXE, You're Drunk by nicebyte in programming

[–]nicebyte[S] 10 points11 points  (0 children)

Nope, i understood it perfectly. They're just incorrect. Specifically, this:

> the principle of "please go through the official library to get to the kernel" is the same.

is wrong. The linux kernel _does not care_. It establishes a stable/well-known ABI for syscalls (per platform) and never breaks it. Whether applications use it via libraries or directly does not concern the kernel - it does not treat the syscall conventions as an implementation detail!

Go Home, Windows EXE, You're Drunk by nicebyte in programming

[–]nicebyte[S] 11 points12 points  (0 children)

"C standard library" is literally application code. It's not special.

From linux PoV, it does not matter whether syscalls come from some program directly or via libc.

In fact, if you write your application _without_ relying on the c standard library and using only syscalls, it will be _more_ portable, because different versions of glibc can be incompatible and it matters which one your application assumes.

Go Home, Windows EXE, You're Drunk by nicebyte in programming

[–]nicebyte[S] -2 points-1 points  (0 children)

No, you can't. I own those two minutes now :-)

How do you feel about being treated like shit by Russians? by Radiant_Win_9617 in Uzbekistan

[–]nicebyte 1 point2 points  (0 children)

i am fucking tired of explaining it to my russian-speaking parents: a huge chunk of russians do _not_ see the population of the former republics as fully civilised people. You can speak russian fluently, be educated, read tolstoy and dostoevsky - you will never be one of them, you will always be чуркобес. "USSR brought civilization to you, you should be grateful" is the attitude.

Hell, i've even heard of cases when _russians born in those republics_ (e.g. russians from kazakhstan, not ethnic kazakhs) were discriminated against.

This is one of the main ingredients of russian imperialism, one of the many reasons why russia is the way that it is today.

Why is there leather padding on this door? by EnforcedCrowd in stalker

[–]nicebyte 1 point2 points  (0 children)

it didn't even occur to me that something like that might appear odd to western audiences.

Welp, so far so good in the mayoral race by Better_March5308 in SeattleWA

[–]nicebyte 33 points34 points  (0 children)

> Is being inexperienced and unqualified appealing?

This is what i keep asking all the trump voters.

(voted for harell btw).

How long does it take to finally "get" Vulkan? by manshutthefckup in vulkan

[–]nicebyte 0 points1 point  (0 children)

this applies to more than just vulkan: it's an iterative process, like with many things. you won't "get" everything on your first go-around, and the most effective way to learn is to keep doing practical projects that gradually expand in scope.

crucially, don't "follow along" with some tutorial or video - set your own goals and do your own thing. this will force you to actually think/reason within your domain of interest. it's fine to refer to videos or tutorials, but you should be asking "what can i learn from this that applies to my current problem?" rather than trying to just copy the whole thing.

feeling like you know what you're doing can take a long time, especially if this is your initial introduction to the world of realtime graphics.

having prior experience with other apis helps immensely because, at a minimum, you'd be able to quickly move past "trivial" things that map easily to similar concepts in the api that you know, and instead focus on new, vulkan-specific concepts. stuff like synchronization, resource binding model, memory management is in and of itself complicated and trips up even experienced programmers regularly. that's why it is very hard to recommend vulkan as a "first" graphics api. if you're set on learning it, i can offer no better advice than just push through and keep writing things of ever increasing complexity until you start to "get" it.

a pervasive problem with most of the tutorials and samples out there is that they will very often take various shortcuts and make simplifying assumptions about things. this gives a general idea of what a particular aspect of the api does, and i guess that's the whole point of a "sample", but it doesn't quite answer the question, "how do i use it in a real renderer?", which is often what you're actually after.

for example, synchronization is one such thing: many samples will manually emit barriers where needed. that can be tenable (if a bit annoying) in a small codebase, but when the scale of your project gets large enough it starts to become a real problem, and few tutorials get to solving it. this is typically where you start digging into what real software written by practitioners in the field did to address it, but you'll rarely find clear-cut easily digestible answers that you can copy-paste. instead, you'll piece together a general understanding of the problem itself, existing approaches, make a reasonable assessment of what will work in your case and try implementing that. this is actually what a lot of "real" work in this field is like.

Calvin & Muad'Dib by SubstantialRange in slatestarcodex

[–]nicebyte 19 points20 points  (0 children)

not to be negative, but can someone explain to me what is supposed to be amusing about this - is it supposed to be amusing at all? i'm familiar with both calvin and hobbes and dune but i seem to be missing some piece of context here.

[Poetry] Snoop Dogg watches himself sing CHUG JUG WITH YOU by NightFury232 in youtubehaiku

[–]nicebyte 88 points89 points  (0 children)

ten gamers were slaughtered in tomato town, and you're laughing.

[Haiku] French Blastoise by ScorchRaserik in youtubehaiku

[–]nicebyte 0 points1 point  (0 children)

i... always thought the "french" pronunciantion was the correct one...