• 3 Posts
  • 221 Comments
Joined 3 years ago
cake
Cake day: June 8th, 2023

help-circle
  • I think NeHe might still have tutorials on this, in C/C++. You probably want to be using OpenGL for acceleration and maybe the old fashioned immediate mode/fixed function stuff where you call functions like “We are drawing triangles now” and “here is a vertex” and “that vertex is blue”, and you can put off taking over the pipeline with your own shader code until later.

    You still might be letting the library/gpu do most of “the maths” because I think you mostly hand it transformation matrices and points and it sends them to screen space. If you take over the vertex shader then your shader code does that.

    You want to write a vector and matrix math library with 3-vectors and 4-vectors and 3x3 and 4x4 matrices, and add and multiply operations, and matrix inversion. The 4th dimension lets you make translation in 3D a linear multiply operation because you keep 1 in there and your matrix to represent a translation mixes that 1 into the other position coordinates to translate.

    You also probably want to learn linear algebra enough for that to make sense.

    And then on top of that you want to build a scene graph library where objects have parents they move with. And then your renderer loop will walk the scene graph node tree and push each object’s transformation matrix and draw it and do its children and then pop the transformation matrix off again.







  • If you need X months to build this product out so you can sell it, and after that Y months to become profitable so you can support yourself, you need to work out what your expenses are going to be for those months in total, and collect that much money. If nobody is going to invest it in your project (and if they did, I wouldn’t recommend taking it, because professional investors are the natural foe of the entrepreneur), you need to come up with that money yourself, which means you need to save it. Basically, you need to plan to retire for a few months.

    You need to look at the money you make and your expenses again, and you need the difference to be enough so that you can save up for the project in a reasonable amount of time.

    If that math doesn’t work, you need to change those numbers: the expenses need to be lower, or the amount you get paid needs to be higher. If you’re a programmer with a lot of experience, you should be being paid noticeably more than twice what a human needs to survive, so saving up for N months of eating pasta in a studio apartment in the middle of nowhere doing your project should only take 2*N. months of eating pasta in a studio apartment in the middle of nowhere doing your job. If you’re not making that much, your current job is underpaying you, so try unionizing, demanding a raise, or finding a new job to work at a bit before starting your project full-time.

    You can also look at options like grants (which are usually available for open-source work, but which might be able to help you end up with some sort of FOSS-based consulting outfit or open-core ecosystem), or going to grad school and turning your project into a research/thesis project done in collaboration with an advisor, or convincing your employer to let you work part-time so you can put in more hours on your project without needing to plan to have zero income.

    But, as other commenters have noted, building out the MVP is not really determinative of whether your business plan will actually work. So whatever you do, you will want to make sure you don’t have no plan for if the sales don’t start rolling in at month X+Y as you’d hoped, and you want to make sure you give enough attention to the business development and sales work that is probably actually most of the problem.













  • It would definitely reduce the attack surface. And even though Windows has “security” issues patched all the time, rarely are they ones so severe that you can just roll up to a machine and send it a weird HTTP reply and get admin access. Usually it’s stuff like if you have a shortcut file on disk it gets to run code when you look in the folder, or something. Not great for working with downloads, but hard to exploit unless at least one other thing happens (like visiting a malicious page, which then starts a download that the browser accepts).

    But the browser calls out to the OS to do a lot of stuff (render images, render fonts, play sounds, etc.). It mostly assumes the OS can do those things without popping open a remote shell because too many emojis were rendered in a row or something. That is not always true, and when it isn’t you want an OS patch to fix it before you go on a site where someone can post the Magic Emoji That Hacks You.

    But you are right that you can browse around trustworthy websites on an unpatched system behind a decent firewall for quite a while before you notice something bad happening. But also, a lot of bad things can have been happening for quite a while before you notice.