![](/static/790fef6/assets/icons/icon-96x96.png)
![](https://lemm.ee/api/v3/image_proxy?url=https%3A%2F%2Fprogramming.dev%2Fpictrs%2Fimage%2F662a455d-1090-45ad-994e-302f8bfcd56e.png)
I like the problem solving description, I actually went through a similar learning process leading to bitset recently. It was very satisfying!
However, I just have to ask a question: What is the reason you didn’t just use UUID?
I like the problem solving description, I actually went through a similar learning process leading to bitset recently. It was very satisfying!
However, I just have to ask a question: What is the reason you didn’t just use UUID?
Since you have all your shutil.copytree
s and sys.path
manipulation at the top level of the test modules, they are executed the moment those modules are imported. unittest
likely imports all discovered test modules before actually executing the tests so the set up of both modules is executed in random order before the tests are run. The correct way to perform test setup is using setUp
and setUpClass
methods of unittest.TestCase
. Their counterparts tearDown
and tearDownClass
are used to clean up after tests. You probably will be able to get this to work somehow using those methods.
However, I’m fairly certain that this entire question is an example of the XY problem and you should be approaching this whole thing differently. Copying the modules and their mock dependencies into a temporary directory and manipulating sys.path
seems like an absolute nightmare and it will be a massive PITA even if you get it to a working state. I don’t know what problem exactly you’re trying to solve but I think you should really read up on unittest.mock
and even more importantly on dependency injection.
This is great news but I just have to say it: we need Proton Drive on Linux. Still very happy though.
Software development and computer stuff in general is my passion. I enjoy doing it as a hobby even after doing it at work. If I didn’t have to work for money, I would probably work on some open source software. In fact that’s kinda my dream / goal - achieve financial independence and work on open source as I please.
Very interesting experiment. Thanks for sharing! Maybe I’ll find some time to run the benchmarks on my Pixel 7 in the upcoming days.
But… How do you even know you can smell ants? Why did you try it? Or can you smell them from meters away?
But… How do you even know you can smell ants? Why did you try it? Or can you smell them from meters away?
I don’t see how this supports your point then. If “setting up proxy” means “packaging it to run on thousands user machines” then isn’t there obvious and huge potential for a disastrous fuckup?
I might be wrong but I assumed it’s perfectly obvious to OP and it’s the kind of joke where something is funny because you stretch the meaning to read it literally. I chuckled actually, despite it making perfect sense.
Setting up proxy is not engineering.
Man, I didn’t get what I’m looking at at first. But after reading the description and watching the video - pretty amazing!
Of course, but when indentation has a syntactic meaning the formatter often won’t be able to fix it.
It’s probably more prone to mistakes like that, true. But in practice I really never witnessed this actually being a problem. Especially with tests and review.
Yeah, that’s definitely a good point. But it’s a minor thing. Adjusting indentation takes 2 keystrokes in vim, I barely notice it.
Ente is as close as you can get to Google Photos with E2EE right now. I recently migrated there. The migration wasn’t painless and involved some scripting to handle albums and duplicates but the service itself is really good. Can recommend!
I really hope this happens. NFC payments are the only thing that keeps me from switching to GrapheneOS. Seeing how the situation with big tech unfolds, it’s not impossible that I will decide to give up this convenience though.
So I’m going to say what I always say when people complain about semantic whitespace: Your code should be properly indented anyway. If it’s not, it’s a bad code.
I’m not saying semantic whitespace is superior to brackets or parentheses. It’s clearly not. But it’s not terrible either.
As someone who codes in Python pretty much everyday for years, I NEVER see indentation errors. I didn’t see them back when I started either. Code without indentation is impossible to read for me anyway so it makes zero difference whether the whitespace has semantic meaning or not. It will be there either way.
I absolutely love the videos on this channel, this one being one of the best published yet. I’m literally blown away by the level of detail and clarity. I think I’m going to watch it more one time…
Exactly this worked for me. Just be consistent until it sticks. It can take months, easily. But it works in the end. 10:30 pm - 6:00 am is now baked into my mind and I usually just wake up naturally like 10 minutes before the alarm. I actually love it 😁
Ah, I didn’t think about this. Thanks for the explanation!