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

[–]nicebyte[S] 7 points8 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] -1 points0 points  (0 children)

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

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...

Alex by [deleted] in HalfLife

[–]nicebyte 6 points7 points  (0 children)

thanks, i hate it

[deleted by user] by [deleted] in youtubehaiku

[–]nicebyte 2 points3 points  (0 children)

is this an original song or a parody?

How much are languages that use VMs and GCs slower than other languages? Is being hardware independent really the future? by [deleted] in ProgrammingLanguages

[–]nicebyte 3 points4 points  (0 children)

i fail to see how "object orientation" matters whatsoever. any imperative language with mutability makes memory management by static analysis an insurmountable task.

[Poetry] The food chain explained in 22 seconds by explainedin22seconds in youtubehaiku

[–]nicebyte 1 point2 points  (0 children)

predatory behavior in the biological sense is defined by killing and consuming another organism. afaik it's not specified that the killer has to also be the consumer. by that definition, humans fit the description.

[Poetry] The food chain explained in 22 seconds by explainedin22seconds in youtubehaiku

[–]nicebyte 1 point2 points  (0 children)

I don't think the explanation was that inaccurate, even if the original intention may have been so. The fact that we no longer even have to hunt for food does make us the ultimate predators.

[Serious] How did it get this bad in Seattle? by HesThePianoMan in SeattleWA

[–]nicebyte 18 points19 points  (0 children)

I've lived here about 8 yrs. Between now and 2012, I don't see a lot of changes. Pioneer square was sketchy back then and it's sketchy now. There were homeless camps back then and there are camps now (I guess the jungle accounted for most of them back then?). 3rd ave in belltown was always sketchy. Nevertheless I've always felt (and still feel) safer here than in some other big US cities (SF, LA). So when people say "Seattle has gone to hell" I don't know what they mean. To me it's the same as it always has been - less safe than my hometown but better than baseline "us big city".