With open core, you're working for free for the benefit of the leverage of a company to better position their secret sauce. It asymmetrically benefits the company more than everybody else. I only do that when I'm getting paid to do it.
299 karma · joined November 13, 2023
With open core, you're working for free for the benefit of the leverage of a company to better position their secret sauce. It asymmetrically benefits the company more than everybody else. I only do that when I'm getting paid to do it.
Once in a while as a treat, sure, given that they're basically crappy candies anyway, but you shouldn't be living on mostly breakfast cereals. The affordability argument dissolves when you're trying to actually get a reasonable nutritious balance from them, given that the average bowl of cereal gives you about a tenth your needed daily calories.
In a world where bikes had crumple space, seat belts, and didn't fall over, it might be different.
I agree with that. I agree with all of what you're saying. I don't think the pithy sayings are telling people to actively fail, though. The point is to not become overly avoidant of taking on ventures because of a fear of failure. And I think the avoidance of failure is a bigger thing than you're making it out to be. Most people who I know who don't achieve their goals and dreams fail to do so because they simply never start, or they start and see how hard it is going to be and then give up. I know very few people who jump headlong into things and fail often, and they are also the people I know with the most successes in their lives. Anecdotal, but the fear of failure preventing people from attempting anything that they want to achieve is a real and very common thing.
Either way, if your 49 failures were unacceptable, then so we their 24 failures. This conversation was never about comparing ourselves to those who are better or worse, but about the meaning and acceptability of "failure".
Clearly, the word "failure" in this context is insufficient, because we all would agree that some failures are unreasonable and some are an absolutely normal and necessary part of personal growth.
I disagree that "failure is bad and should be avoided". The degree to which failure is bad and should be avoided depends entirely on the gravity of the consequences. When taking on an ambitious programming project, "failure" is just an unfinished project and a loss of time. It's clearly a different world than something like quitting your job to try to become a professional actor.
Judgement shouldn't be based on whether somebody is failing at something or how many mistakes they are making, but the comparison of the positive vs the negative consequences. When learning something new, you will always make many more mistakes.
The problem with both the pithy quotes and your response (which is, I think, largely reasonable) is that neither one actually defines any criteria for success or failure, or what is an "unreasonable" number of mistakes. It just ends up being a semantic disagreement over what they meant by "failure" and what you understand by "failure", and I think you'd probably end up largely agreeing in the end if you broke down and actually explicitly defined the meanings of the words used.
Yes it is. I love the borrow checker.
I agree that the grace period is also not a perfect solution, but I fail to see how anybody could consider the copyright trolls referenced in the article as anything more than predatory drains taking advantage of a legal technicality to drain money from innocent people. An honest typo regarding license text should not cost a person thousands of dollars, and copyright is one of the few places where it can do so, thanks to repeated lobbying and legal abuse.
You can technically coordinate many of the other things through external tools like email, but email sucks, and there is real value to having them all in one place.
Obviously, I'd rather have all these things part of the repo itself, like with Fossil. What's what Radicle is trying to do, it looks like.
I fail to see what `git rebase` has to do with issue trackers, project boards, wikis, repository notifications, or any of the other things that GitHub does. I use git forges as well as `git rebase`. Neither of these things precludes the other.
Not that curl bash is great, but it's not uniquely horrible when the goal is to run some unvetted code on your machine.
If you care about security, you have to either vet the code or trust the source. When you install through your package manager, you're trusting the maintainers. When you install from curl bash, a random website, or any unvetted software source, you are electing to trust the developers or site directly.
As a user experimenting with tools, ones written in Rust have justified these prejudices. They simply tend to be better.
It's an effective advertisement. I'm a little confused why there's always someone who brings it up. It's not like programming language makes absolutely no difference. If it's written in C or C++ and it's relatively young, I'll expect it to be unstable and to have a clunky and unpleasant interface. If it's in Go, I'll expect much better in stability, but with a funky CLI. If it's Python, I know it uses argparse, so at least the CLI will be consistent. If it's Rust, I expect it to be fast, to have very few or no panics, to have no memory issues, to have zero null pointer problems, and to use clap for a very consistent, predictable, and good looking CLI.
The language has built a good reputation; I'm shocked that commenters on HN have somehow avoided picking up on that and are perpetually surprised that it has a real audience.
It's always "You choose a door, the host reveals a goat behind another door. Do you switch?" The scenario does not include him revealing the car.
If he intentionally chooses a goat, switching gets the car 2 times out of 3.
If he chose randomly and just happened to choose a goat, switching doesn't matter. It's 50/50.
Of course, these aren't the only scenarios. As others have mentioned, if Monty can decide whether to reveal what's behind a door, he can act maliciously and only reveal a goat if you've already selected a car, and switching will always make you lose. Without knowing these constraints, a single answer isn't knowable, as you mentioned before.
You picked A, Monty showed you B, and you switch to get C.
You picked B, Monty showed you A, and you switch to get C.
You picked C, Monty showed you either A or B, and you switch to get the other goat.
So a 2 / 3 chance of getting the car if you always switch.If Monty is choosing randomly, we have the following scenarios:
Initial Choice | Monty's choice | Remaining Door
A | B | C
A | C | B
B | A | C
B | C | A
C | A | B
C | B | A
But we know in the problem statement that Monty hall showed us a goat, so we can eliminate possibilities 2 and 4 to get: Initial Choice | Monty's choice | Remaining Door
A | B | C
B | A | C
C | A | B
C | B | A
Whether you switch or not, you have a 50/50 chance.I'm not great with probabilities, but the major difference I can see is that in the first scenario, if you pick the car, Monty will either show you the goat A or B with equal probability as a part of the same 1/3 scenario. So you have really:
1/3: You picked A, Monty showed you B, and you switch to get C.
1/3: You picked B, Monty showed you A, and you switch to get C.
1/6: You picked C, Monty showed you A, and you switch to get B.
1/6: You picked C, Monty showed you B, and you switch to get A.
But in the second scenario, each of those options is actually 1/4, because he was choosing randomly. Most importantly, each option was a 1/6, but two options where you selected a goat were eliminated because those were ones where Monty selected the car.[0]: https://gist.github.com/Taywee/2ba202b1bf7af40293ecffb01c2ab...