/Silver

9 października

2023

Hyrum's Law: An observation on Software Engineering

Put succinctly, the observation is this:

    With a sufficient number of users of an API,
    it does not matter what you promise in the contract:
    all observable behaviors of your system
    will be depended on by somebody.

Over the past couple years of doing low-level infrastructure migrations in one of the most complex software systems on the planet, I’ve made some observations about the differences between an interface and its implementations. We typically think of the interface as an abstraction for interacting with a system (like the steering wheel and pedals in a car), and the implementation as the way the system does its work (wheels and an engine). This is useful for a number of reasons, foremost among them that most useful systems rapidly become too complex for a single individual or group to completely understand, and abstractions are essential to managing that complexity.

Defining the correct level of abstraction is a completely separate discussion (see Mythical Man-Month), but we like to think that once an abstraction is defined, it is concrete. In other words, an interface should theoretically provide a clear separation between consumers of a system and its implementers. In practice, this theory breaks down as the use of a system grows and its users start to rely upon implementation details intentionally exposed through the interface, or which they divine through regular use. Spolsky’s “Law of Leaky Abstractions” embodies consumers’ reliance upon internal implementation details.

Taken to its logical extreme, this leads to the following observation, colloquially referred to as “The Law of Implicit Interfaces”: Given enough use, there is no such thing as a private implementation. That is, if an interface has enough consumers, they will collectively depend on every aspect of the implementation, intentionally or not. This effect serves to constrain changes to the implementation, which must now conform to both the explicitly documented interface, as well as the implicit interface captured by usage. We often refer to this phenomenon as "bug-for-bug compatibility."

The creation of the implicit interface usually happens gradually, and interface consumers generally aren’t aware as it’s happening. For example, an interface may make no guarantees about performance, yet consumers often come to expect a certain level of performance from its implementation. Those expectations become part of the implicit interface to a system, and changes to the system must maintain these performance characteristics to continue functioning for its consumers.

Not all consumers depend upon the same implicit interface, but given enough consumers, the implicit interface will eventually exactly match the implementation. At this point, the interface has evaporated: the implementation has become the interface, and any changes to it will violate consumer expectations. With a bit of luck, widespread, comprehensive, and automated testing can detect these new expectations but not ameliorate them.

Implicit interfaces result from the organic growth of large systems, and while we may wish the problem did not exist, designers and engineers would be wise to consider it when building and maintaining complex systems. So be aware of how the implicit interface constrains your system design and evolution, and know that for any reasonably popular system, the interface reaches much deeper than you think.
Who's Hyrum?

I'm a Software Engineer at Google, working on large-scale code change tooling and infrastructure. Prior to that, I spent five years improving Google's core C++ libraries. The above observation grew out of experiences when even the simplest library change caused failures in some far off system.

While I may have made the observation, credit goes to Titus Winters for actually naming it as "Hyrum's Law" and popularizing the concept more broadly.

2022

NATO media before and after 2022

nato


We Francji zniesiono karę śmierci. Ostatnim katem był Marcel Chevalier.

karasmierci


2020

W skrócie: Rząd USA podnosi koszt zakupu “twardego dobra” jakim jest srebro.

The United States Mint recently adopted a new strategy for pricing products in its silver numismatic products portfolio. Prices for products containing silver will change EFFECTIVE October 13, 2020—applicable to silver products already on sale/those yet to be released. In order for the United States Mint to cover rising costs, meet its fiduciary responsibility to operate at no net cost to taxpayers, and return money to the Treasury General Fund, re-setting silver prices is necessary. The Mint’s goal, as a financially responsible Federal agency, is to always provide the best quality numismatic products while maintaining fair prices.

The first objective is to ensure that the numismatic portfolio (all product lines together) be self-sufficient and cover all associated costs. The new silver prices reflect a sound business decision aimed at meeting these obligations.

(No tax dollars are used to fund numismatic operations.) The United States Mint will continue to look for operations optimization and cost reduction efforts to deliver superior quality numismatic products at a fair price.


usd2020


(unknown year) Luis de Guindos counting bricks of paper notes:

luisdegundos

2020:

balancesheetecb


2019

Turcja rozpoczęła ofensywę w syryjskim Kurdystanie, otrzymawszy wcześniej zielone światło od USA. Amerykańskie wojska zeszły z drogi inwazji, by zapewnić sobie bezpieczeństwo. Kurdowie byli jeszcze przed chwilą kluczowym sojusznikiem USA przeciwko Państwo Islamskiemu. Teraz, zrobiwszy swoje, mogą odejść. Tak niestety działa realna polityka, gdy zasoby zaprzyjaźnionych imperiów się kurczą, nie starczając już do panowania na wszystkich frontach. Kurdowie stracili 11 tys. ludzi w wojnie z Państwem Islamskim. Liczyli na sojuszniczą wdzięczność, można też powiedzieć, że wierzyli w “kapitał krwi”. Tak jak my wielokrotnie w historii, zwłaszcza podczas II wojny światowej. Niestety, do dziś trudno się w Polsce przebić z krytyką tych idei i opartej na nich polityki. Sojusz z USA jest nam fundamentalnie potrzebny i oby był jak najmocniejszy. Ale musi być oparty na chłodnej kalkulacji, przemyślanej strategii i wspólnocie interesów, nie na miłych frazesach i romantycznych złudzeniach. Tak samo jak wszystkie inne sojusze. Walka, poświęcenie życia za ojczyznę - są czasem konieczne i zawsze godne najwyższego uznania. Ale muszą być częścią racjonalnej kalkulacji i strategii, inaczej oscylują między krwawą loterią a samobójstwem. Na tym polega wielka odpowiedzialność polityków. Obyśmy nigdy więcej nie opierali polityki państwa na takich złudzeniach jak nasi przodkowie i dzisiejsi Kurdowie. Na zdjęciach cywile uciekający z bombardowanych przez Turków kurdyjskich miast. Publikuję je w ślad za tweetem red. Jarosława Kociszewskiego.

kurdowie

Szyszko Szyszką, wybory wyborami, ale jest sprawa naprawdę ważniejsza. Dosłownie kilka godzin temu turecka armia przypuściła atak na tereny północnej Syrii. Znajdują się one obecnie pod administracją Kurdów związanych z partią polityczną o nazwie PYD (Partia Unii Demokratycznej - to jej barwy mam na profilowym) i są określane jako Rożawa. To właśnie Rożawa, rękami swoich żołnierzy z Powszechnych Jednostek Ochrony (YPG) i żołnierek z Kobiecych Jednostek Ochrony (YPJ), ma zasługę dla całego świata, gdyż pokonała Państwo Islamskie (ISIS). Nie bez pomocy, ale bez tych dzielnych ludzi i ich poświęcenia ISIS miałoby się świetnie do tej pory. Kilka dni temu Donald Trump dał prezydentowi Turcji Erdoganowi zielone światło do napaści na Rożawę. Ta niepoczytalność i zwykły debilizm Trumpa jest krytykowana od lewa do prawa w Stanach. Ta decyzja to hańba, to zdrada, to wystawienie milionów ludzi na ogromne zagrożenie, pierwsze jej ofiary już zresztą są. Ktoś może pomyśleć, że w sumie co z tego? Kolejny konflikt gdzieś na końcu świata, co mnie to obchodzi? Nie wartościując niczyjego cierpienia i życia trzeba zauważyć, że różnica polega na tym, iż autonomiczna Rożawa oprócz tego, że wytłukła i więzi szalenie niebezpiecznych dla całego świata islamskich fundamentalistów z ISIS, za co wszyscy powinniśmy być dozgonnie wdzięczni, to jeszcze niesie na Bliskim Wschodzie idee i wartości, które mogłyby tam zaprowadzić w końcu trochę porządku i spokoju. A porządek i spokój na Bliskim Wschodzie oznacza zmniejszenie fali uchodźców do Europy. Zaczynacie trybić? Rożawa wprowadza jako standard takie idee jak równouprawnienie kobiet oraz zakaz poligamii, swobodę wyznania, równość wszystkich grup etnicznych, zakaz tortur i kary śmierci. Opiera się na zasadach demokracji bezpośredniej i ideach feministycznych (np. każdy urząd główny jest dwuczłonowy, obejmuje go na równych zasadach mężczyzna i kobieta). Nie tylko na tle tego regionu są to idee niezwykle progresywne i wnoszące wysokie standardy. Co zaś stoi za Turcją Erdogana? Turcja Erdogana to zwierzęcy nacjonalizm, fanatyczny i równocześnie instrumentalnie traktowany islam, militaryzm, zamordyzm i drwina z demokracji, to imperialistyczne (póki co w skali regionu) zapędy. To popieranie dżihadystów, religijnych maniaków zdolnych do każdej zbrodni: niewolenia kobiet, gwałcenia dzieci, obcinania głów. Turcja oficjalnie i bez cienia żenady wspiera islamskie, fundamentalne bojówki. Zaś turecką agresję na Rożawę oficjalnie poparła Al Kaida (!). Rozważcie sami po czyjej stronie w tym konflikcie należy stanąć. Zastanówcie się dlaczego należy się tą sprawą interesować, dlaczego to jest ważne. Wiele zrobić nie możemy, ale przynajmniej nie bądźmy obojętni. Tyle możemy, to wręcz nasz, jako ludzi, obowiązek.

usa


Andreessen Horowitz Leads $300 Million Investment in RigUp Financing brings the valuation of the startup aimed at energy contractors to $1.9 billion

RigUp Inc., which operates a marketplace for contract workers in the energy sector, surged to a $1.9 billion valuation with a new infusion of capital, according to a person familiar with the situation.

Andreessen Horowitz led the $300 million Series D financing in the Austin, Texas-based startup, using its recently formed late-stage fund.

1997

electroniccrypto

1989

https://de.wikipedia.org/wiki/Wir_sind_ein_Volk

1980

Czesław Miłosz otrzymał Literacką Nagrodę Nobla za “bezkompromisową wnikliwość w ujawnianiu zagrożenia człowieka w świecie pełnym gwałtownych konfliktów”.

1948

W Berlinie porwany został, a następnie osadzony w więzieniu na Mokotowie Tadeusz Bejt były żołnierz Armii Krajowej, uczestnik Powstania Warszawskiego , kurier KG AK, agent do zadań specjalnych. Bejt organizował granicy polsko-niemieckiej, a także przerzuty z kraju na Zachód osób ściganych przez służby bezpieczeństwa i rodzin pozostających za granicą oficerów 2. Korpusu gen. Władysława Andersa. 18 listopada 1948 roku warszawski Wojskowy Sąd Rejonowy pod przewodnictwem pułkownika Józefa Badeckiego (zdjęcie) skazał go na karę śmierci, którą wykonano 11 lutego 1949 roku.

bejt

1944

To miasto ma całkowicie zniknąć z powierzchni Ziemi i służyć jedynie jako punkt przeładunkowy dla transportu Wermachtu. Kamień na kamieniu nie powinien pozostać. Wszystkie budynki należy zburzyć do fundamentów. Pozostaną tylko urządzenia techniczne i budynki kolei żelznych”

Tak brzmiał rozkaz zburzenia Warszawy wydany 9 października 1944 roku przez Reichsfuhrera SS Heinricha Himmlera. O tym jak bardzo Niemcy zaangażowali się w realizację tego planu niech świadczy fakt, że Warszawa została zniszczona niemal w 100 procentach, a jedynym nienaruszonym budynkiem mieszkalnym był dom przy ulicy Długiej. Planowe burzenie stolicy dokonane w głównej mierze przez żołnierzy jednostki saperskiej Technische Nothilfe trwało do stycznia 1945 roku, kiedy to do Warszawy dotarła sowiecka ofensywa.


Opuściły Warszawę ostatnie oddziały AK, zabezpieczające ewakuację ludności cywilnej z miasta. Jeszcze raz Niemcy przejęli pełną kontrolę nad umęczoną stolicą. Ich zamiary w stosunku do miasta natychmiast stały się jasne.

1921

https://pl.wikipedia.org/wiki/Tadeusz_R%C3%B3%C5%BCewicz

1621

Pod Chocimiem zawarto układ pokojowy kończący toczące się od ponad miesiąca walki między wojskami polsko-kozackimi dowodzonymi przez Jana Karola Chodkiewicza i Piotra Konaszewicza Sahajdacznego, a armią turecko-tatarską pod wodzą sułtana Osmana II.

chocim

1610

Polacy zdobyli Kreml. Rosja przestała istnieć jako suwerenne państwo. Dowództwo nad nimi Żółkiewski oddał w ręce Aleksandra Gosiewskiego. Mennica moskiewska rozpoczęła bicie srebrnych kopiejek z imieniem nowego cara Władysława Zygmuntowicza.


Edytuj tę stronę dzieląc się własnymi notatkami!

Subscribe to Notatki historyczne Tomka

Get the latest posts delivered right to your inbox

Tomasz Waszczyk

Tomasz Waszczyk

Ten kto nie szanuje i nie ceni swej przeszłości nie jest godzien szacunku teraźniejszości ani prawa do przyszłości. || Matthew 25:26-27 || Isaiah 60:18

Read More