Forwarded from TechLead Bits
Zanzibar: Google Global Authorization System
Finally I had a chance to go into details about Zanzibar - Google global authorization system. I already mentioned it in OpenFGA overview where authors said that they based their solution on Zanzibar architecture principles.
Let's check how the system that performed millions of authorization checks per minute is organized:
✏️ Any authorization rule takes a form of a tuple `user U has relation R to object O`. For example, User 15 is an owner of doc:readme. This unification helps to support efficient reads and incremental updates.
✏️ Zanzibar stores ACLs and their metadata in Google Spanner database. Zanzibar logic strongly relies on Spanner external consistency guarantees. So each ACL update gets a timestamp that reflects its order. If update x happens before y, then x has an earlier timestamp.
✏️ Each ACL is identified by shard ID, object ID, relation, user, and commit timestamp. Multiple tuple versions are stored in different rows, that helps to evaluate checks and reads at any timestamp within the garbage collection window (7 days).
✏️ Each Zanzibar client gets a special consistency token called zookie. Zookie contains the current global timestamp. Client uses zookie to ensure that authorization check is based on ACL data at least as fresh as the change.
✏️ Zookies are also used in read requests to guarantee that clients get a data snapshot not earlier than a previous write.
✏️ Incoming requests are handled by aclservers clusters. Each server in the cluster can delegate intermediate results computation to other servers.
✏️ To provide performance isolation Zanzibar measures how much CPU each RPC uses in cpu-seconds. Each client has a global CPU usage limit, and if it goes over, its requests may be slowed down. Each aclserver also limits the total number of active RPCs to manage memory usage.
✏️ Request hedging with 99th percentile threshold is used to reduce tail-latency.
According to the whitepaper, authorization checks are performed for each object independently. It means that each search request for service like Drive or Youtube can trigger from tens to hundreds of authorization checks. That's why the overall architecture is heavily focused on keeping authorization request latency as low as possible.
Implementation results are impressive: Zanzibar handles over 2 trillion relation tuples, that occupy more than 100 terabytes of storage. The load is spread across 10,000+ servers in dozens of clusters worldwide. Despite that scale, it keeps the 95th percentile latency at ~9 ms for in-zone requests and ~60 ms other requests.
#systemdesign #usecase #architecture
Finally I had a chance to go into details about Zanzibar - Google global authorization system. I already mentioned it in OpenFGA overview where authors said that they based their solution on Zanzibar architecture principles.
Let's check how the system that performed millions of authorization checks per minute is organized:
✏️ Any authorization rule takes a form of a tuple `user U has relation R to object O`. For example, User 15 is an owner of doc:readme. This unification helps to support efficient reads and incremental updates.
✏️ Zanzibar stores ACLs and their metadata in Google Spanner database. Zanzibar logic strongly relies on Spanner external consistency guarantees. So each ACL update gets a timestamp that reflects its order. If update x happens before y, then x has an earlier timestamp.
✏️ Each ACL is identified by shard ID, object ID, relation, user, and commit timestamp. Multiple tuple versions are stored in different rows, that helps to evaluate checks and reads at any timestamp within the garbage collection window (7 days).
✏️ Each Zanzibar client gets a special consistency token called zookie. Zookie contains the current global timestamp. Client uses zookie to ensure that authorization check is based on ACL data at least as fresh as the change.
✏️ Zookies are also used in read requests to guarantee that clients get a data snapshot not earlier than a previous write.
✏️ Incoming requests are handled by aclservers clusters. Each server in the cluster can delegate intermediate results computation to other servers.
✏️ To provide performance isolation Zanzibar measures how much CPU each RPC uses in cpu-seconds. Each client has a global CPU usage limit, and if it goes over, its requests may be slowed down. Each aclserver also limits the total number of active RPCs to manage memory usage.
✏️ Request hedging with 99th percentile threshold is used to reduce tail-latency.
According to the whitepaper, authorization checks are performed for each object independently. It means that each search request for service like Drive or Youtube can trigger from tens to hundreds of authorization checks. That's why the overall architecture is heavily focused on keeping authorization request latency as low as possible.
Implementation results are impressive: Zanzibar handles over 2 trillion relation tuples, that occupy more than 100 terabytes of storage. The load is spread across 10,000+ servers in dozens of clusters worldwide. Despite that scale, it keeps the 95th percentile latency at ~9 ms for in-zone requests and ~60 ms other requests.
#systemdesign #usecase #architecture
research.google
Zanzibar: Google’s Consistent, Global Authorization System
Forwarded from 👌🏼Ciekawostki & pomysły & fantazje🚀 (Tomasz Starszy od Arpanetu)
Instytut Technologiczny Massachusetts (#MIT) właśnie zakończył pierwsze badanie skanów mózgu użytkowników #ChatGPT, a wyniki są przerażające.
Okazuje się, że sztuczna inteligencja nie zwiększa naszej produktywności, lecz prowadzi do ubóstwa poznawczego.
♨️ https://fxtwitter.com/itsalexvacca/status/1935343874421178762
Okazuje się, że sztuczna inteligencja nie zwiększa naszej produktywności, lecz prowadzi do ubóstwa poznawczego.
♨️ https://fxtwitter.com/itsalexvacca/status/1935343874421178762
Użytkownicy ChatGPT wykazywali najniższy poziom aktywności mózgu i"niezmiennie osiągali gorsze wyniki na poziomie neuronalnym, językowym i behawioralnym". W ciągu kilku miesięcy użytkownicy ChatGPT stawali się coraz bardziej leniwi z każdym kolejnym esejem, często uciekając się do kopiowania i wklejania pod koniec badania.
🧵 Thread • FxTwitter
Alex Vacca (@itsalexvacca)
BREAKING: MIT just completed the first brain scan study of ChatGPT users & the results are terrifying.
Turns out, AI isn't making us more productive. It's making us cognitively bankrupt.
Here's what 4 months of data revealed:
(hint: we've been measuring…
Turns out, AI isn't making us more productive. It's making us cognitively bankrupt.
Here's what 4 months of data revealed:
(hint: we've been measuring…
Geniusze i biznesmeni robią sztuczną inteligencję dla siebie i na skutek swoich traum.
https://youtu.be/9sUOLzZeomc?si=GiE1viAYQiUjd6B7
Jest tam też o plastyczności mózgu i wolnej woli... I ludobójstwie w Gazie (mimo że pan jest żydem)
#AI #GaborMate #mózg i #Gaza
https://youtu.be/9sUOLzZeomc?si=GiE1viAYQiUjd6B7
Jest tam też o plastyczności mózgu i wolnej woli... I ludobójstwie w Gazie (mimo że pan jest żydem)
#AI #GaborMate #mózg i #Gaza
YouTube
Zranieni geniusze: jak trauma napędza technologie | Gabor Maté
📈 Partnerem odcinka jest Fundacja Rafała Dobrzyckiego: https://rdfoundation.org/
Dlaczego twórcy AI – tacy jak Elon Musk czy Sam Altman – obsesyjnie dążą do nieśmiertelności, kolonizacji Marsa i rozwoju sztucznej inteligencji? Gabor Maté, światowej sławy…
Dlaczego twórcy AI – tacy jak Elon Musk czy Sam Altman – obsesyjnie dążą do nieśmiertelności, kolonizacji Marsa i rozwoju sztucznej inteligencji? Gabor Maté, światowej sławy…
Forwarded from PEŁZAJĄCA WOJNA ŚWIATOWA
Business Insider Polska:
https://businessinsider.com.pl/wiadomosci/budynek-microsoftu-w-plomieniach-iranskie-rakiety-spadly-na-park-technologiczny/fx4drdg
PS: no tym razem Iran przegiął 😁
Ciekawe jakiego systemu i siebie używają?
Budynek Microsoftu w płomieniach. Irańskie rakiety spadły na park technologiczny
https://businessinsider.com.pl/wiadomosci/budynek-microsoftu-w-plomieniach-iranskie-rakiety-spadly-na-park-technologiczny/fx4drdg
PS: no tym razem Iran przegiął 😁
Ciekawe jakiego systemu i siebie używają?
"Rzadko czyta się o tak groźnym oprogramowaniu dla smartfonów, jak właśnie „Ojciec Chrzestny”. Nazwane po kultowej książce i serii filmów nieprzypadkowo, bo podmienia zainstalowane na smartfonach aplikacje bankowe na fałszywe wersje, celem wyłudzenia danych logowania i wykradzenia środków z konta. Dlatego też podpowiadamy wam, jak się ochronić przed najnowszym zagrożeniem."
Źródło: ANDROID.COM.PL
https://android.com.pl/tech/941241-ojciec-chrzestny-wirus-na-smartfonach/
Źródło: ANDROID.COM.PL
https://android.com.pl/tech/941241-ojciec-chrzestny-wirus-na-smartfonach/
ANDROID.COM.PL - społeczność entuzjastów technologii
„Ojciec Chrzestny” szaleje na smartfonach. Wirus podmienia aplikacje bankowe na fałszywe wersje
„Ojciec Chrzestny” to wirus szczególnie niebezpieczny na smartfonach, na których używamy aplikacji bankowych. Pokazujemy jak się ochronić.
Dokumentacja jako kod
Jestem naprawdę przekonany, że dokumentacja jest częścią aplikacji . Powinna być rozwijana, aktualizowana i sprawdzana przy użyciu tych samych procesów i narzędzi, co kod aplikacji.
Jeśli dokumentacja jest przechowywana gdzie indziej, np. na oddzielnej wiki , to w zasadzie przestaje być aktualna w ciągu 5 minut od opublikowania .
Oznacza to, że dokumentacja powinna znajdować się w repozytorium git. Jeśli jakieś zachowanie systemu zostanie zmienione podczas naprawiania błędów lub opracowywania nowej funkcji, odpowiednia dokumentacja powinna zostać zaktualizowana w tym samym PR. Takie podejście pomaga utrzymać dokumentację na bieżąco .
To naprawdę proste, jeśli używasz monorepo . Wszystkie dokumenty i kod są umieszczone w jednym miejscu, więc łatwo znaleźć to, czego potrzebujesz. Rzeczy stają się bardziej skomplikowane, jeśli masz wiele mikrorepo . Nawet jeśli dokumenty są aktualne, użytkownikom trudno je znaleźć. Zwykle rozwiązuje się to, publikując dokumenty w centralnym portalu jako część procesu CI lub obecnie, korzystając z bota AI, który pomaga.
Niedawno Pinterest opublikował artykuł o tym, jak przyjęli podejście dokumentowania jako kodu . Ponieważ używają mikrorepozytoriów, głównym wyzwaniem było uczynienie dokumentacji możliwą do odnalezienia dla ich użytkowników w setkach repozytoriów.
Co zrobili:
🔸 Przeniesiono ich dokumenty do repozytoriów git, korzystając z języka znaczników Markdown.
🔸 Wykorzystano MkDocs w CI do wygenerowania wersji HTML dokumentów.
🔸 Utworzono centralne miejsce do przechowywania i indeksowania dokumentów o nazwie PDocs (Pinterest Docs).
🔸 Zintegrowana dokumentacja z GenAI — botem AI połączonym z głównymi kanałami komunikacji firmy.
🔸 Zbudowałem narzędzie umożliwiające migrację starych stron wiki do gita za pomocą jednego kliknięcia.
Nie znam żadnego standardowego rozwiązania dla agregacji dokumentów w wielu repozytoriach, więc byłoby wspaniale, gdyby Pinterest w przyszłości udostępnił swoje PDocs jako open-source. Myślę, że mogłoby to naprawdę pomóc wielu zespołom w ulepszeniu procesów dokumentowania.
#engineering #documentation
👇🏻👇🏻👇🏻👇🏻👇🏻
Jestem naprawdę przekonany, że dokumentacja jest częścią aplikacji . Powinna być rozwijana, aktualizowana i sprawdzana przy użyciu tych samych procesów i narzędzi, co kod aplikacji.
Jeśli dokumentacja jest przechowywana gdzie indziej, np. na oddzielnej wiki , to w zasadzie przestaje być aktualna w ciągu 5 minut od opublikowania .
Oznacza to, że dokumentacja powinna znajdować się w repozytorium git. Jeśli jakieś zachowanie systemu zostanie zmienione podczas naprawiania błędów lub opracowywania nowej funkcji, odpowiednia dokumentacja powinna zostać zaktualizowana w tym samym PR. Takie podejście pomaga utrzymać dokumentację na bieżąco .
To naprawdę proste, jeśli używasz monorepo . Wszystkie dokumenty i kod są umieszczone w jednym miejscu, więc łatwo znaleźć to, czego potrzebujesz. Rzeczy stają się bardziej skomplikowane, jeśli masz wiele mikrorepo . Nawet jeśli dokumenty są aktualne, użytkownikom trudno je znaleźć. Zwykle rozwiązuje się to, publikując dokumenty w centralnym portalu jako część procesu CI lub obecnie, korzystając z bota AI, który pomaga.
Niedawno Pinterest opublikował artykuł o tym, jak przyjęli podejście dokumentowania jako kodu . Ponieważ używają mikrorepozytoriów, głównym wyzwaniem było uczynienie dokumentacji możliwą do odnalezienia dla ich użytkowników w setkach repozytoriów.
Co zrobili:
🔸 Przeniesiono ich dokumenty do repozytoriów git, korzystając z języka znaczników Markdown.
🔸 Wykorzystano MkDocs w CI do wygenerowania wersji HTML dokumentów.
🔸 Utworzono centralne miejsce do przechowywania i indeksowania dokumentów o nazwie PDocs (Pinterest Docs).
🔸 Zintegrowana dokumentacja z GenAI — botem AI połączonym z głównymi kanałami komunikacji firmy.
🔸 Zbudowałem narzędzie umożliwiające migrację starych stron wiki do gita za pomocą jednego kliknięcia.
Nie znam żadnego standardowego rozwiązania dla agregacji dokumentów w wielu repozytoriach, więc byłoby wspaniale, gdyby Pinterest w przyszłości udostępnił swoje PDocs jako open-source. Myślę, że mogłoby to naprawdę pomóc wielu zespołom w ulepszeniu procesów dokumentowania.
#engineering #documentation
👇🏻👇🏻👇🏻👇🏻👇🏻
Forwarded from TechLead Bits
Documentation As a Code
I have a really strong opinion that the documentation is part of the application. It should be developed, updated and reviewed using the same processes and tools as the application code.
If the documentation is stored somewhere else, like in a separate wiki, it's basically dead within 5 minutes after it's published.
This means documentation should live in the git repo. If some system behavior is changed during bugfixing or a new feature development, the relevant documentation should be updated in the same PR. This approach helps to keep documentation up to date.
It's really simple if you use a monorepo. All docs and code are placed in one place, so it's easy to find what you need. Things become more complicated if you have lots of microrepos. Even if docs are up to date, it's quite hard for users to find them. Usually, this is solved by publishing docs to a central portal as part of the CI process, or nowadays by using an AI bot to help.
Recently, Pinterest published an article about how they adopted the documentation-as-code approach. Since they use microrepos, the main challenge was to make documentation discoverable for their users across hundreds of repos.
What they did:
🔸 Moved their docs to git repos using markdown.
🔸 Used MkDocs in CI to generate HTML versions of the docs.
🔸 Created a central place to host and index docs called PDocs (Pinterest Docs).
🔸 Integrated docs with GenAI — an AI bot connected to the main company communication channels.
🔸 Built a one-click tool to migrate old wiki pages to git.
I don’t know any standard solution for doc aggregation across multiple repos, so it would be great if Pinterest open-sourced their PDocs in the future. I think it could really help a lot of teams to improve their documentation processes.
#engineering #documentation
I have a really strong opinion that the documentation is part of the application. It should be developed, updated and reviewed using the same processes and tools as the application code.
If the documentation is stored somewhere else, like in a separate wiki, it's basically dead within 5 minutes after it's published.
This means documentation should live in the git repo. If some system behavior is changed during bugfixing or a new feature development, the relevant documentation should be updated in the same PR. This approach helps to keep documentation up to date.
It's really simple if you use a monorepo. All docs and code are placed in one place, so it's easy to find what you need. Things become more complicated if you have lots of microrepos. Even if docs are up to date, it's quite hard for users to find them. Usually, this is solved by publishing docs to a central portal as part of the CI process, or nowadays by using an AI bot to help.
Recently, Pinterest published an article about how they adopted the documentation-as-code approach. Since they use microrepos, the main challenge was to make documentation discoverable for their users across hundreds of repos.
What they did:
🔸 Moved their docs to git repos using markdown.
🔸 Used MkDocs in CI to generate HTML versions of the docs.
🔸 Created a central place to host and index docs called PDocs (Pinterest Docs).
🔸 Integrated docs with GenAI — an AI bot connected to the main company communication channels.
🔸 Built a one-click tool to migrate old wiki pages to git.
I don’t know any standard solution for doc aggregation across multiple repos, so it would be great if Pinterest open-sourced their PDocs in the future. I think it could really help a lot of teams to improve their documentation processes.
#engineering #documentation
Medium
Adopting Docs-as-Code at Pinterest
Jacob Seiler | Software Engineer, Internal Tools Platform
Jay Kim | Software Engineer, Internal Tools Platform
Charlie Gu | Engineering…
Jay Kim | Software Engineer, Internal Tools Platform
Charlie Gu | Engineering…
Forwarded from Gospodarka, towary, ceny 🏦
#płace
8670 zł #brutto na umowę o pracę to około 6240 zł #netto (na rękę). Na umowę zlecenie kwota netto wyniesie około 6390 zł, a na umowę o dzieło około 8138 zł.
♨️https://t.me/gospodarkaIpolityka/1007
2025-06
8670 zł #brutto na umowę o pracę to około 6240 zł #netto (na rękę). Na umowę zlecenie kwota netto wyniesie około 6390 zł, a na umowę o dzieło około 8138 zł.
♨️https://t.me/gospodarkaIpolityka/1007
2025-06
Replika ZX Spectrum 🤔
Pomysł przywrócenia do życia kultowych gier z lat 80 wydaje się dosyć karkołomny. Chociaż z drugiej strony... 😁
O mało nie kupiłem. Z sentymentu.
Retro Games The Spectrum - Ceny i opinie - Ceneo.pl
https://www.ceneo.pl/172198163?se=BIxJ7YvBAJU3t-WYmLxkUp-98Yg39fig&gad_source=5&gad_campaignid=1494918214&gclid=EAIaIQobChMIwY3Vm7OcjgMV2rj9Bx00xS7NEAEYASADEgIDdvD_BwE
Pomysł przywrócenia do życia kultowych gier z lat 80 wydaje się dosyć karkołomny. Chociaż z drugiej strony... 😁
O mało nie kupiłem. Z sentymentu.
Retro Games The Spectrum - Ceny i opinie - Ceneo.pl
https://www.ceneo.pl/172198163?se=BIxJ7YvBAJU3t-WYmLxkUp-98Yg39fig&gad_source=5&gad_campaignid=1494918214&gclid=EAIaIQobChMIwY3Vm7OcjgMV2rj9Bx00xS7NEAEYASADEgIDdvD_BwE
Forwarded from r/Linux memes
Forwarded from r/Linux memes
Forwarded from r/Linux memes
Forwarded from 👌🏼Ciekawostki & pomysły & fantazje🚀 (Tomasz Starszy od Arpanetu)
Forsal: Nawet doktorat nie wystarczy. Altman mówi, jakie zawody przetrwają AI
https://forsal.pl/praca/aktualnosci/artykuly/9825376,altman-ostrzega-ai-robi-to-co-doktorzy-zobacz-jakie-zawody-przetrwaja-w-2025-r.html
(...)
Jakie zawody są odporne na AI?
Według Tiffany Hsieh z Center for Artificial Intelligence and the Future of Work, zawodami względnie bezpiecznymi pozostają:
👩🏻🏫nauczyciele szkół podstawowych,
👷🏻♀️inżynierowie budownictwa,
👩🏻⚕️pielęgniarki,
🐕🦺opiekunowie medyczni,
👩🏻💼pracownicy usług opiekuńczych,
📑specjaliści ds. etyki AI i zarządzania danymi.
👩🏻💻Nowe, przyszłościowe role obejmują m.in. projektantów doświadczeń #AI, specjalistów od "data storytelling" czy konstruktorów agentów AI. Te kompetencje dopiero się kształtują, ale już są pożądane na rynku.
https://forsal.pl/praca/aktualnosci/artykuly/9825376,altman-ostrzega-ai-robi-to-co-doktorzy-zobacz-jakie-zawody-przetrwaja-w-2025-r.html
Rynek pracy zmienia się szybciej, niż moglibyśmy przypuszczać. Sztuczna inteligencja, jeszcze niedawno traktowana jako narzędzie wspomagające, dziś coraz częściej konkuruje z człowiekiem. W szczególności dotyczy to młodych ludzi wchodzących dopiero na rynek pracy. Eksperci ostrzegają: nawet dyplom uczelni wyższej może nie być wystarczający. W artykule analizujemy, co to oznacza dla polskich absolwentów i jak się przygotować na nową rzeczywistość.
(...)
Jakie zawody są odporne na AI?
Według Tiffany Hsieh z Center for Artificial Intelligence and the Future of Work, zawodami względnie bezpiecznymi pozostają:
👩🏻🏫nauczyciele szkół podstawowych,
👷🏻♀️inżynierowie budownictwa,
👩🏻⚕️pielęgniarki,
🐕🦺opiekunowie medyczni,
👩🏻💼pracownicy usług opiekuńczych,
📑specjaliści ds. etyki AI i zarządzania danymi.
👩🏻💻Nowe, przyszłościowe role obejmują m.in. projektantów doświadczeń #AI, specjalistów od "data storytelling" czy konstruktorów agentów AI. Te kompetencje dopiero się kształtują, ale już są pożądane na rynku.
FORSAL.PL
Zawody odporne na sztuczną inteligencję w 2025 roku. Altman: Nawet doktorat już nie wystarczy
Czy tytuł magistra lub doktorat wystarczy, by dostać dobrą pracę? Szef OpenAI, Sam Altman, nie zostawia wątpliwości: sztuczna inteligencja już teraz wykonuje zadania, z którymi mierzy się wykwalifikowany doktor. Co to oznacza dla młodych Polaków?
Forwarded from r/Linux memes
Forwarded from Programmer Humor