Marcus

Marcus

@essenmitsosse.de

Software Developer, Co-CTO, functional TypeScript Fanboy

96 followers154 following117 posts

Pinned

Our brain looks for faces. Two dots and a line are enough to make us see a face. The urge is so strong that we don’t even see it as an illusion. The face might not be real, but it is there. Seeing just two dots and a line instead of a face almost takes effort. A thread 🧵👇

Saw this on Instagram. Saw it’s a Bluesky post. Followed @astrokatie.com and tracked down the post just to publicly complain about the fact that I lack people in my group of friends who would understand both sides of the joke. I only have friends for either.

Katie Mack@astrokatie.com

GM: Charisma check. Mamdani: [rolls natural 20] GM: that’s a d6 how did you Mamdani: [direct to camera] Did you know you can check out board games at your local public library? 😊

If you think about, a lot of CLI programs could be abstracted away into simple GUIs. If there was any standardization and it wasn't just "here is string. have fun with it. maybe you want to pretend it is structured. i dont care"

Sam Rose@samwho.dev

Watching AI agents use the terminal makes me think the CLI was always a really bad UX for humans. LLMs remember so many more flags than me, and are far better at combining them, along with pipes, to get the information it needs.

Finally companies have started dogfooding their own products and it seem to be with the worst possible product.

There is rarely a day where I’m not upset with whoever decided that CSS‘s `display` should handle three things at the same time: - visibility (none) - outer display type + semantic meaning (block/inline/list and table things) - inner display type (flex/grid) This is just horrible for composability.

Want to unhide an element? You better know which type it is supposed to be so you can overwrite display: none Want a flex layout inside a table cell? Guess you need a wrapper element.

Our brain looks for faces. Two dots and a line are enough to make us see a face. The urge is so strong that we don’t even see it as an illusion. The face might not be real, but it is there. Seeing just two dots and a line instead of a face almost takes effort. A thread 🧵👇

View full thread

We prayed to gods who never answer, smiled at paintings that aren’t alive, cry for characters in a story we know are made up, and now assume we are conversing with intelligence even when it can’t count the R’s in “strawberry.”

All of it is triggered by something deep within us, put there by evolution eons ago. And the priests will tell us: “This time the gods are real! We have created them! Build them temples and bring them sacrifices, and they shall transform this mortal world into a paradise!”

Our brain looks for faces. Two dots and a line are enough to make us see a face. The urge is so strong that we don’t even see it as an illusion. The face might not be real, but it is there. Seeing just two dots and a line instead of a face almost takes effort. A thread 🧵👇

View full thread

The thing with seeing a face where there is none: even if you know about this illusion, even if you are aware your brain is tricking you — you still can’t shake this feeling of there being „someone“. That is why even animated movies can make us cry.

Unlike gods and stories, we now have machines that talk back to us. That possess all of our knowledge and skills. Machines that use our language like they are one of us. The forest has become better at deceiving us that spirits live in it, because we build it that way.

Our brain looks for faces. Two dots and a line are enough to make us see a face. The urge is so strong that we don’t even see it as an illusion. The face might not be real, but it is there. Seeing just two dots and a line instead of a face almost takes effort. A thread 🧵👇

View full thread

We could put faces on things and make them model human behavior so we could fool ourselves a little into thinking we were interacting with intelligence. But behavior was repetitive and easy to see through. Clearly a face and some reactive behavior wasn't enough to trick us.

Then came LLMs and we seemed to have cracked something. Sure, they made mistakes (probably more often than not), but they talked back to us. They understood us. They surprised us. And the errors would surely go away, if we just fed them more data. More compute.

Our brain looks for faces. Two dots and a line are enough to make us see a face. The urge is so strong that we don’t even see it as an illusion. The face might not be real, but it is there. Seeing just two dots and a line instead of a face almost takes effort. A thread 🧵👇

View full thread

We anthropomorphized a thunderstorm, but denied agency to animals. A cow in a pasture was dismissed as a mindless beast, because it didn't affect us. But a volcano destroying a city or a drought ruining our fields was read as caused by higher power — one with agency.

For most of human history, machines were dumb and deterministic. We built them, and we knew how they worked. There was no spirit in them. Even with early computers, as they were able to solve problems, we understood their mechanical nature. They were impressive but not surprising or engaging.

Our brain looks for faces. Two dots and a line are enough to make us see a face. The urge is so strong that we don’t even see it as an illusion. The face might not be real, but it is there. Seeing just two dots and a line instead of a face almost takes effort. A thread 🧵👇

Evolution gave us this bug as a feature. We are social animals, and taking care of things that might have agency was usually smarter than ignoring them. That made us interact with each other, protected us from tigers, but also made us see spirits in the woods.

AI will replace everything in area X, which I can prove by this example of an AI actually solving a problem in that area (to a certain degree)

git encourages a „Yesterdays code‘s fine, so today’s changes should be as focused as possible“ mentality. AI agents are more like „lets rewrite unrelated stuff from scratch because I felt like it might be related, never to undo that unnecessary change“ We will soon loose the art of good PRs.

LLMs aiming for sustainability, must build high level architectures that isolates complexity. Implementing features usually is rather trivial compared to overall architecture. This is equally true for humans. The majority of both are bad at it.

ponder@ponder.ooo

the main point of frustration w/ vibe coding imo is that the llm will whip up an impressive amount of basic functionality very quickly, you'll be on a roll, and then suddenly it hits a complexity wall, and it just keeps going "ah, yes, i see the issue" and replacing the bug with and equally bad bug

All opinions about everything are to be placed on a one dimensional line. Where the ends are the only valid options. With one end being the correct one.

Getting tired of hearing "There are literally no use cases for LLMs" from people who think the only way to use an LLM is to type into chatgpt dot com, press enter, and hope for the best

Does anyone know about some good writing about how the Atmosphere/Bluesky architecture aims to be resilient against developing itself into a corner? e.g. what will happen when a design decision turns out to be a dead end and there would either be breaking change or tech debt.

Apple getting rid of all the iSomething names, but keeping it for their flagship product (and iMacs) because it’s too big to change is the least Apple thing imaginable.

Basic Apple Guy@basicappleguy.com

On this day in 2003, Apple introduced iLife. For $49, users received a two-disc CD and DVD-ROM set that included iTunes 3, iPhoto 2, iMovie 3, and iDVD 3.

Marcus reposted

VSCode has become so unbearably slow that I’m honestly considering switching to VIM. Turning off all the unwanted AI suggestions has become a major burden.

Just found out that as awesome it might sound that @container queries support height queries, this only works for containers with explicit height i.e. container where you already know the height.

Given their handling of any physical unit, decimal separators and date formats I think we can all appreciate that at last the United States adopted left to right writing.

Wordpress strength isn’t it’s plugin eco system. Wordpress weakness is that even for basic things you have to pray someone build and still maintains a plugin because doing any customization yourself is incredibly cumbersome.

Marcus@essenmitsosse.de

🔥 Hot Take: I bet a fairly experienced developer could learn React and Next (or similar frameworks) from scratch and then build a custom site in less time then it would take an experienced WordPress developer to build a custom site that can’t just the cobbled together with plugins.

🔥 Hot Take: I bet a fairly experienced developer could learn React and Next (or similar frameworks) from scratch and then build a custom site in less time then it would take an experienced WordPress developer to build a custom site that can’t just the cobbled together with plugins.

The price we where willing to pay for WordPress‘ somewhat decent backend was just way to high and I’m glad for every day I got rid of the Stockholm syndrome.

I also don’t see the plethora of WordPress plugins as a win. It’s a bad incentive to just throw together random stuff and hope it doesn’t make the whole thing to slow or unstable.

Here are two lists which are both sorted alphabetically: 1. List: - foo - foo-bar 2. List: - foo-bar.a - foo.a I’m very angry that this is correct! (ノಠ益ಠ)ノ彡┻━┻

It’s crazy how many CI tools implicitly assume automated tests are expensive, slow and run infrequently. While that’s often true, we should prioritize making CI fast enough to run as often as possible.

By “as often as possible,” I mean CI should run on every commit that reaches `main`. The fact that there are often reasons why this is not feasible doesn’t mean those reasons shouldn’t be removed if possible.

Marcus reposted

✂️ knip.dev by @webpro.nl is the best tool to find all unused exports and unused deps. Easy setup 🚀 bun create @knip/config bun add Resolving dependencies Resolved, downloaded and extracted [8] Saved lockfile ✓ Install Knip ✓ Add knip to package.json#scripts ✓ Run "bun run knip" to run knip

knip.devDeclutter your JavaScript & TypeScript projectsProject linter to find and remove unused files, dependencies and exports in JavaScript and TypeScript projects

Support for `monospace` via backticks. Ideally multiline code with tripple-backticks. Developers of Bluesky would rejoice!

Samuel@samuel.fm

I’m being targeted by several different lobbying groups at this point the @todepond.com lobby has been at this the longest but the “groupchats when” lobby is gaining steam. the trending topics lobby is numerous but less organised

I can’t put into words for how long I’ve been waiting for such a rule! `no-unsafe-type-assertion`

TypeScript-ESLint@typescript-eslint.io

TypeScript-ESLint v8.15.0 has been released! This release includes: - a fix for the recent crash introduced with ESLint v9.15.0 - support for arrays in `tseslint.config` (no more spreads necessary!) - a new rule `no-unsafe-type-assertion` - and more...! github.com/typescript-e...

Going to steal „Happy path tunnel vision“

Matt Brophy@brophdawg11.com

Happy path tunnel vision on both sides. I’ve seen lots of UX deliverables that lacked error states, and lots of devs who didn’t bother to ask about/test them

How do you pronounce it? Like: Blues-kee (as in Blues + Big Lebowski) Comment: Bloo-sky (as in Mr Blue Sky) Share: Blew-sk-why? (as in „it blew up, click sound, why“) Block me: Bee-loo-skee (WTF) Delete Bluesky: X (Twitter) Bookmark this post: Bl‘sk-eeh (the u is silent)

Literally googled „why isn’t Theo on Bluesky“ today. Guess I did the thing where I swore it wasn’t there, and then it magically appeared when someone else looked.

Theo@t3.gg