533 karma · joined November 4, 2015
The method described here nowadays goes under the name of CFOP (Fridrich's page made it very popular, so in former days it was referred to the "Fridrich" method). It's still popular and got refined over the years, see this excellent comment in this thread: https://news.ycombinator.com/item?id=37430854
Another interesting topic is the question which (cross) color you choose: There are 6 possibilities (colors) and in the beginning even top solvers preferred one color (white is the most popular) to simplify recognition ("where are my pieces?").
Later, top solvers switched to "color neutral" solving, which in theory gives you more efficient crosses, as you can choose the color that gives you the shortest solution. There even seemed to be consensus that if you want to be at the top you had to be color neutral.
However even more recently this has been challenged and "dual color neutral" (only choosing between white and yellow) seems to be the way to go.
The reason is that during inspection (in competition you have 15 seconds to "inspect" the cube meaning to plan your solution (partly) ahead of time) the selection process to choose the best cross obviously takes some time. There's a trade-off between investing time to plan the cross (and additional blocks) in inspection and selecting the color that should be preferred.
Aren't they?
This will probably be popular in both the left-anarcho-liberal and right-wing parts of population (the first to oppose mega-corp capitalism the second to oppose governmental control and also mega-corp). But so it is agreed on by most parts of the population (maybe for different reasons), and might just become popular (again).
Interesting times ahead, that's for sure.
Why not an established distribution like Fedora, Arch, Debian or Ubuntu?
Btw. I didn't know the joke and heard it for the first time and found it quite funny. ChatGPT does not get it.
> ChatGPT: [...] Instead, the punchline reveals that the man has actually quit drinking, which is unexpected and surprising, and effectively subverts the expectations that have been established in the setup of the joke.
But it only works because he is still drinking, I think ChatGPT does not understand anything here. If instead the joke would end with
> The man replies, "Oh, my brothers are fine. I just go hiking now myself."
I am pretty sure, ChatGPT will react similar.
EDIT: I actually tried it now (with small changes) and this is the dialog:
---- start of dialogue ----
Me: I will tell you a joke . Explain to me why it is funny.
ChatGPT: Sure! I'll do my best to explain why a joke might be funny. Please go ahead and share the joke with me.
Me: An old man walks into a pub and says, "Give me three pints of Guinness, please."
So the bartender brings him three pints and the man proceeds to alternately sip one, then the other, then the third until they're gone.
He then orders three more and the bartender says, "Sir, I know you like them cold, so you can start with one and I'll bring you a fresh one as soon as you're low."
The man says, "You don't understand. I have two brothers, one in Australia and one in the States. We made a vow to each other that every Saturday night we'd still drink together. So right now, my brothers have three Guinness Stouts too and we're drinking together."
The bartender thinks it's a wonderful tradition and every week he sets up the guy's three beers as soon as he enters in the bar. Then one week, the man comes in and orders only two. He drinks them, then orders two more. The bartender sadly says, "Knowing your tradition, I'd just like to just say that I'm sorry that one of your brothers died."
The man replies, "Oh, my brothers are fine – I just go hiking now myself."
ChatGPT: This joke is funny because it plays with our expectations. At first, we might assume that the man is simply a fan of Guinness and enjoys having three pints at a time. However, the punchline reveals that the man has been participating in a tradition with his brothers, who are each also drinking three pints of Guinness in different locations. The twist at the end, where the man reveals that he has taken up hiking and is no longer participating in the tradition, adds an unexpected and humorous element to the joke. The joke also relies on the use of misdirection, as the bartender initially assumes that the man's change in behavior is due to a tragedy, when in reality it is simply because the man has adopted a new hobby.
Me: But why would he order two pints then and not three beers - what is funny about that?
ChatGPT: The fact that the man orders two pints instead of three is an important part of the joke because it sets up the punchline. By ordering two pints instead of three, the joke creates a sense of expectation that something unexpected or unusual is about to happen. When the bartender expresses his condolences about the man's brother, it creates a moment of tension or suspense, as the audience wonders what could have caused the change in the man's behavior. The punchline, where the man reveals that he has taken up hiking and is no longer participating in the tradition with his brothers, resolves this tension in a surprising and humorous way. The joke works because it plays with our expectations and makes us think we know what is going to happen, only to subvert those expectations with the punchline.
---- end of dialogue ----
At least it reached maybe Homer Simpson's level of intelligence: "I get jokes. Haha."
In my experience (CNN based imagery segmentation) proven architectures (e.g. U-Net) performed similar with or without fine-tuning existing models (that have been mostly trained on imagenet, citiscapes, etc.) IF the domain was rather different.
At least in the field of imagery segmentation there is not much of a point in fine-tuning an off-the-shelf model on let's say medical imagery.
So maybe it's the same for the stable diffusion model. I don't see how some knowledge about the relationship between the prompt and given imagery describing that prompt should help this model map the prompt to a spectrogram of the given prompt.
But there are many capable languages to develop memory save web applications (Haskell, Go, Rust, Java, Python, TypeScript, Elm, Clojure, ...), so why would one choose one that's not save?
So even the AI struggles to learn it. :p
A very inspiring story.
And I spent way less time learning Go than learning Haskell.
Yes, I'm referring to programmer circle related social networks (HN, r/programming, ...).
> It's quite surprising that aside from Fortran, C derivatives and Rust, no one gives a damn about performance, but when it's haskell, it suddenly becomes a problem.
Because performance problems are particularly hard to solve in Haskell due to its high level of abstraction.
> Is that some kind of strawman where if haskell doesn't deliver on being touted as the gift of God to programmers, then it's bad?
Yes, given the fact that it's praised to such a high degree, users might have extremely high expectations, but are likely to be underwhelmed if it does not solve their problems in a vastly superior way.
And I say that as someone, whose top-rated comment in this thread is more or less a Haskell rant.
It's a good programming languages, but being "magnitudes better" is absolutely not true in my experience.
Maybe that was true 20 years ago, but most CS curricula offer mandatory (static) functional programming classes.
Sure, it's nice to implement parsers/compilers in it (see ̶N̶̶̶i̶̶̶x̶̶̶, Elm, DHall) and it's to some extent popular for backend web development, but I don't think the strong static type system is such an advantage as advocates want you to believe.
Of course it's safer (and faster) than dynamic languages like Python (Ruby, JavaScript), but in my personal opinion, you don't gain that much if you compare it to something like Rust, Java or even Go.
In particular the common abstractions (Monad, Applicative, Functor) are used very differently in different libraries (everyone seems to want to write her own DSL), so it's hard to get comfortable with third party libraries.
Furthermore it's still the case, that there's not much really interesting SW made in it. Some years ago you could argue, it's because of familiarity, but (static typed) functional programming is part of CS curricula for at least 10 to 20 years now.
Lastly it's just incredible hard to estimate runtime characteristics (clock-time, memory usage), because you never know which compiler optimizations kick in or not.
It's a nice language, but again, I don't think it's such a panacea as proponents often tell you.
And to be snarky: If Haskell is such an advanced language to make implementing reliable SW such a breeze, it should be part (maybe as a dependency) of more SW.
EDIT: Nix is implemented in C++ as correctly pointed out in a comment.
If Kubernetes does indeed provide the best solution to provide scalability and availability, one can argue that this would result in a decreased demand for dev ops engineers, as they "would just have to use Kubernetes" and it would decrease their workload.
In reality this does not seem to be the case, that's why I asked.
People use Airbnb to rent apartments and people use GitHub to develop and share source code for software.