The author is also hyping up waterfall too much. Agile was created because waterfall has its shortcomings (e.g. the team realizes too late that what they’re building isn’t what the customer wants).
But I also think it also represents how poorly implemented these ideas are. People say they do agile/kanban/scrum, but in reality they do some freak version of these.
It’s barely waterfall planning either. Often there’s no planning, at least no coordinated one.
Currently at my current workplace we lack coordinated planning between teams. It seems like everybody is working in their own directions and it can take months until we get feedback from other teams. Mostly a product management problem.
I don’t think it’s an unpopular opinion, but I’m not sure how YouTube can deal with it best. There’s sponsor block, but it’s relying on crowdsourced data.
It’s a poorly worded article. YouTube premium “limits ads” as in being completely ad free (besides in-video sponsorships). YouTube hasn’t gone down that route yet.
Not true 128 bit. It has 128 bit SIMD capabilities, but that’s about it. Probably mostly because of marketing reasons to show how much better it is than N64 (which also is “64 bit” for marketing reasons).
By “certain distance function”, I mean a specific function that forces the problem to be O(n!^2).
But fear not! I have an idea of such function.
So the idea of such function is the hamming distance of a hash (like sha256). The hash is computed iterably by h[n] = hash(concat(h[n - 1], l[n])).
This ensures:
We can save partial results of the hashing, so we don’t need to iterate through the entire lists for each permutation. Otherwise we would get another factor n in time complexity.
The cost of computing the hamming distance is O(1).
Order matters. We can’t cheat and come up with a way to exclude some permutations.
No idea of the practical use of such algorithm. Probably completely useless.
Good effort of actually implementing it. I was pretty confident my solution is correct, but I’m not as confident anymore. I will think about it for a bit more.
Time complexity is mostly useful in theoretical computer science. In practice it’s rare you need to accurately estimate time complexity. If it’s fast, then it’s fast. If it’s slow, then you should try to make it faster. Often it’s not about optimizing the time complexity to make the code faster.
All you really need to know is:
Array lookup: O(1)
Single for loop: O(n)
Double nested for loop: O(n^2)
Triple nested for loop: O(n^3)
Sorting: O(n log n)
There are exceptions, so don’t always follow these rules blindly.
It’s hard to just “accidentally” write code that’s O(n!), so don’t worry about it too much.
So in your code you do the following for each permutation:
for (int i = 0; i<n;i++) {
You’re iterating through the entire list for each permutation, which yields an O(n x n!) time complexity. My idea was an attempt to avoid that extra factor n.
I’m not sure how std implements permutations, but the way I want them is:
1 2 3 4 5
1 2 3 5 4
1 2 4 3 5
1 2 4 5 3
1 2 5 3 4
1 2 5 4 3
1 3 2 4 5
etc.
Note that the last 2 numbers change every iteration, third last number change every 2 iterations, fourth last iteration change every 2 x 3 iterations. The first number in this example change every 2 x 3 x 4 iterations.
This gives us an idea how often we need to calculate how often each hash need to be updated. We don’t need to calculate the hash for 1 2 3 between the first and second iteration for example.
The first hash will be updated 5 times. Second hash 5 x 4 times. Third 5 x 4 x 3 times. Fourth 5 x 4 x 3 x 2 times. Fifth 5 x 4 x 3 x 2 x 1 times.
So the time complexity should be the number of times we need to calculate the hash function, which is O(n + n (n - 1) + n (n - 1) (n - 2) + … + n!) = O(n!) times.
EDIT: on a second afterthought, I’m not sure this is a legal simplification. It might be the case that it’s actually O(n x n!), as there are n growing number of terms. But in that case shouldn’t all permutation algorithms be O(n x n!)?
The time complexity can be simplified as O(2.71828 x n!), which makes it O(n!), so it’s a legal simplification! (Although I thought wrong, but I arrived to the correct conclusion)
END EDIT.
We do the same for the second list (for each permission), which makes it O(n!^2).
Finally we do the hamming distance, but this is done between constant length hashes, so it’s going to be constant time O(1) in this context.
Maybe I can try my own implementation once I have access to a proper computer.
I’m taking into account that when I update a hash, all the hashes to the right of it should also be updated.
Number of hashes is about 2.71828 x n! as predicted. The time seems to be proportional to n! as well (n = 12 is about 12 times slower than n = 11, which in turn is about 11 times slower than n = 10).
Interestingly this program turned out to be a fun and inefficient way of calculating the digits of e.
Governments are incentivized to match people to combat declining birth rates. Lower birth rates means fewer productive people to support an aging population. It’s also loss in taxes.
This has the same vibes as old people complaining about things kids do. “Why don’t they listen to the radio and play with sticks in the woods like I did? Kids these days are just listening to rock music and reading comic books.”
Social media is here to stay and putting warning labels on it won’t do a damnest. Kids will still use it because the option would be not to be included in their friend groups.
Why are people happy or approving of AI on apple products, when it seems like the same thing was treated (rightly) horribly when Microsoft just did it....
In this day and age of source control I don’t think this is fully necessary. If you want to know the why, you can look into the commit history and see which ticket is connected to it. There you might even see the discussions around the ticket as well. But this requires good source control discipline.
It's like if you were bilingual, you don't write every sentence in both languages, because that is twice as much text to maintain (and read).
This is a very good analogy. And just like with natural languages, you might have an easier time expressing an idea in one language but not the other. Comments should provide information that you find difficult to express with code.
Going back to the original ticket can offer far more info than what any “why” comment can give. You can see how old it is, if there are any connected tickets, who were involved with it, step by step instructions how to reproduce the bug, etc.
That skull crushing weapon is so satisfying to watch.
Judging from the trailer it looks like we will see more open arenas. Good to see they won’t try to make a repeat of Eternal and instead try new ideas. Looking forward to see how it plays out.
I always got the feeling that this game was seen as a classic. I never owned a Gamecube growing up, but I'm pretty sure I remember my friend having one and playing Sunshine a bit (although he was way more into Zelda and Smash)....
It’s a bit hit and miss. Some parts are glorious. Other parts are just frustrating.
There’s too many parts that are “Oh you failed this jump? Now you need to start all over again”. I’m thinking especially on that Yoshi mission in Ricco Harbor.
Or that lilly pad bonus level on that island that you must bring Yoshi to, but Yoshi can’t swim so you need to ride those slow ass boats. Ensure you don’t miss any jump, because then you need to start all over again.
The visuals are incredible for its time. The water is one of the most beautiful on that generation.
It’s a game that could’ve benefited from being easier, or at least be more forgiving. I just want to soak in all the visuals.
Stop use docker ( lemmy.world )
Explaining software development methods by flying to Mars
week 0: top 7 comments get played in a random order, legal or not ( lemmy.world )
YouTube Seems to Be Cracking Down on a VPN-Powered Discount ( gizmodo.com )
Why we don't have 128-bit CPUs ( www.xda-developers.com )
Not everything can be done in constant time, that's O(k) ( sh.itjust.works )
Embracer rolls out new AI policy to 'massively enhance game development' | Game Developer ( www.gamedeveloper.com )
Article textNewly-restructured Swedish conglomerate, Embracer Group, will leverage AI models to bolster game production....
Apple is halting its next high-end Vision in favor of something cheaper ( arstechnica.com )
Majority of Japanese support government-run dating apps ( www.asahi.com )
Instructions were unclear:gotta be precise with that anotating tool ( unfufadoo.net )
Tobacco-like warning label for social media sought by US surgeon general who asks Congress to act ( apnews.com )
Software licenses ( lemmy.world )
Stop comparing programming languages ( programming.dev )
Stop comparing programming languages...
Apple AI vs. Microsoft AI
Why are people happy or approving of AI on apple products, when it seems like the same thing was treated (rightly) horribly when Microsoft just did it....
Programming as a hobby means I can do whatever I want! ( sh.itjust.works )
this is what peak web traffic looks like
University Students
Comment from my group project teammate. You don't need to comment every line lol
DOOM: The Dark Ages | Official Trailer 1 (4K) | Coming 2025 ( www.youtube.com )
We are so back
C++
In honor of the late William Anders, here's a really great video on the "Earthrise" photo and how improbable it is that we have it at all ( www.youtube.com )
Study finds 268% higher failure rates for Agile software projects ( www.theregister.com )
We all knew it
What is the consensus on Super Mario Sunshine?
I always got the feeling that this game was seen as a classic. I never owned a Gamecube growing up, but I'm pretty sure I remember my friend having one and playing Sunshine a bit (although he was way more into Zelda and Smash)....