Programming thread

Hopefully such features will make their way to vulkan eventually
I imagine Vulkan is getting first class support going forward. All this stuff needs to be cross-platform. If they're putting these in render farms those are likely running Linux or BSD. NVidia and Valve have put and continue to put money in trying to make sure they can abandon ship to Linux as they see Microsoft as a liability that could seriously damage their businesses or take them hostage. Not to mention consoles like next-gen PlayStation, if it doesn't become a "console as a service" before then.

Imagine a world where only UWP-signed games could get lower-level DirectX access, or Windows truly becomes a "OS as a service" that makes it hard to install arbitrary software. Sure Microsoft might get sued for anti-competitive practices, but that could take years in litigation.

Tim Sweeney is very vocal in Twitter about Linux and his anger towards UWP and Microsoft in general.
https://twitter.com/search?q=UWP from:TimSweeneyEpic&src=typd
https://twitter.com/search?q=Linux from:TimSweeneyEpic&src=typd
 
Not if you use their closed source blobs.
m8 I've got a graphics card in the laptop I'm using right now that I can't use even with nvidia's closed source blobs. Unless I want to do a full system reboot and enable and disable various services every time I want to turn the card on or turn it off, of course.
 
m8 I've got a graphics card in the laptop I'm using right now that I can't use even with nvidia's closed source blobs. Unless I want to do a full system reboot and enable and disable various services every time I want to turn the card on or turn it off, of course.
Weird. In my experience nvidia's closed source drivers are always top notch for Linux.

But then again, I've also never tried them with quirky laptop gpus.
 
Weird. In my experience nvidia's closed source drivers are always top notch for Linux.

But then again, I've also never tried them with quirky laptop gpus.
The drivers for the card itself work fine, but nvidia doesn't provide linux support for the "optimus" system they use with their laptop GPUs. Optimus is designed to only activate the nvidia GPU when the system detects a need for it, but without it the card can either be on or off at boot time, and that's the only way to activate or deactivate it. Bumblebee+bbswitch is supposed to give optimus-like features, but it's only become a known issue recently that those don't work on my particular machine.
 
RTX looks like it's going to be really cool, but I'm concerned that they didn't mention any equivalent functionality to vertex shaders. Having to do skeletal animation on the host or in a compute shader would be real shitty. Hopefully one day we'll get geometry shaders for RTX too.

Heres the talk they gave about it's vulkan implementation;
http://on-demand.gputechconf.com/gtc/2018/video/S8521/
 
Unicode was a mistake
upload_2018-8-18_21-34-45.png
 
Is it worth learning javascript? It seems like every 6 months you have to learn a bunch of new bullshit fads. My background is sophomore level uni dropout, most of my stuff is python for scripts and C# for desktop apps.

Edit

Does anyone write websites by hand, or do I really need the latest, gayest frameworks?

/Edit

What should I learn to make the most money freelancing? I need experience to get even scrum codemonkey jobs, and I don't like people or bullshit.
 
Last edited:
Is it worth learning javascript?
Yes. Javascript, despite its warts (and toy object system), is a very solid language. It will be around in some form for a long time. I'd say it will have greater longevity in popular use than Python.
Does anyone write websites by hand, or do I really need the latest, gayest frameworks?
They do. Writing static websites with html and css is fine. Sometimes you might want to use style / layout frameworks, but that's basically prearranged CSS for you to use.

Now if you're talking about more interactive websites, I would say it's very helpful to use a framework. If what you're working is anything but a throwaway project, you're going to want some structure that Javascript doesn't provide out of the box. Things get really messy really quick.

However, as I said earlier, you shouldn't really put much stock in what you're learning. They will go out of fashion. You're basically learning an API. It'd be like bragging about how well you know classic OpenGL, until they released the new version where you have to rewrite everything using buffers and shaders.

It's something you're learning to get a job done. If you're trying to get smarter, learn a new programming language.

I don't do much frontend programming (I stay the hell away from it for that very reason). However, I have heard good things about React.

It's very functional (in a functional programming sense), which basically means: instead of you manually having to delete and add and recreate elements of the DOM, much of the time React simply asks you "what should this element look like in this situation?"

And then when the circumstances change, React will remember that and update the DOM.

Here's a good intro.
What should I learn to make the most money freelancing? I need experience to get even scrum codemonkey jobs, and I don't like people or bullshit.
Frontend is flashy and looks good in a portfolio. If you've got an eye for design, at least. (I don't think I do.)

I've done data scraping before, various backend projects, things like that.
 
Last edited:
I meant writing plain ole javascript/css/html client stuff without using any Vhart frameworks or whatever. Like, knowing how to implement a simple web shopping cart on my own with the stuff above, some really scalable back end stuff, and a sql database.

That seems like how it should be done, but then again you cant paya pack of street shitters in boiled dog to do that.
 
I meant writing plain ole javascript/css/html client stuff without using any Vhart frameworks or whatever. Like, knowing how to implement a simple web shopping cart on my own with the stuff above, some really scalable back end stuff, and a sql database.

That seems like how it should be done, but then again you cant paya pack of street shitters in boiled dog to do that.
With javascript, the friction will grate on you. It becomes a problem if you have to update the project more than twice.

You'll think "maybe this is my fault, I could make this cleaner", and then you rewrite it, and... another change throws you for a loop. I've been through this cycle many times.

Javascript frameworks exist because trying to jam the DOM (basically html) into javascript is like trying to jam a square peg into a round hole.

So: are you wanting to add new features later? I've definitely had throwaway projects before. (Although, when it comes to freelancing, some of my best clients are ones who come back regularly for updates. You want to snag a guy who asks you for a website, and asks for updates every month or so.)

My advice is: write framework-free code the first time. If the dude comes back again, consider using a framework. Because if he comes back a third time, you'll be thanking yourself for the investment of time.
 
What language are you using where the linter is that aggressive?
Python's PEP8 style guide says to use snake_case style, which is incorporated into the Python linter I'm using (Jedi via YouCompleteMe for (neo)vim).

Meanwhile Golang you need to make the first character of a variable name uppercase in order for it to be defined as public, and most existing code in the community seems to be camelCase.
 
A language with a specific style, handed down on from on high, is the worst fucking shit.

Just fuck off, let me do my own thing.
What do you think of magic methods and operator overloading? I'm unaware of any language that doesn't enforce a naming convention for those.
 
What do you think of magic methods and operator overloading? I'm unaware of any language that doesn't enforce a naming convention for those.

Personally I find it kind of obnoxious, especially when the method is named something inane.

I find C# is pretty good about magic methods though, it has the usual C++ like stuff such as; ~"class name" for destructors, operator "operator symbol" for operators, and so on and so forth. There are however a couple of methods that exist on all objects, those being Equals(object), GetHashCode(), and GetType(). These functions though are actually just part of the root node of the class hierarchy, which I think is a reasonable way of going about it.

Sometimes C# even lets you use [Attributes] to specify special methods, though it's mostly for niche things. I think using attributes for such purposes is probably one of the nicer ways to handle it.

Code:
// E.g. you can do stuff like this

[DllImport("External.dll")]      // <-- The attribute. You can even define your own
external void MyImportedFunction(int i);

// When you call MyImportedFunction External.dll will be automatically loaded, and a function exported as MyImportedFunction will be pinvoked, or an exception will be thrown

Meanwhile Golang you need to make the first character of a variable name uppercase in order for it to be defined as public, and most existing code in the community seems to be camelCase.

Are you saying the language itself uses case to determine member visibility? That'd be like using white space to delimit statements; pure degeneracy
 
Last edited:
What do you think of magic methods and operator overloading? I'm unaware of any language that doesn't enforce a naming convention for those.
Single words or the occasional symbol aren't a huge deal. Formatting, like spacing and whatnot, pervades the entire program.
Are you saying the language itself uses case to determine member visibility? That'd be like using white space to delimit statements; pure degeneracy
Just the first character. In general I agree with you, but this is pretty restricted.
 
Back