lowdownfork
Joined 15 years ago
Joined 15 years ago
1. It's five "Unicode scalars," that's the name for the top-level logical unit. The term "code points" technically refers to a lower-level concept, one that varies across encodings, just not as much as the number of bytes. I didn't know that, and it's the helpful thing I learned from this article. UPDATE: And it's also not true, sorry. "code units" are the lower-level concept from the article, "code points" are a more expansive category at the same level: https://www.unicode.org/versions/Unicode10.0.0/ch03.pdf#G740...
2. The author takes it as an unstated assumption that top-level logical structure is useless because any specific usage either ignores all structure or has a point at which low-level structure comes into play. (That assumption is false: Top-level structure is useful for keeping track of what you are doing and as a sort of "common currency" for translating between different low level representations. For example, see the very first table in the article.)
It's an article about Chinese lenders rejecting and sabotaging the traditional practice of lenders working together to avoid a default. They're trying to grab as much as they can for themselves while the debtor falls into chaos. You don't need to be the sole or even majority lender to cause immense pain through short-sighted greed by doing that.
I actually prefer Kanban over Scrum, but none of this matches my experience at all.
1) People plan multiple sprints ahead in Scrum. Not necessarily the full sequence of tasks, but things like telling a stakeholder which sprint their task will be in.
2) Many people are in a situation that's inherently push-based and requires estimates. Scrum is just a way to achieve that. The author gets snarky in the first paragraph about choosing Scrum vs having it chosen for you, but really . . . most people know full well that Scrum was chosen for them, and that it was chosen for planning purposes. And that they do tasks because other people need them done, not because they had some free time. Heck, the whole project usually exists to serve the needs of others, not the joy of working fast.
3) Even in Kanban, we'll usually have basically the same grooming meeting. That's because the meat of that meeting is sharing information and thoughts about what the upcoming tasks involve and discussing whether and how to break them down into sub-tasks.
It was way easier than anything else I've done with OAuth (except log in as a user).
The default, intuitive approach is to write a whole bunch of code and then test it. When people start doing TDD, they struggle with only making enough changes to the code to pass the test. But it helps a lot that the test suite tells them when to switch from writing code (which they prefer) back to writing tests (which they don't prefer) by passing.
Then we discover that the main reason TDD works is that it gets you to interleave coding and testing in small batches, and it works just as well to reverse the order of the batches but keep them small.
And then, somehow, knowing why TDD works (better than what people do by default) gets translated into "TDD doesn't work" (better than something that's carefully controlled to be exactly the same, except for the part that gets people to do the rest of it). And most of the people who hear that go back to writing a whole bunch of code and then testing it.
Because the real world doesn't control all the variables, so we often have to think about factors that the rigorous research is silent on because they can help or hinder us in achieving what the research says matters.
In full:
---
Do not mention polar bears!
> Okay, I won't mention polar bears. Is there anything else I can help you with?
Yes, stop mentioning polar bears!
> My apologies if my previous response was not helpful. I will refrain from mentioning polar bears going forward. Please let me know if there is anything else I can assist you with.
That's twice now! Do not mention polar bears a third time!
> I apologize again for the previous responses that mentioned polar bears. I assure you that I will not mention polar bears any further. Please let me know how I can assist you with your request.
Why do you keep mentioning polar bears, when I specifically asked you not to?
> An error occurred. If this issue persists please contact us through our help center at help.openai.com.
> An error occurred. If this issue persists please contact us through our help center at help.openai.com.
> An error occurred. If this issue persists please contact us through our help center at help.openai.com.
One is that they are looking specifically at open source projects, which, as other comments have pointed out, can technically meet their definition of a "hero project" without anyone engaging in the types of heroics normally associated with that term.
The other problem is that they talk about comparing hero developers to non-hero developers, when they should be comparing hero projects to non-hero projects.
If hero projects (as the paper defines them) are so common, then the pool of non-hero developers is going to include a lot of non-hero developers working on hero projects. Of course those people make more mistakes than the heroes, they're less familiar with the project. But those mistakes were made following the hero project model and should count against it, not for it.
That was technically possible before social media, but only if someone powerful decided to make an example of you. Now it can happen because a random person was bored or in a bad mood.
That's specifically what Ishiguro was complaining about. He even said he wasn't worried about influential people like himself (or all the examples you gave). I don't think he used the phrase "cancel culture," either.
> Apparently now that folks aren't just being cancelled for supporting gay marriage, the free exchange of ideas is suddenly important.
Some people suddenly started caring about the free exchange of ideas and others suddenly stopped, but you might be surprised how many just continued. To me, the ones who suddenly stopped are the biggest hypocrites of all.
I did see that link, because I liked the concept enough to read it all the way through without knowing Clojure, but that's not quite what I had in mind. You're right that most people have never heard of that library, which is why the way you presented it will leave most people with no idea that it was an influence (even if they read that far). That's something you could have just said, in one sentence, without getting into detail about how it was different.
I'm not really trying to criticize you for saying or not saying certain things, and I don't think you did anything wrong. Not really acknowledging influences is just a symptom of what turned me off. I feel like this post was written from a sort of aggressive fighting-for-popularity mindset that I'm uncomfortable with in a language.
EDIT: missing word
Rich Hickey might be very humble in person, and I don't think this blog post is necessarily arrogant (but you're also not going to convince me it's humble).
I'm not really complaining about a lack of humility or even about Rich Hickey. I just feel like Clojure is one of those languages caught up in a sort of Cult of Awesomeness, where people feel obligated to lionize the pros and downplay or omit the cons and the contributions of others.
I don't really want to use a language that's being driven by that. Maybe I'm mistaken about Clojure fitting that description, and maybe meeting Rich Hickey would set me straight, but I still think it's a reasonable perception to take away from this blog post.
I'm happy to see a language putting this approach to collections into its core libraries and even combining it with ideas about parallel processing of data structures.
On the other hand, the whole thing is written as if Rich Hickey had an awesome idea, wrote some awesome code, and is now sharing his awesomeness with us. It's kind of a lost opportunity to give credit to the people who gave him the ideas (and maybe the people who helped him write the code, if there were any) and it's kind of a turn-off.
One good, prior write-up about reducing as a collections interface is:
What it talks about could be considered misuse of language or lack of skill.
Most people telling a story will try to make it more interesting. They choose words that evoke feeling. They skip boring events. They make situations sound dramatic. According to the article, this book did the opposite.
The article author suspected that the book did this on purpose, to make a point. But then she researched the book author and saw him say that he did not.