1. Co tam w Google – Android, Rust, I/O, TensorFlow Lite, FloC
Rust jest dziwnym tworem. Nie jest on na pewno jedynym językiem programowania o którym w zasadzie każdy próbuje mieć jakąś opinie, ale też każde większe ogłoszenie bardzo szybko obiega świat programistów. Ostatnimi czasy Linus Torvald ogłosił iż rozważa użycie tego języka do pisania komponentów jądra Linuxa, co spotkało się ze sporym entuzjazmem społeczności. Nie inaczej jest z najnowszym ogłoszeniem od Google. Otóż nie pozostając w tyle za pingwinim kuzynem, Rust staje się jednym z języków dopuszczonych przez twórców Androida do rozwoju tego projektu. Jak widać stworzenie przez Mozillę fundacji okazało się być bardzo trafnym pomysłem i bardzo przyspieszyło wszelkie wdrożenia.
Na tym nie kończą się jednak ciekawe ogłoszenia ze stajni wielkiego G. Otóż okazuje się, że firma z Mountain View postanowiła wskrzesić swoją konferencję Google I/O – impreza odbędzie się 18-20 Maja. W 2020 roku nie została ona odwołana ze względu na przegrupowania jakim musiała poddać się firma po wybuchu epidemii Covid-19.
Bardzo cieszy mnie fakt, że Google postanowiło wrócić do tego eventu – było to show porównywalne do tego jak prezentują się konferencje Apple, a w towarzyszących jej spotkaniach Google IO Extended miałem przyjemność brać udział prawie co roku. Dobrze, że niektóre rzeczy tak łatwo nie umierają . Zwłaszcza, że Google ma zwykle naprawdę sporo ciekawych produktów do zaprezentowania.
Google AI opublikowało ostatnio bardzo ciekawą publikację na temat nowego Nest Hubu, który to zaopatrzony jest w… radar. Trochę jak kiedyś w wypadku Kinecta, pozwala on sterować całością bezdotykowo, za pomocą gestów. Co jednak nawet ciekawsze, okazuje się, że funkcję tą można zastosować również do… badania jakości snu. Radar skanuje otoczenie i potrafi wykryć z prawie stuprocentowym prawdopodobieństwem moment zaśnięcia. Bajer? Z pewnością, ale interesującym jest fakt, że analiza danych odbywa się w całości na urządzeniu, bez wysyłania czegokolwiek do chmury – całość oparta została o TensorFlow Lite. Dzięki temu sam Google nie dowiaduje się czy jesteś „sową” czy „skowronkiem”.
Kontynuując ten temat, Google ogólnie bardzo mocno „dba” o naszą „prywatność”. Otóż zaczęło w zeszłym tygodniu testy rozwiązania określanego jako Federated Learning of Cohorts (w skrócie FLoC). Zamiast dzielić się naszymi danymi z serwerami Google, analizą zachowań zajmować ma się sama przeglądarka. Ma ona każdemu użytkowników przydzielić id kohorty do których według niej należy. Według danych podanych przez Google, istnieć ma około 33 tysiące takich kohort, co pozwoli na niemal tą samą precyzje co obecne rozwiązania oparte na trackingu przez third-party cookies. O ile pewnie ucieszy to osoby najbardziej wrażliwe na dzielenie się swoimi danymi, w praktyce całość sprowadza się do bardzo podobnych problemów co tradycyjne podejście, a całość będzie w praktyce znacznie trudniejsza do zablokowania. Wady tego rozwiązania bardzo dobrze punktuje artykuł Electronic Frontier Foundation.
A to tak naprawdę nie wszystko co ciekawego wydarzyło się w świecie Google… ale ostatnie ogłoszenie zostawimy już sobie na edycje JVM
Uff, po tym jakże długiej sekcji #EverythingGoogle, mam dla was coś znacznie lżejszego. Corey Quinn jest autorem fantastycznego newslettera Last Week in AWS, straszliwym spamerem Twitterowym, a równocześnie osobą posiadającą zarówno zrozumienie rynku chmury, jak i uszczypliwego poczucia humoru. Corey jest de facto inspiracją naszych przeglądów, dlatego też bardzo cieszę się mogąc podzielić się z Wami jednym z jego tekstów.
Powodem nie tylko jest moja wspomniana już sympatia do samego autora, ale też fakt, że jego obserwacje na temat systemów operacyjnych pokrywają się mocno z trendami, które zauważam w kontekście tworzenia aplikacji. Przez długi czas maszyny wirtualne zyskiwały na popularności z powodu jednej ze swoich niewątpliwych zalet – otóż pozwalały one na pisanie oprogramowania niezależnego od bebechów platformy – “Write Once, Run Anywhere”. O ile kilkanaście lat temu było to kuszące, to teraz ekosystem w jakim powstaje oprogramowanie mocno się zmienił – pojawił się Docker, w zasadzie dzięki kontenerom mocno kontrolujemy środowisko w jakim uruchamia się nasza aplikacja, w związku z czym warstwa pośrednia maszyny wirtualnej okazuje się być nieco nadmiarowa (oczywiście to co pisze jest pewnym uproszczenie
m – maszyny wirtualne mają nieco więcej zalet).
W bardzo podobnym tonie Corey wypowiada się na temat systemów operacyjnych. Przedstawia on świat, w którym tak naprawdę nie jest bardzo istotne jaki system operacyjny stoi na Twojej EC2 na AWSie. Tak naprawdę w końcu i tak wszystko sprowadza się do odpalenia Dockera czy innego kontenera zawierającego aplikację. System operacyjny to właśnie taka dodatkowa warstwa – niezbędna, jednak w żadnym razie nie będąca w dzisiejszych czasach żadnym wyróżnikiem. Dlatego też płacenie np. za komercyjny support RedHata jest artefaktem czasów które już odeszły.
Oprócz tego co przedstawiłem w telegraficznym skrócie, Corey wysuwa sporo innych interesujących argumentów, dlatego też sugeruję lekturę całego tekstu – zwłaszcza. że ironiczny styl autora na pewno znajdzie swoich amatorów.
Na koniec trochę nerdzenia – uwielbiam gry tekstowe . Zawsze miały one dla mnie coś niesamowicie pociągającego, a przy całej swojej nieprzystępności posiadały masę jakiejś trudnej do zrozumienia magii. Moja miłość objawiała się przez lata tym, że np. zacząłem pisać własny framework do łatwego pisania drzewek tego typu gier (niestety, nigdy go nigdy nie skończyłem , aczkolwiek znalazłem jego szczątki na GitHubie), to jeszcze zacząłem kiedyś też tworzyć implementacje klasycznego już Zorka na Alexę
Stąd też odczułem sporo radości widząc, że naukowcy próbują nauczyć sztuczną inteligencję grać w tego typu gry. Czasem tego typu podejście pozwala dojść do dość zaskakujących wniosków – jak choćby te które osiągnął zespół naukowców z Princeton oraz Microsoft Research. Wzięli oni sobie na warsztat ciekawy problem: czy rozumienie (wcześniejsze wytrenowanie za pomocą uczenia przez wmocnienie w semantyce) języka w znaczący sposób wpływa na umiejętność podejmowania w nim decyzji.
W ramach swoich badań odkryli, że modele które “rozumiały” język angielski – w którym napisany jest choćby wspominany już w tekście Zork – w wypadku gier tekstowych wcale nie radziły sobie wiele lepiej od tych które absolutnie nie miały pojęcia o strukturze języka, traktując go jako ciąg symboli na których wykonywane były pewne operacje. Naukowcy traktują to jako swoiste wyzwanie i “benchmark”, pod który będzie można rozwijać przyszłe algorytmy semantyczne. Wyrażają też pewne zaniepokojenie – może w kontekście rozumienia tekstu zabrnęliśmy odrobinę w ślepą uliczkę i trzeba popróbować innych kierunków.
Tekst do którego linkujemy jest dość ciężki, dlatego polecam go głównie pasjonatom uczenie przez wzmacnianie i semantyk języków. Zaskakująco, żeby w pełni zrozumieć o co w całych badaniach chodziło, sugeruje zerknięcie do oryginalnego “papera” – lektura abstraktu oraz podsumowania mi osobiście bardzo wyklarowała o co w eksperymencie chodziło.
Dzięki naszym podsumowaniom wystarczy Ci 10 minut tygodniowo, aby mieć pewność, że nie przegapisz niczego w świecie Frontendu, JVM i Software Craftsmanship.
Bez spamu i bez wysiłku!
Zapisz się
Odkrywaj więcej dopasowanych treści!
Bądź na bieżąco ze światem IT i poszerzaj swoje horyzonty dzięki najlepszym artykułom wybranym specjalnie dla Ciebie.