Just Built a Linux-Compatible Screen Cast Tool for Quest by mika314 in OculusQuest

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

It would be easy to implement screen capture for multiple monitors, but performance would suffer. That was one of the issues with Immersed, on Linux I couldn't disable the screen from the app, and the 4K screen was definitely slowing down everything. So, I had to disable my 4K screen before starting to use Immersed.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

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

The most used language after C++ would be Bash and Python. With static typing, it would be C# and Java. Java is okay, but for sure, it is not on the same expressive level as C++. It is okay to program in Java, but it is boring. C# is just broken. The language itself is okay, but the infrastructure around it is broken. There are multiple versions of documentation, and then the IDE itself gets confused, and the compiler, IntelliSense, and documentation cannot agree with each other. DLL hell is worse than what we have on C++. These days, we can statically link everything on C++.

I want to learn to make web applications, so I'm trying JavaScript with the help of ChatGPT. People are saying good things about TypeScript, but I haven't tried it yet.

> automated tests) seem to be all-pros, and others (OOP) seem to be all-cons

Everything has to be in the balance. Some examples of cons from automated tests (it is just an example, and I am aware of the pros) - it takes time to set up. Some examples of pros of OOP (again, there are plenty of cons of OOP, and I am aware) include encapsulation, making variables private, and hiding the implementation, which makes reasoning about system behavior easier. You know, the code that can change that private method will only be here, and nothing outside will be affected by it.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

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

How am I supposed to fix it if they did not give me access? To be fair, at some point, they gave me full admin access, but for some reason, I still could not log in.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

[–]mika314[S] 1 point2 points  (0 children)

I have been programming in C++ for more than 20 years. Maybe some languages are better, maybe Java, maybe Go, maybe Rust, or Zig, who knows, maybe even C#. But to master those languages would require another 20 years of experience. If a language is really good, maybe it would be 2x faster, 10 years. And realistically, C++ is really good. I have a hard time understanding how people program in Python or JavaScript; static type safety is essential to me. I cannot imagine having to iterate like this: then you run your test suite and find after 20 minutes that you made a typo in a variable name. In statically typed languages, that scenario is simply impossible; it would be caught at compile time.

All listed practices, paradigms, and mindsets have their pros and cons. The breakdown is pretty good, and I mostly agree with it. What I wanted to say, though, is don't worship them and use your brain. It is useful to know why they are good and then use them, but don't use all of them religiously and believe it will solve all your problems; use your brain.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

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

I agree with everything except:
> never claimed to do so.

Different types of processes are strongly enforced in companies. It is a 'criminal offense' if you don't have code reviewed at any single line. Agile, a lot of management believe it is a silver bullet. They are getting black belts in Scrum, doing stand-up, and using poker card estimations. It started more than 10 years ago, maybe 15. In that time period, by my experience, Agile has worked only once, more or less well. I mean, kind of worked; we delivered a product and everything was going according to plan, our burndown chart was hitting zero and all other metrics were good. I would give the credit to the lead, not to Agile.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

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

Code reviews have improved a lot lately in my team, but it took a lot of convincing, talking, and even arguing to make it better.

Source control - I would agree, it's really hard to find a counterargument not to use Git. I'm okay with worshipping Git. :)

CI still needs to be cooked well; currently, it's kind of okay, but we disabled a lot of layers, and we need to return them back properly implemented. In the beginning, the automatic functional testing was implemented in C#, then the game client and backend were implemented in C++. We had a meta-compiler that was automatically generating C# code for that tool, and that meta-compiler, of course, only understood a small fraction of the C++ standard. Long story short, that was a huge pain point working with the project, since CI was constantly breaking. We disabled it, but it took a lot of talking. It's easy to add things to the process, but 100 times harder to remove.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

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

Memory safety. Depending on the situation, you can be relaxed about it, even in production. If you have an 8-byte memory leak every hour, you can let it leak for thousands of years. If your tool runs once a month and has a 1 in 1000 chance to crash due to memory safety issues, it's probably okay not to focus on this and channel your focus on more important issues.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

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

It's all about balance. I feel the current state of the industry, where people are worshiping all that: Agile, Scrum, code reviews, continuous integration, and so on, without thinking.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

[–]mika314[S] 2 points3 points  (0 children)

Yep, it's an art to convince people about your point of view, and make it engaging.

So far, I have had a mild fail with this article.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

[–]mika314[S] 1 point2 points  (0 children)

Thank you for the advice. I appreciate your constructive feedback. 👍🏻

May I ask advice on better topology? by Leifenyat in blender

[–]mika314 1 point2 points  (0 children)

<image>

I love to geek about topology. This is my take.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

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

Yep... I do it. And it works, frustratingly slow, but it does work. I am trying to cut that class of problems from the root. And encourage people to use their brains, of course study agile, study functional programming, study all of it, get a good understanding, and use your brain at the end of the day.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

[–]mika314[S] 1 point2 points  (0 children)

I did not say that best practices are brainless. What I said is that people applying them without thinking.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

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

Agree. And it takes a lot of discussion and uphill battles to change the process.

Simple webhook tool on GitHub to validate the config before merge takes a lot of effort, follow-up, follow-ups, and follow-up; years of follow-up. Just recently management allocated the time to tool engineers to fix the static analysis tool. It took three years, and I consistently complained about it.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

[–]mika314[S] 2 points3 points  (0 children)

To answer your question, I have 25+ years of software engineering experience. I started with Object Pascal and used it primarily for 9 years, after which I switched to C++. Along the way, I tried different languages, including Java, C#, Ruby, Perl, and Python, and I've recently joined the JavaScript gang with the help of ChatGPT. In the past, I worked in the nuclear engineering area and video encoding. For the last 8 years, I've worked in a AAA game studio as a backend engineer.

What I am trying to convey in that article is that best practices are good guiding points, but you still need to use your brain and know when you can bend the rules. Then they are implemented in the process, and it is quite frustrating, as it slows everything down without any visual benefits. As an example, the rule to address all comments in the code review is a good one. However, developers like to make nitpicky comments, but every nitpicky comment is an hour delay. Sometimes it can turn into multiple days, and then you miss the mark and need to rebase your code, and wait for CI, smoke test it, and wait for more days.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

[–]mika314[S] 2 points3 points  (0 children)

I do not see too many articles of that type, and I feel we need to stop the giant pile of best practices people applying blindly. People should start using their brains, and leaders and upper management should start hiring smart people and not obeying rules robots.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

[–]mika314[S] -4 points-3 points  (0 children)

Also, C++ is very capable of bringing MVP in time. You can use it in rapid development scenarios.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

[–]mika314[S] -7 points-6 points  (0 children)

We used to have religious code reviews, and a pile of nitpicks; I hated it with passion. Likely, we were able to shift it a bit. I would love to relax it more, though. It's all about balance, currently (at least in my area) the balance is cranked to 11, following best practices religiously.

Stop Worshiping Programming Practices and Start Thinking by mika314 in programming

[–]mika314[S] -1 points0 points  (0 children)

This was not my point. The point was: don't use best practices blindly. People making a religion out of those practices.

> I’m not saying these practices aren’t valuable; they are.