HN user

cafeinux

306 karma
Posts0
Comments155
View on HN
No posts found.
Exploding Cucumber 11 months ago

And I removed what I can only think was a typo in your sentence :-).

The name comes from the ~~seeds~~ fact that ripe seed pods explode when touched to disperse seeds widely.

For the few times where I had to speak to someone about topics I don't care much about, I found that simply asking questions to learn about them ( as well as the person I'm speaking to) is enough.

"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..

Why do you say they "push away the inevitable"? Why would it be inevitable to have quality apps without AI integration? I would even argue that in a lot of cases, no AI integrationadds quality to the app.

I'm guessing that, if I start by importing a Japanese deck from some other source (because, for example, there's a source with high-quality notes), and then I split it into a writing subdeck, and then the original source adds new notes for new words or makes changes or whatever, that merging the results is basically unsupported.

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.

4.5 (better in creative writing, and probably warmer sound thanks to being vinyl based and using analog tube amplifiers, but slower and request limited, and I don't even know which of the other features it supports)

Is that an LLM hallucination?

I'm really not sure: it's highly specialized to scrape the pages of that particular course and output it in my own HTML and CSS classes. Luckily for me, their format is quite standard across chapters, but may not be across courses, and I didn't write the code to be modular or adaptive given my need (and the fact that I'm learning Python, not application design).

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.

I was just thinking about this yesterday. A few weeks or months ago I started learning something new from an online course.

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.

When using `dd` I always verbally say "`if` is input file, because I want to take data from <whatever I wrote there> and `of` is output file, because I want that data to overwrite <whatever I wrote here>". Never have I ever had a `dd` incident, but that's such a fear I have that I developed this habit.

Ironically, that notation, which I just discovered, confuses me more than anything else. Logs clicked for me when someone online said "amongst all the definitions we have for logs, the most useful and less taught is that log() is just a power". At that exact instant, it's like if years of arcane and foreign language just disappeared in front of my eyes to leave only obviousness and poetry.

This seems interesting. I've been thinking lately of re-installing a tilling WM on my daily driver because I have a wide screen and I spend more time rearranging and searching for windows than doing actual things on it. Also, it seems that all that screen estate could be put to better use with a tilling WM. Guess I'll give Niri a try, maybe it will fit my needs.

Same here, I was actually reading the comments to see if someone had the same reaction. I'm not even much older than them, but enough that I look at 20 yo people as if they were inexperienced children.

This being said, time for my daily nitpicking: 7÷0.35=20, not ~21. Although I agree that 20 ≈ 21.

I can count on more than one hand the times where I had to reverse quickly because my current position was putting myself or others at risk, either because of my fault or because of careless drivers fault.

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).

Tip of you find yourself having to break a car window and you don't have this kind of tool: supposedly, you can remove your headrest and hit the window in a corner with the metal rods to break it. I don't have the luxury of being able to try, nor have I ever had the necessity to try, so take this with a grain of salt. But if there's any truth in there, better to know about it than feeling helpless.

I almost never use the Play Store (I have my apps and haven't installed new ones for some years) so I didn't notice this, but I just tested and confirm this feels freaking dumb.

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"...

We can think of the goblins as functions that return either the truth, the inverse of the truth, or a random answer.

  // 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?".

Disclaimer: I use GNOME on my main computer and on my small-factor, touch screen enabled, couch laptop.

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.