Month: February 2025

Nibbling

This is the third post in my “Nasty habits” series following Licking and Scraping.

Nibbling is biting, but only with the incisors. Not the canines or molars. And it’s a delight.

Nibbling is not uncommon. People tend to nibble on all kinds of stuff. Pens, erasers, straws, gums, clothes, buttons, spoons, rubber bands, paper, toothbrush, cups, bottles, cables, gadgets, books, chalk, coins. It’s a long list.

But I don’t do those. I nibble only food and body parts.

Food

Grapes. I love grapes. You can peel off the skin with your teeth, you see. It’s a slow process, but that’s the point. The food lasts longer. It’s a bit messy since the grapes start watering. That makes it hard to type while eating. But that’s what food breaks are for, right?

When you peel the skin off the grapes, it forms strips. Catching that next strip without biting off too much of the flesh is the art. That way, you have the thinnest peels and the largest amount of flesh.

Large grapes are best for this. Unfortunately, most of them tend to have seeds. The large seedless ones are a delight (though a bit expensive).

Of course, you finally get to eat the flesh at the end. But I’m not sure that’s the best part. Sure, they’re juicy and sweet. But they give me less than 5 seconds of enjoyment. Unlike the peel which can last a minute per grape. Sure, they don’t taste as good. But after four decades of eating grapes by peeling them with my teeth, I’ve grown to love the peels more.

Almonds. It’s the same with almonds. They peel off less easily, but that’s part of the challenge. Soaking them in water spoils the fun. That makes it too easy. You’ve got to soak them in your mouth for a few minutes, soften them, and then peel them off. Doing this while the almond is in your mouth requires some oral gymnastics, but I’m sure it builds character.

Almonds are better than grapes in some ways. The peel is bitter. The flesh is mostly tasteless. They tend to dry the palate. So there’s less temptation to eat more. An almond typically takes me ~3 minutes, compared with a grape – which I can’t stretch for more than a minute. It’s not about the calories either. An almond has ~3 times the calories of a grape. So that evens out. It’s just that I’d feel like eating the almond again less often. Good for the waistline.

Bread crusts. That’s another great food to nibble. You can start at any corner, gently nibble the crust, and peel it off. The trick is getting the right amount of crust out. Biting at the exact edge. The remaining bread should be white, but the crust you peel out should only have the brown. Obviously, this doesn’t work with toast – so I avoid that. It works great with the sandwiches they provide on flights.

(This liking for crusts went to the point where my family would use a knife to cut off the crust. I’d eat all the crusts. It turns out I actually like them better than the bread. But – that doesn’t count towards nibbling, so I’ll stop here.)

Raisins. Not bad, but too small. I peel them off with my teeth only if I really feel like nibbling.

Apple. Again, not bad, but hard to peel, usually. I used to do this earlier with the softer apples, but haven’t done it for a long time.

Chocolate. Most chocolates are not nibble-able. But there are a few exceptions. Protien bars, 5-Star, etc. are OK. You can keep them in the wrapper and nibble on them. But Kit Kat is better. You can nibble at a chunk. Then soak the chocolate in your month a bit. Then bite off the first wafer and eat that. And then the second wafer. You can even lick the chocolate off the wafer while it’s in your mouth, then nibble on the wafer.

Boba. This is my new discovery in Singapore. Tapioca pearls that are so nibble-able. They have just the right texture and chewiness – firm enough to bite, solid enough after biting, and small enough to fit in my mouth. Only slightly more in calories (when cooked) than grapes and a lot cheaper. I’m planning to buy a few kgs and boil them. (I don’t know why I bother about the cost of boba. I can afford it. But it’s a habit of a lifetime.)

Actually, biting is more fun than the eating part.

Body parts

This is the grosser part.

Nails. I’ve been biting my nails for as long as I can remember. Along with the skin around them. So much so that, after repeated requests, my mother settled on, “Anand, when you bite your nails, leave a little bit behind.” That resonated a lot. I mean, I’d like some nail to bite tomorrow, right?

My father introduced me to nail cutters. I tried them for a while (by cutting the nails and then nibbling) but the shapes they produce aren’t as interesting, nor as controllable, as when you bite them.

Nails have a side benefit: fiddling. The shape and texture of nails is such a delight! You can roll them in your fingers, run your fingers along the edge, press against the sharp edges, squeeze against the blunt edges, bend to see how far they’ll go without breaking, tear the layers to see how thin a layer you can get without breaking it, poke at the sharp corners, poke with the sharp corners. Oh, they’re pretty good at removing hair and dead skin from the keyboard, too. So much more.

In fact, I preserve nails for quite some time. I remember the shape and texture of some nails from childhood and truly miss them. In fact, there’s one really good specimen from last September that I kept for a few months before destroying it by fiddling too much. (I have a semi-secret hiding place for nails that prevents anyone cleaning my room from stealing them.)

But I digress…

Skin. Great in many ways, but after a point, they bleed. That pain was not worth the price. (Actually, the pain was OK. I’m just scared of blood.)

Lips. Same. Great texture. But they bleed.

Hair. Now that’s something. Like nails, they’re replenishable. (So far. Though I seem to be running out a bit near the top of my head.)

But the quality varies a lot depending on where you get the hair from. Chest hair is the best. It’s thick, rough, and sometimes has interesting kinds that are fun to iron out by nibbling. Eyebrows are interesting – they’re pretty thick, too, but not as long. Hair from the head is OK. It’s moderately thin, so it’s good for a nibble or two. The best is when the hair has a natural knot. Pulling at the knot while nibbling is fun. Ear hair is too thin. Armpit hair needs washing, which is quite inconvenient.

Um… I’ll stop here.

Command Line Slideshows in Bash

At PyConf Hyderabad, I spoke about uv. It’s a package manager for Python.

I usually mix live demos into my narrative. So, rather than present with something static like PowerPoint (or Google Slides), I usually use:

For this talk, I needed to run commands on the shell. I evaluated:

  • VS Code + Terminal. Split screen is good. But slides in VS code were not obvious.
  • Web App. Write a web shell with xterm.js and node-pty and embed it in RevealJS. But it’s too much work.
  • Web terminals: WeTTY, ttyd, GoTTY, etc. But they struggle on Windows. I’d need WSL or Docker.
  • Asciinema. But it’s not interactive.

So I got ChatGPT to write me an app:

Write a modern, compact Python program that parses a Markdown file and renders it section-by-section colorfully on the terminal.

A "section" is any text beginning with a heading until the next heading.

- uv run talk.py script.md should parse script.md and render the first section.
- Running uv run talk.py should render the next section. And so on.
- If no further sections are found, it should say so and end.

When rendering on the terminal,

- Headings should be very prominent. Highlight H1, H2 and H3 in decreasing order of prominence. Rest can be rendered normally
- **Bold** should be prominent. _Italics_ should be mildly emphasized.
- Code blocks and
code fences
 should be colored distinctly.
- [Links](...) should be colored distinctly but the URLs can be ignored.

Use inline script dependencies. I think using rich and markdown2 would apt but you can decide.

An aside. These days, it’s easier to create small tools than search for something that exists.

The code it wrote works like this.

  1. Write a Markdown file that has my “slides”. I used this README.md.
  2. Run slide.py README.md. It shows the first section (“slide”) in README.md, colored and highlighted, and exits.
  3. I can run any other commands on my shell, e.g. uv run --with pandas,ipython ipython, and show how it works.
  4. Run slide.py again. It clears the screen and shows the next slide.

This allowed me a new kind of workflow, where the shell itself is the slides layer.

Students who are more engaged score more

This is about as insightful as the Ig Nobel winning papers “Boredom begets boredom” and “Whatever will bore, will bore” that methodically documented that bored teachers lead to bored students. But in the spirit of publishing all research without bias for success or novelty, let me share this obvious result.

The Y-axis represents the total score of ~2,000 students on 4 graded assignments, each of ~10 marks. The X-axis represents the percent rank of engagement. The most engaged students are at 100%. The least are at 0%.

How do I measure engagement? By the number of times they visit the page and how early they visit the page (both computed as percent ranks). So, the student who visits the assignment page the most often, and the student who visits the assignment page first, score highest.

For every 10% increase in the engagement, the score increases by about 3 marks. What that means is, if a student leapfrogs ahead of 10% of their batchmates, that effort typically leads to scoring about 3 / 40 = 7.5% more overall.

Halving a deadline costs 1.4% of marks each time

Does it make a difference if you submit early vs submit late? Here’s some empirical data.

About ~1,000 students at IIT Madras took 3 online quizzes (GA1, GA2, GA3) in the last few weeks. The deadlines were all at midnight (India) on different days. Here’s when they submitted their final answers:

  • There was a spurt of submissions at the last minute.
    ~1 out of 8 students submit with < 10 minutes remaining.
  • Most students submitted ~4 hours before the deadline.
    In fact, 3 out of 4 students submit on the same day as the deadline.
  • A fair number of students submitted the previous day/night.
    1 out of 6 are diligent and submit a day early.

But does submitting late help, since you get more time? Apparently not.

On average, every time the deadline is halved, the score drops by 1.4%.

For example, on average:

  • Submitting 1 minute before scores 1.4% less than submitting 2 minutes before
  • Submitting 2 minutes before scores 1.4% less than submitting 4 minutes before
  • Submitting 4 minutes before scores 1.4% less than submitting 8 minutes before
  • … etc.

This means that submitting early morning instead of midnight could give you a 15% advantage.

Of course, this might be confusing cause and effect. Maybe students who do well submit early, and those who struggle submit late.

But is there a merit in faking it till you make it? Perhaps by pretending your deadline is a day early, to get the best of both worlds? Something to think about…