tonsky.me

5 notes link to this site.

It’s hard to justify Tahoe icons

Niki agrees with my reasoning that putting an icon in every menu item is insanity:

It’s delusional to think that there’s a good icon for every action if you think hard enough. There isn’t. It’s a lost battle from the start.

Also: I loved this point because it illustrates how SVGs are great and superior to bitmap graphics in so many cases, but not every case:

For Tahoe icons, Apple decided to use vector fonts instead of good old-fashioned bitmaps. It saves Apple resources—draw once, use everywhere. Any size, any display resolution, any font width.

But there’re downsides: fonts are hard to position vertically, their size doesn’t map directly to pixels, stroke width doesn’t map 1-to-1 to pixel grid, etc. So, they work everywhere, but they also look blurry and mediocre everywhere::

Classic software: it’s trade-offs everywhere!

Needy programs

Nikita Prokopov:

do I really need an update? Is it my need?

It’s simple, really. If I need an update, I will know it: I’ll encounter a bug or a lack of functionality. Then I’ll go and update.

Until then, politely fuck off.

Feel this.

The company needs to announce a new feature and makes a popup window about it.

Read this again: The company. Needs. It’s not even about the user. Never has been.

Feeeeeel thiiiiiis.

Programs that have their own agenda and that are trying to make it yours, too. Programs that want you to think about them. Programs that think they are entitled to a part of your attention. “Pick me” programs.

And you know what? Fuck these programs. Give me back my computer.

Python as a build tool

This is an article about python, but it gets there by bashing other scripting language first. This critique of Bash resonated with me:

We tried Bash, but Bash is a terrible, terrible language. Variables do not work as you expect them to work, there are significant whitespaces in your script, spaces in strings are special, and to top it all there are slight differences in CLI utilities you have to use with Bash.

Then this conclusion:

please don’t use Bash. I know, it’s tempting, it’s just “two lines of code”. It always starts small until one day it grows into a unportable, unsupportable mess. In fact, Bash is so simple and so natural to just start using that I had to make a very strict rule: never use Bash. Just. Don’t.

As someone who has been exposed to Bash, tried to use it, never understood it, then always wondered why it was so prevalent (thinking it must be because it’s easy) this made me feel better.

Emoji under the hood

A fascinating and enlightening dive into how emoji works:

To sum up, these are seven ways emoji can be encoded:

  1. A single codepoint 🧛 U+1F9DB
  2. Single codepoint + variation selector-16 ☹︎ U+2639 + U+FE0F = ☹️
  3. Skin tone modifier 🤵 U+1F935 + U+1F3FD = 🤵🏽
  4. Zero-width joiner sequence 👨 + ZWJ + 🏭 = 👨‍🏭
  5. Flags 🇦 + 🇱 = 🇦🇱
  6. Tag sequences 🏴 + gbsct + U+E007F = 🏴󠁧󠁢󠁳󠁣󠁴󠁿
  7. Keycap sequences * + U+FE0F + U+20E3 = *️⃣

Phil Libin: Find a new way to ski

An interview with the founder of Evernote:

What’s wrong with Silicon Valley

The business model being indirect revenue. It rewards keeping your users in a heightened, emotional state so that they hang around your platform for as many hours as possible, so they can click on ads.

The easiest emotional state to generate algorithmically is tribal outrage. It’s a simple and primal emotion. We, as the tech industry, have built a model that we make money when we piss people off. And everyone’s pissed off now, we’ve made a lot of money and people are like, what went wrong? Well, everything went exactly as planned.

Reductive, perhaps, but it resonates.