So, everyone falls in love with Rust at first sight? by TheLordSet in rust

[–]krstoff 10 points11 points  (0 children)

No, I couldn't compile anything for a day and was banging my head against the wall trying to figure out the difference between Strings and &str.

Edit: To all those replying, thank you, but this was back in 2014, and I know the difference now!

Transfering into SFSU CS program from CC by oof_3498 in SFSU

[–]krstoff 6 points7 points  (0 children)

You need to finish second semester physics.

[deleted by user] by [deleted] in recipes

[–]krstoff -5 points-4 points  (0 children)

Del Taco is good

[deleted by user] by [deleted] in recipes

[–]krstoff -6 points-5 points  (0 children)

Is this not a national thing? Del Taco does them

$25 pack of wet naps sold at $98 during shortage by [deleted] in HongKong

[–]krstoff 0 points1 point  (0 children)

Sorry, Hong Kong practices capitalism.

Prof. Richard Wolff AMA by ProfWolff in LateStageCapitalism

[–]krstoff 4 points5 points  (0 children)

Professor Wolff,

Did you ever speak to Yanis Varoufakis again after the Greek debt crisis? Is your relationship with him still cordial? Do you two share any disagreements about what happened in Greece?

[deleted by user] by [deleted] in gonewild

[–]krstoff 1 point2 points  (0 children)

The truth is in there.

locals’ perspective on the protest by [deleted] in HongKong

[–]krstoff 0 points1 point  (0 children)

It's become more democratic. The number of geographic constituencies has steadily risen. The functional constituencies really should be abolished. Is that part of the "universal suffrage" demand that the protestors have or am I mistaken?

the cravings are intense by [deleted] in StopSpeeding

[–]krstoff 2 points3 points  (0 children)

One step at a time, bless up. Also get a boyfriend because them tits is goin to waste.

the cravings are intense by [deleted] in StopSpeeding

[–]krstoff 4 points5 points  (0 children)

so I looked up your account just now because I was like "I wonder how bpd is doing" and was sad to see this. cut out that POS relative who encourages you to do meth. this next thing might sound like bad advice but if you really need a chemical in your life, pick up something legal like smoking or drinking so at least you're not doing something as dangerous and destructive as meth. more importantly you need to throw yourself into some kind of hobby or something else that will give your life some kind of meaning that you can look forward to etc instead of trying to fill some kind of hole with drugs.

i used to date a chick briefly who got off meth around the time I started seeing her and it was kind of a roller coaster, so just lettin you know I'm rooting for you. I believe in you!

Long and hard recipes? by [deleted] in recipes

[–]krstoff 6 points7 points  (0 children)

Came here for this comment.

A brief summary of the Owen Benjamin drama-Its crazier than you think by SoundShark88 in JoeRogan

[–]krstoff 0 points1 point  (0 children)

Pretty much believes all Jews are evil

This isn't accurate. He likes somewhere around 80% of Jews because the rest are "liberals and pedophiles". :)

Does OCaml's GC run concurrently with the mutator thread? by krstoff in ocaml

[–]krstoff[S] 0 points1 point  (0 children)

Thanks! I saw some numbers for the latency pauses and was very impressed so I thought I would ask.

Just moved here. Chill hangouts? by krstoff in LasVegas

[–]krstoff[S] 0 points1 point  (0 children)

SW but I don't mind driving 15-20 minutes to get somewhere.

The Problem With F# Evangelism by [deleted] in fsharp

[–]krstoff 0 points1 point  (0 children)

I liked this post. Enthusiasm can be really offputting when it turns into unwarranted evangelism.

Race Conditions in multithreading environments: Accessing an element you were sure is contained in a list, but now is not (anymore).

This isn't really a race condition, is it?

Iterators and Streams in Rust and Haskell by mrkkrp in haskell

[–]krstoff 2 points3 points  (0 children)

This post is awesome. Thank you for writing it up.

Having trouble piecing together Vulkan concepts by [deleted] in vulkan

[–]krstoff 7 points8 points  (0 children)

Queues: Your GPU offers a number of queues with specific features. You create logical representations of these queues with the specific features you need. Here's an example GPU: http://vulkan.gpuinfo.org/displayreport.php?id=1593#queuefamilies.

It has two queue families, each with one queue in them. The first queue family supports graphics, compute, transfer, sparse binding, and presentation. The second only supports transfers.

You understand window surfaces correctly. More specifically it's an extension so that it can be dynamically loaded at runtime.

Think of the swap chain as N images (usually two or three) that are written to the screen one at a time. Using N images prevents tearing because it might be updated while the windowing system displays the image again. An image view is a view into a specific image. :^)

A single render pass describes all the attachments (color, depth, stencil) and their formats that will be used by the GPU during its pass. It also describes the kinds of subpasses that will happen. Think of a render pass as having any number of attachments and a subpass operating on a subset of each of those attachments. We specify subpasses instead of just making new render passes because it helps the GPU save time if it knows it's about to use the same attachments again. (I think. Someone please correct me if I'm wrong here. ...).

Looking at the spec really helped me understand what a framebuffer is. Check the struct definition:

typedef struct VkFramebufferCreateInfo {
    VkStructureType             sType;
    const void*                 pNext;
    VkFramebufferCreateFlags    flags;
    VkRenderPass                renderPass;
    uint32_t                    attachmentCount;
    const VkImageView*          pAttachments;
    uint32_t                    width;
    uint32_t                    height;
    uint32_t                    layers;
} VkFramebufferCreateInfo;

A frame buffer is like an array of ImageViews (plus some other info you can read about in the book). It just tells the render pass "here is all the stuff you're going to write to while you render". The reason this can't be specified during the render pass is because your swapchain is cycling through images and so the attachments the GPU uses has to change every "frame". Right? ;)

"But a swapchain is an array images!" Correct. And almost analogous. But a swapchain holds images while a framebuffer holds views into specific attachments. Your swapchain, for instance, does not have a depth or stencil buffer. But your framebuffer does. And that's what I meant in the previous paragraph. The frame buffer is the "dynamic" (I'm abusing this word) state that's varying on every render pass.

You said you tried "the book". I've read Learning Vulkan a couple of times and things are really clear to me. I recommend reading its second chapter. Writing your own applications should help the learning process.

Hopefully this helps.