cafeinux
>The name comes from the ~~seeds~~ fact that ripe seed pods explode when touched to disperse seeds widely.
"What team do you support? Has it always been the case? How do you think they compare to <well-known other good team>?" "What car do you drive? Any particular reason for that car model? What's the brand's best and worst things? Oh, that piece tends to break easily; pardon my ignorance, but what's the purpose of it?" "Any key difference in the way you hunt/fish this or that animal, or the time of the year during which you hunt/fish? I don't know that word, what does it mean? Do you have any anecdotes about some hunting/fishing you did?"
Those have to be adapted to the person and situation, but they are pretty good to keep a conversation going. People love to speak about their interests, and a lot love to even teach about them. Putting yourself as the listener makes them perceive you as nice, and you might even gather interesting information to yourself, or at least gather enough knowledge to have an easier time speaking about it next time.
Splitting a deck in subdecks can be done through tags, and every card has a unique ID field (usually the front, but you or the creator of a deck can define another one). Assuming tags is the only field you change, when you re-import an updated deck into your collection, Anki will match the IDs and you can define it's behavior when it comes to new or already existent cards.
Is that an LLM hallucination?
Still, the code lives in a git repo, so it's not excluded that I'll make it evolve to something more generic and maintainable in the future. But today, it's my own little dirty code that I will jealously keep and hide like that lewd drawing I did when I was a teenager.
Because I like using Anki to help me remember, I started copy-pasting stuff from that course to a spreadsheet to then export it as a CSV to import into Anki.
One thing leading to another, my spreadsheet quickly ended with weird formatting everywhere that would be converted through macros to HTML tags to style the resulting Anki notes.
This was still implying much manual work, so I finally figured I could just scrape the lessons for which I want notes via some script, and get the resulting CSV with a simple command.
I'm been working on that scraper for two weeks now, and I just realised yesterday that that's the most time I've spent on a side project since too long to remember, and it brings me joy and motivation in the evenings and weekends. Also, apart from the occasional script, I haven't wrote a line of code for years, and I don't know why I ever stopped coding since I love this so much. And last but not least, I decided to go for Python, and I've never learnt Python so it's quite a challenge but also a satisfactory experience.
All in all, this side project is spaghetti code with a dirty hacks sauce, I would never open-source it, and it's never going to be useful for someone other than me.
But it feels like I'm dusting off my brain, and rediscovering skills and passions I had long forgotten. Like finally waking from a long slumber. I'm currently a bit depressed, struggle to focus, and feel burnt out, but at least I am motivated by something and I create something for me, and this makes all the rest bearable.
This being said, time for my daily nitpicking: 7÷0.35=20, not ~21. Although I agree that 20 ≈ 21.
All in all, it's a control that helps you maneuver a 2 tons vehicle, like your wheel, your gas pedal and your brake pedal.
I personally think this kind of control should never depend on a flimsy touchscreen that can break or bug more easily than a mechanical control (although I agree it's less important that the wheel and pedals).
I followed some introductory course to UX a few years ago, and this seems to go against the very essence of what I remember of it, which is mainly "put things where the user expects them, officialize the desire paths"...
// Knight, tells the truth
K(a) { return a }
// Knave, lies
k(a) { return !a }
// Joker, flips a coin
J(a) { return random(true, false) }
We can craft a question that will make the Knights and Knaves always return the truth. This could be "What would you answer if you were asked if $goblin is the $role?". This question will be noted Q(recipient,goblin,role), and here's what it returns depending if the recipient is a Knight, Knave or Joker. $goblin is $role | K | K(K) | k | k(k) | J | J(J) |
T | T | T | F | T |T/F| T/F |
F | F | F | T | F |T/F| T/F |
If we didn't have the Joker and wanted to determine the two goblins roles, it would be as easy as asking this question to one of the two goblins.Now we add the Joker, but we also can ask two more questions. We need to use those two questions to determine who is the joker, so we can discard him and use our last question to discriminate the two remaining goblins.
The 3 goblins will be noted G1, G2, and G3.
Let's ask Q(G1,G2,J).
Two possibilities:
1. The answer is "Yes" (true), either G1 is the Joker or G2 is the Joker. -> G3 is not the Joker.
2. The answer is "No" (false), either G1 is the Joker or G2 is not the Joker. -> G2 is not the Joker.
Now that we know at least one goblin who is not the Joker (whether they are G2 or G3, I'll call them ¬J), we can ask them the question, this time about the first goblin. Q(¬J,G1,J) 1. The answer is "Yes", G1 is the Joker, the other two are not. 2. The answer is "No", the remaining goblin is the Joker.
I now know who is the Joker, meaning the other two goblins are either a Knight or a Knave.
Ask Q(¬J1,¬J2,K) and you'll know who is the Knight and who is the Knave.
In summary, the scenarios are as follows:
Q1 | Q2 | Q3 | G1 | G2 | G3 |
Q(G1,G2,J) | Q(G3,G1,J) | Q(G3,G2,K) | J | K | k |
Q(G1,G2,J) | Q(G3,G1,J) | ¬Q(G3,G2,K) | J | k | K |
Q(G1,G2,J) | ¬Q(G3,G1,J) | Q(G3,G1,K) | K | J | k |
Q(G1,G2,J) | ¬Q(G3,G1,J) | ¬Q(G3,G1,K) | k | J | K |
¬Q(G1,G2,J) | Q(G2,G1,J) | Q(G2,G3,K) | J | k | K |
¬Q(G1,G2,J) | Q(G2,G1,J) | ¬Q(G2,G3,K) | J | K | k |
¬Q(G1,G2,J) | ¬Q(G2,G1,J) | Q(G2,G1,K) | K | k | J |
¬Q(G1,G2,J) | ¬Q(G2,G1,J) | ¬Q(G2,G1,K) | k | K | J |
PS: If we assume that "What would you answer if you were asked if $goblin is the $role?" is forbidden because the Joker cannot know in advance what he would answer if they were asked if any goblin is any role, since it depends on their coin-flip, meaning that they wouldn't know what is the truth and what is the lie, and thus they cannot lie or tell the truth reliably, we can switch the question for "If you were asked if you were the truth-teller, or if you were asked if $goblin was the $role, would your answer to both questions be the same and always the same?".In terms of usability and UX, there loads of things that frustrate me. They seem to be due to design choices that the dev team made and that they don't intend to change anytime soon, so I know I'm stuck with them as long as I stick with GNOME. For that reason, I also know that someday I'll probably just snap (no, Canonical, not you) and switch DE. But for now I don't have the mental room, energy nor time to do so, so I just deal with my frustrations and stick with what Just Works™. I have to use Windows and MacOS at $dailyJob anyway so I'm used to having a subpar experience with my OS.
On the touch screen side, they indeed nailed it, as far as I can tell. I do have the occasional driver issue, due to my laptop being an obscure and not really well supported model, but the UX is far more enjoyable on my laptop than on my main computer. There's still much work to do to have a unified experience à la Apple, or as Microsoft envisioned it at the time, but they did make Linux usable on small touch screens. It feels like GNOME has a touch-screen first approach, which is good on one hand, and bad on the other.