![](/static/66c60d9f/assets/icons/icon-96x96.png)
![](https://programming.dev/pictrs/image/170721ad-9010-470f-a4a4-ead95f51f13b.png)
Hmm, maybe I am missing the point. What exactly do you mean by handling automatic updates in place? Like, the program that requires and parses the config file is watching for changes to the config file?
Hmm, maybe I am missing the point. What exactly do you mean by handling automatic updates in place? Like, the program that requires and parses the config file is watching for changes to the config file?
Until someone cannot tell the difference between tab and space when configuring or you miss one indentation. Seriously, whoever thinks indentation should have semantic meaning for computers should burn in hell. Indentation is for us, humans, not computers. You can write a JSON with or without indentation if you want. Also, use JSON5 to have comments and other good stuff for a config file.
Yep. Much like we don’t treat phone numbers like a number. The rule of thumb is that if you don’t do any arithmetic with it, it is not a “number” but numeric.
Yeah, nevermind, I didn’t know what I wrote either. I need my sleep lol.
Depends on the application. When the user is able to set the schema via database, then you cannot assume the shape of the data.
I prefer CUID
Just to clarify: Yes, I do know not all use cases are appropriate for CUID. But in general when generating ID, I’d use CUID2
It is worse in HW prototyping where sometimes loose wire is all over the place
Not at all. It is indeed helpful to differentiate between an iterable and literal list. After all, sometimes it will bite you in the ass when you don’t differentiate between the two.
No problems. Learning a new concept is not stupid. So you are familiar with C. In C term, you are likely to do something like this:
int a[10] = {0}; // Just imagine this is 0,1,2,etc...
int b[10] = {0};
for (int i=0; i < 10; i++) {
b[i] = a[i]*2;
}
A 1 to 1 correspondent might looks like ths:
a = range(10) # 0,1,2,etc...
b = []
for x in a:
b.append(x*2)
However in python, you can then simplify to this:
a = range(10) # Same as before, 0,1,2,etc...
b = [x*2 for x in a]
# This is also works
b = [x*2 for x in [0,1,2,...]]
Remember that list comprehension is used to make a new list, not just iteration. If you want to do something other than making a list from another list, it is better to use iteration. List comprehension is just “syntactic sugar” so to speak. The concept comes from functional programming paradigm.
You can. Whatever the method returns will be the element of that list. So if for example I do this:
def mul(x):
return x*2
list = [mul(value) for value in range(1,20)]
It will have the same effect. But this:
def mul(x):
return
list = [mul(value) for value in range(1,20)]
Will just makes the list element all None
Edit to add more: List comprehension works not from the range function. Rather, the range function is returning a list. Hence the name, “list comprehension”. You can use any old list for it.
What it did under the hood is that it iterates each element on the list that you specify (the in ...
), and applies those to the function that you specify in the very first place. If you are familiar with the concept of Array.map
in other languages, this is that. There is also a technical explanation for it if it helps, but it requires more time to explain. Just let me know if you would like to know it.
List comprehension is not whatever you’re doing there. An example of list comprehension:
list = [value*2 for value in range(1, 20)]
See, list comprehension is used to make a list from an existing list. The value of the new list is defined by a function. In this case, the value of a will be 2,4,6, etc.
Your current syntax list[...]
, is trying to access an element of a list.
To be honest, that is one rad use cases. Games usually don’t have privacy concern as much as day to day usage. The problem is the fucking recall works by denylist instead of allowlist
Instagram by Meta has started using user generated content for their training data. Naturally users are upset about this and are flocking to a new platform named Cara made by an artist which has principle and are actively fighting for artist copyright. Cara uses Vercel to host their platform. The problem is that the sudden influx of users means bigger bills to pay to handle those traffic (I think they are billed around ~$96k). As of now, it is unclear how they will proceed to pay the bills. The creator of Cara didn’t want to compromise his stance by accepting any money willy-nilly, but also acknowledged that angel investors are not easy to find.
Most probably, yes
What the fuck are you talking about? Do you think the license being used is not legally binding? What constitutes as legally binding to you?
“What if the test fail?”
*Write a test for the test
Ahh, then the modification must be done on the AST level not the in-memory representation since anyway you do it, you must retain the original.