1. Microsoft Build 2021 za nami 🪟

Wysypało nam ostatnio konferencjami programistycznymi. Tydzień temu mieliśmy Google I/O (któremu wyjątkowo poświęciliśmy całą ostatnią edycję), za dwa tygodnie mamy WWDC, gdzie Apple pokaże swoje nowe systemy operacyjne. Poprzednie dni minęły zaś pod znakiem Microsoft Build - głównej, corocznej konferencji Microsoft dla programistów. Tym razem trochę krócej niż ostatnio w przypadku Google I/O - w ramach tej sekcji przybliżymy, jakie dowody swojej miłości do developerów pokazał Microsoft.

Microsoft Build (kiedyś Windows Developer Conference), 2000‌‌

W centrum zainteresowań firmy z Redmond, co ostatnio jest standardem, był Azure. Azure Confidential Ledger (ACL) jest nowym sposobem przechowywania wrażliwych danych. Jego unikalną własnością jest fakt, że dane zabezpieczone są na poziomie hardware, przetwarzane wyłącznie w specjalnej przestrzeni obliczeniowej. Nowej wersji doczekał się również Azure Arc, rozwiązanie przeznaczone dla chmur hybrydowych. Widać, że Microsoft mocno ma w sercu  (sercu, heh 💰) potrzeby użytkowników o najbardziej wyśrubowanych wymaganiach, jeśli chodzi o poziom ochrony danych. Oczywiście samych zapowiedzi związanych z Azure jest masa, wszystkie dostępne są tutaj.

Pojawił się również  .NET 6 Preview 4. Wydanie to dużo uwagi poświęca wsparciu ARM - zarówno applowskim M1, jak i tych napędzających maszyny z Windowsem, jak choćby niedawno opisywanego przez nas Samsunga. Wydanie to ma zrobić duży krok w kierunku zunifikowania całej platformy. Changelog jest opasły, dlatego zamiast przechodzić przez każdy z elementów w tym krótkim poście, pełną listę znajdziecie tutaj.

Ciekawym ogłoszeniem jest też współpraca między OpenAI, a Microsoftem. Obie firmy już w przeszłości nie raz podejmowały partnerstwo (dość powiedzieć, że algorytm GPT-3 jest licencjonowany Microsoftowi na zasadach wyłączności). Teraz obie firmy będą szukały młodych startupów potrafiących wykorzystać Data Science. W odróżnieniu od klasycznych VCs, celem funduszu jest wyłapywać małe ilości firm, ale z jak największym potencjałem, zapewniając im maksymalny poziom wsparcia. Dodatkowo, Microsoft pokazał też swój pierwszy produkt oparty o GPT-3 - Auto-Complete w ramach PowerApps. Pozwala on generować sugestie kodu na bazie zapytań w języku naturalnym.

No dobra, to który #programista15k zaczął się teraz pocić, przyznacie się 😅?

Swego czasu mieliśmy okazję wspominać Wam, że Windows przymierza się do wprowadzenia możliwości otwierania linuxowych okienkowych aplikacji. Funkcjonalność ta zmaterializowała się pod postacią nowej wersji Windows Subsystem for Linux, udostępnionej dla użytkowników znajdujących się w programie Windows Insiders.

Wszystko fajne, ja jednak jestem prostym człowiekiem, i to co przyciągnęło moją największą uwagę, to fakt, że Windows Terminal otrzymał tryb Quake. Dla tych którzy nie wiedzą co to jest, mamy do czynienia z możliwością utrzymywania terminala w pełnej gotowości, i “wysunięcia go” z góry pulpitu kombinacją klawiszy.

Od razu mówię - to nie jest mój pulpit 😉 

Początkowo ten tryb rozpromował właśnie Linuxowy emulator terminala Quake, na Macu zaś piszący ten tekst używał już nieżyjącego TotalTerminala - na szczęście iTerm posiada dość dobre, choć nie idealny wariant tego featura. Moje serduszko rośnie na fakt, że trafia on również do nowego windowsowego Terminala. Niby szczegół, ale jeśli kiedykolwiek miałbym wrócić do Windowsa - dzięki coraz lepszemu shellowi jawi się to jako nie tak przerażająca perspektywa.

Oczywiście, sam Build przynosi jeszcze więcej nowości, skupiliśmy się po prostu na tych najbardziej interesujących z naszej perspektywy. Pełną listę znajdziecie tutaj.

Źródła

2. Nowy “Increment” wydany - Konteneryzacja 🐳

Dostaliśmy kolejne wydanie Incrementa, magazynu od Stripe. Jak zwykle czytamy, jak zwykle polecamy i bardzo żałujemy, że tak trudno dopaść w Polsce edycje papierową.

Aczkolwiek jedno z wydań udało mi się dopaść w prezencie od @psmyrdek z platformy przeprogramowani.pl (którego tekst został wybrany do publikacji do tej edycji). Polecamy, chłopaki mają fajne materiały. ‌‌

W tym wydaniu uwagę poświęcono konteneryzacji jako takiej. Temat jest szeroki, można do niego podejść z różnych perspektyw, i tak to właśnie robi Increment. Mamy zarówno wprowadzenie do tematu dla osób, które przespały kilka ostatnich lat, ale również artykuły już stricte dla praktyków, jak sposoby osiągnięcia observability w kontenerach czy też sposoby na osiągniecie szeroko rozumianego “ściśletajności” danych w nich przechowywanych. Miejsce poświęcone zostało również np. porównaniu wersji Dockera - Community oraz Enterprise.

Prywatnie, moim ulubionym tekstem tej edycji jest zaś opis “backstage” Cloud Native Computing Foundation - ale ja też mam dosyć specyficzny gust, więc radzę Wam po prostu sprawdzić nową edycje. Jest dostępna dla każdego za darmo.

3. M1 z “nienaprawialną” podatnością - czy jest się czego bać? 😱

A na koniec news z gatunku bezpieczeństwa. Coś za dobrą passę miał ten M1.

W tym tygodniu przez społeczność programistów dość głośno przetoczyła się informacja o podatności procesorów M1, nazwanej przez jej odkrywców jako m1racles (mam wrażenie, że researcherzy nauczyli się, że aby kogokolwiek interesowały ich znaleziska, muszą wymyślić chwytliwą nazwę). Podatność ta została określona jako “nienaprawialna”. Czy to jednak coś groźnego?

M1 jest tak szybki (w uproszczeniu, jak nie chcecie uproszczeń zapraszam tutaj), ponieważ zastosowano w nim masą “szybkich ścieżek” komunikacyjnych. Ma to jednak swoje problemy, które sprytny programista może wykorzystać. Wykryto bowiem, że dwa uruchomione procesy mogą utworzyć sobie kanał do przesyłu danych i komunikacji między sobą, bez kontroli ze strony systemu operacyjnego. Możliwość ta jest pochodną sposobu, w jakim tworzone są rejestry oprogramowania (stąd też nazwa m1racles - M1ssing Register Access Controls Leak EL0 State).

Czemu nie da się tego problemu naprawić? Mechanizm działania jest tak mocno “niskopoziomowy”, że jedynym sposobem jego mitygacji byłoby zamknięcie całego systemu za warstwą podobną do maszyny wirtualnej. Całość doprowadziłaby do nieakceptowalnego spadku wydajności pracy - znacznie poważniejszego niż w wypadku kilkuletniego już Spectre i Meltdown, podatności procesorów x86, która w 2018 roku w wyraźny sposób (w niektórych przypadkach -  więcej niż 10%) ograniczyła moc obliczeniową komputerów.

Odpowiadając na zadane w tytule pytanie - czy jest się więc czego bać? Specjaliści uspokajają - aby aplikacja miała realną możliwość wymiany informacji między sobą, musiały by znajdować się pod kontrolą tych samych twórców. Nie jest to podatność w rodzaju wspomnianego Spectre, gdzie możliwe były odczyty danych zupełnie niezależnego procesu - tutaj dwie aplikacje mogą po prostu "szeptać" między sobą, a system operacyjny nie ma o tym najmniejszego pojęcia. Ryzyko jest więc nieduże, ale ciekawym jest, czy Apple pochyli się nad tym problemem w kolejnych iteracjach swojego procesora.

Źródła


‌Pamiętajcie, żeby spróbować Vived, jeśli chcesz otrzymywać tego typu treści spersonalizowane pod Ciebie!