• 3 Posts
  • 41 Comments
Joined 1 year ago
cake
Cake day: July 24th, 2023

help-circle
  • For a first time don’t try to get the strongest character possible. It’s a time sink to do that. Usually the main campaign of games are beatable even if you screw up something. The worst that can happen is you backtracking a bit and spending time to level up before doing the next quest.

    When you played the game once and got used to the mechanics you can make a 2nd char and plan it more deeply ahead if you wish. You know what mechanics you like so the prospect of finding what to invest in what is worth etc… becomes more streamlined. But you don’t have to. You can just be happy to have finished the game and call it a day.

    That’s what I did for Diablo 4. After the main campaign I did not feel like venturing more into the game or making another character so I started playing another game. If you really want to 100% a game it does require a ton of time and planning but you don’t have to



  • There are techniques like abstract interpretation that can deduce lower and upper bounds that a value can take. I know there is an analysis in LLVM called ValueAnalysis that does that too - the compiler can use it to help dead code elimination (deducing that a given branch will never be taken because the value will never satisfy the condition so you can get rid of the branch).

    But I think these techniques do not work in all use cases. Although you could theoretically invent some syntax to say “I would like this value to be in that range”, the compiler would not be able to tell in all cases whether it’s satisfied.

    If you are interested in a language that has subrange checks at runtime, Ada language can do that. But it does come at a performance cost - if your program is compute bound it can be a problem


  • Why would you have to choose between tests and compiler checks? You can have both. The more you have the less chance of finding bugs.

    I would also add that tests cannot possibly be exhaustive. I am thinking in particular of concurrency problems - even with fuzzing you can still come across special cases where it goes wrong because you forgot a mutex somewhere. Extra static checks are complementary to tests.

    I think you can write “unsafe” code in Rust that bypass most of the extra checks so you do have the flexibility if you really need it.





  • I love that software. It’s so simple - no need for much clicking you can do a lot with just the keyboard.

    I love particularly how there is no bloatness. Creating a new task is as simple as pressing ctrl+a (or shift+a), typing the name and pressing enter. Creating a subtask is just pressing ‘a’ on the task and type the name.

    There is jira integration so I can import my jira tickets and make my own local subdivision in smaller tasks that do not need to be thoroughly described or shared. The status of the jira tickets can be updated from the app directly

    There is a pomodoro plugin that works well minor some bugs (don’t ever choose “close” when prompted to skip the break or go back to work)

    Wonder what did I do last week for writing a summary? Just look at the history in the app

    I really love it and can only recommend it for personal planning


  • Yes, getting into a new project is hard. Even when you do know the languages and frameworks it’s still hard because you have to get into the mini ecosystem that the developers of that project built. In companies there is usually an expected amount of time (days? weeks? Months? Varies on the project) where a new developer is not really expected to do anything major, just getting used to the project.

    I do not know if you are professional or hobbyist. But coding takes a lot of time, a lot of it is spent on just figuring out how you will code this or that feature ; then another bunch of time is spent debugging ; and finally, yet another bunch of time is spent integrating your new feature. That’s why it’s a whole job, and that’s also why you need a ton of free time to do this as a hobbyist.

    But the good news is that once you spent that upfront time to get into the project, you can code more efficiently (that is, get right to the features you want to make) and you will also spend a little bit less time getting into other projects because although projects are different, there is always some level of organization that remains similar. The more advanced you become, the quicker you can get into a “production” state where you can code right away thanks to spending less time figuring out how things work.



  • The Christian Bible’s Matthew 24 had a prophecy that is about to become historical-fact, in the coming decade.

    Here’s a decent version of it:

    https://www.biblegateway.com/passage/?search=matt+24&version=AMPC

    That bit around verses 15-20 is the pertinent area.

    Simply wait 1 decade, and see: if Israel still exists, as a country, in 2033, I’ll eat a hat.

    The nice thing about prophecies is that they can never be proven to be false. Indeed, one would have to examine the future to prove it wrong. Which is either impossible or unrealistic.

    Me too I can make a ton of prophecies and claim they will be eventually right. I will never be wrong.

    Let’s see. Let me prophesize that:

    • The US will cease to exist
    • We will encounter aliens
    • See where you are living right now? Eventually, it will be filled with lava.
    • See where you are living right now? Eventually, it will be flooded with water.
    • A giant comet populated with nyan cats will crash on Earth

    However, you can be sure that in 2033 I will come back in this thread and have you eat a hat. Marking the date and the link in my calendar. If lemmy is still alive, that is



  • Yeah exactly. Here follows some spoiler for those who have never played Dark Souls

    spoiler

    Once you escape from the asylum you can get to the catacombs right away. I did that and got my ass kicked so I figured I was not supposed to get there first.

    So I went up towards the upper Bell. Which I did ring. But then afterwards it looked so clear to me, especially as you unlock the shortcut to Firelink : yes ! The other bell must be down in the catacombs! So I headed there.

    I struggled a lot to handle all the monsters. I kept going until the valley where you face skeletons on wheels and the black Knight. I figured “no something isn’t right, I don’t think the game is supposed to be that hard. There are tips on the ground about using a divine weapon but I don’t even know how to get one.”. I read a post online and figured I went the wrong way… Once again

    Once I fixed that and went the right way things got significantly easier. I heard how some players literally got down to the catacombs from the get go and somehow managed to get to the boss door only to be met by a yellow fog that can’t be passed, and how they struggled to get back to firelink without getting killed…

    The bottom line is that I think you need to have someone telling you where not to go to really enjoy Dark souls. Because its not obvious whether you die because of your incompetence or just because you were not supposed to be there right now. I wouldn’t say its bad design though - but it’s not for everyone for sure





  • They are for providing special hardware for Neural Network inference (most likely convolutional). Meaning they provide a bunch of matrix multiplication capabilities and other operations that are required for executing a neural network.

    Look at this page for more info : https://www.nvidia.com/en-us/data-center/tensor-cores/

    They can be leveraged for generative AI needs. And I bet that’s how Nvidia provides the feature of automatic upscaling - it’s not the game that does it, it’s literally the graphic cards that does it. Leveraging AI of video games (like using the core to generate text like ChatGPT) is another matter - you want to have a game that works on all platforms even those that do not have such cores. Having code that says “if it has such cores execute that code on them. Otherwise execute it on CPU” is possible but imo that is more the domain of the computational libraries or the game engine - not the game developer (unless that developer develops its own engine)

    But my point is that it’s not as simple as “just have each core implement an AI for my game”. These cores are just accelerators of matrix multiplication operations. Which are themselves used in generative AI. They need to be leveraged within the game dev software ecosystem before the game dev can use those features.