Maybe something like this?
https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests
Maybe something like this?
https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests
I'm sure it made sense at the time. I'm still salty that I can't do much by telneting to port 25 and typing SMTP. But I do appreciate sender validation, so I guess it's worth it.
Yeah I don't know much about it. I just know our company has an internal API and the project owner was telling me about all the shit they have to do beyond just sending emails. What a headache!
(don't get me started on developing all that in-house. It's "historic" code)
Isn't that part of the reason people use Sendgrid/Mailgun?
The only time I've had to deal with bulk mailing, those seemed to do everything I expected, and emails mostly weren't marked as spam.
Funny thing about emails : it appears that the main difficulty isn't sending them, rather it's how to do it without being detected as spam.
Much appreciated
Can not be accessed through Javascript anyway
Accessible through so called "User Agent", you could install User Agent changer addon to make your machine like its running different operating system/ web browser
when resist fingerprinting is enabled, local time is not shown, instead it always think your time is UTC
Windows sandbox? Or sandboxie I suppose
by sensitive information I'm referring to
Can I prevent javascript from running specific command that retrieve these information?
Browsers typically ask you to grant permission before sharing sensitive information.
Could you be more specific? What senstive information?
Actual pattern-matching allows matching on the structure of a data type
That's a condition, so it can fit in a ternary.
Probably just my general dislike of verbosity 😅
Yeh, I'd just do early return.
It's not much more typing, and I find it easier to read and navigate specific conditional paths.
Some built in pattern matching would be cool (like the when keyword), but I'm not going to force it into my code
Interesting and valid point, but Kotlin's when is not actually pattern-matching. It really is just syntactic sugar for if-else, like you've demonstrated.
Actual pattern-matching allows matching on the structure of a data type. So, you formulate a pattern to describe the structure and then you can choose different code paths based on whether the pattern matches or you can also access fields inside of this data type.
Rust allows pattern-matching even in variable assignments, which is going to look funky, but I think it shows quite well that pattern-matching isn't just a fancy switch statement: https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=3a8d126fa0cb9736597793915b00dd5d
So what happens is that:
When someone writes this in Rust:
let x = 1;
It's still pattern matching under the hood, but the pattern x is just a singular wildcard, so the right-hand side just gets 'assigned' to that variable name.
And with these simple examples, you might think that being able to access field values this way is silly, since you can also access them via my_data_type.foo, but it becomes more useful with deeply nested data types, and in particular in statically typed languages, it allows you to work with different data types without type casting. So, it would be more useful of a feature for TypeScript than it might be for JavaScript.
This is probably just my general dislike of chained ternary operators, but why not just write this out the "long" way to make intention clearer?