Péter Szilágyi (karalabe.eth) Profile picture
Mar 18, 2022 7 tweets 2 min read
Complexity is an often overlooked aspect of a system because usually someone else is paying the price for it, not the person creating it.

But don't be mistaken, someone *is* paying the price - whether money, time or mental capacity. They might not be willing/able to do forever. As with scalability, complexity also keeps trickling unseen up to the breaking point. At that time, it's already past the point of no return.

Complexity also has the nasty effect of causing cascading failures. Overload people too much, lose capacity, leading to even larger load.
Jan 28, 2022 7 tweets 7 min read
@CCryptolio @diyan_slavov @toghrulmaharram @riazahmedpatel1 Sorry for getting angry.

The reason people are up in arms is because the comparison isn't fair (from either perspective). Looking at a subset of raw number often misses the context why those numbers are that way. 1/N @CCryptolio @diyan_slavov @toghrulmaharram @riazahmedpatel1 Ethereum mainnet could easily raise it's gas limit and it would still work fine (for now). The issue is that the state (junk) always grows, never goes down. So the higher the throughput, the faster it grows. Eventually it starts eating into the performance. 2/N
Dec 17, 2021 4 tweets 2 min read
@kelseyhightower The cost is proportional to demand and availability. On Ethereum currently demand is insane, the capacity is very limited, thus the costs are insane. That is why the L2s are being funded and pushed, because those - in theory - allow 10-100x reductions in costs even today. @kelseyhightower The cost is also proportional to how complex the execution is. A simple transfer accounted in gas, costs 21000 units, but say a token transfer might be 60-150K, depends on the execution of these "micro services".
Dec 17, 2021 10 tweets 4 min read
@kelseyhightower To me web3 isn't really a single tech stack, rather it's an entire constellation of projects aiming towards full scale data liberation (now that was a mouthful, but please bare with me). 1/ @kelseyhightower E.g. I don't need a separate identity on all the services I want to use. I can have my single key and "sign on" to any service whatsoever in the ecosystem.

It might remind you of OAuth, but there my identity is controlled by my provider. Here it's a key I have control over. 2/
Dec 15, 2021 5 tweets 2 min read
Apparently creating a 3D avatar isn't *that* complicated, but you do need to jump through quite a few hoops to get a self-contained portable thing with animations and whatnot included.

Wondering how much time it would take to create an offline avatar format and explorer. Image Notably, there seems to be about 3 ingredients to making a 3D avatar:

- You need a model (doh)
- You need a humanoid mapping
- You need an "action" animation
Sep 14, 2021 7 tweets 4 min read
Between the 3 Sept and 10 Sept, secure env vars of *all* public @travisci repositories were injected into PR builds. Signing keys, access creds, API tokens.

Anyone could exfiltrate these and gain lateral movement into 1000s of orgs. #security 1/4

travis-ci.community/t/security-bul… Felix Lange found this on the 7th and we've notified @travisci within the hour. Their only response being "Oops, please rotate the keys", ignoring that *all* their infra was leaking.

Not getting through, we've started reaching out to @github to have Travis blacklisted. 2/4
Aug 23, 2021 11 tweets 2 min read
It took me a long time to figure out that "this code is shitty" also entails the assumption that I am smarter than the one who wrote it.

If you accept that the other person is also smart, you'll ask "why is this code shitty"? Almost always there's a very good reason behind it. Often the reason is that a code base evolves across many years where assumptions/invariant change. But you can't always restart from scratch. You need to keep things moving while you evolve, which entails temporary - but potentially long lasting - hacks.