Cześć!
Dzisiejsze wydanie newslettera jest bardziej rozbudowane niż zwykle (39 linków! 😱). Trochę się rozpisałem, ale i natrafiłem na sporą ilość naprawdę dobrych treści.
Przygotowanie dzisiejszego wydania zajęło mi dużo czasu, bo ze względu na poruszane dziś tematy, ciągle trafiałem do spamu... trochę musiałem się nagimnastykować, aby to obejść, stąd tyle kombinacji z tytułem i treścią. Niektóre z linków (te dotyczące pierwszego słowa ze screena) musiałem także skrócić, aby newsletter dotarł na Twoją skrzynkę 😕
Na początek mam dla Ciebie dwie dobre informacje:
Życzę przyjemnej lektury :)
◢ #unknownews ◣
Rok temu Salvador zaakceptował (wiesz jaką kryptowalutę) jako oficjalną walutę w kraju - jak wypadł ten eksperyment?
https://bit.ly/salvador-artykul
INFO: (nazwa waluty) został drugą oficjalną walutą kraju, a sam prezydent (dyktator) będący ogromnym entuzjastą kryptowalut postanowił kupić dla kraju waluty o wartości ponad 100m USD. Czy kraj zamienił się w planowany kryptowalutowy raj podatkowy, a jego mieszkańcy zaczęli ochoczo akceptować nową walutę? Nooo… niezupełnie.
Dlaczego deadline w projektach często nie mają sensu i co robić zamiast tego?
https://lucasfcosta.com/2022/09/15/deadlines.html
INFO: Deadline to fundament niemal każdej firmy zajmującej się wytwarzaniem oprogramowania. Wszyscy znamy prawo Parkinsona, które może sugerować, że deadline powinny być możliwie krótkie, aby efektywniej wykorzystać czas. A co jeśli mielibyśmy się zupełnie pozbyć takiego podejścia do zadań? Czym je zastąpić i czy usunięcie deadline sprawi, że świat się zawali? Warte przemyślenia podejście.
Dub - otwartoźródłowa alternatywa dla Bitly
https://dub.sh/
INFO: Skracanie linków w świecie social mediów to powszechna praktyka. Jednym z najpopularniejszych narzędzi wykorzystywanych w tym celu jest Bitly. Co jednak gdy zależy Ci na własnej domenie i lepszych statystykach? Przyjdzie Ci za to płacić i to niemało. Dub może być ciekawym rozwiązaniem. Jeśli zdecydujesz się na wersję self-hosted z GitHuba, to osiągniesz podobne rezultaty do komercyjnej wersji Bitly, bez konieczności kupowania wersji PRO.
Zabezpieczenia antykradzieżowe - ochrona przed złodziejami (film, 20 minut)
https://www.youtube.com/watch?v=uelwyBk7H-Y
INFO: Dlaczego w niektórych bankomatach znajduje się farba? Jak przyłapać kogoś na kradzieży wykorzystując niewidoczny spray? Po co w ubraniach ze sklepów internetowych takie wielkie metki? Jak ochronić wodomierz przed magnesem neodymowym? W tym Kacper Szurek opowiada o nietypowych zabezpieczeniach antykradzieżowych.
Lista 30 pytań na temat projektowania systemów dla programistów (rekrutacja)
https://faun.pub/top-30-system-design-interview-questions-and-problems-for-programmers-417e89eadd67
INFO: Jak zaprojektowałbyś crawlera webowego? Jakiej metody użyłbyś przy projektowaniu maszyny vendingowej? Jakie problemy napotkasz przy implementacji systemu sprzedającego bilety na koncerty? To nie tylko zbiór pytań, ale i odpowiedzi na nie (i często linków do dodatkowych materiałów). Nawet jeśli nie szukasz pracy i nie jesteś projektantem takich systemów, to i tak warto rozszerzyć swoją wiedzę.
Serwisy aukcyjne zostaną zasypane używanymi kartami graficznymi? (ETH)
https://www.tomshardware.com/news/gpu-mining-is-now-unprofitable
INFO: Po ostatnim merge na Ethereum, kopanie tej waluty za pomocą GPU przynosi ujemny przychód (no, chyba że masz prąd od sąsiada…). To zła wiadomość dla kopaczy, ale być może dobra dla… graczy?
Paradoks inspekcji/kontroli (Inspection Paradox) - czyli ciekawa iluzja statystyczna
https://towardsdatascience.com/the-inspection-paradox-is-everywhere-2ef1c2e9d709
INFO: Jak to się dzieje, że linie lotnicze skarżą się na puste loty, a pasażerowie na przepełnione samoloty? Jak to jest, że statystyczny uczeń collage z USA powie, że przeciętna klasa ma 90 uczniów, a przedstawiciel szkoły powie, że 36, a przy tym nikt nie będzie kłamał? Na czym polega ten paradoks i dlaczego zawsze musisz czekać tak długo na autobus? Tego dowiesz się z artykułu. Tekst ma już 3 lata, ale uznałem go za wartościowy, więc chcę się nim z Tobą podzielić.
Skrajnie nieefektywny (i geekowy) sposób na zrzucenie 9kg - rozważania fizyczno-matematyczne
https://nautil.us/lose-weight-the-slow-and-incredibly-difficult-way-239703/
INFO: Ja wiem, że można tutaj rozprawiać o diecie, ćwiczeniach fizycznych, dostatecznej ilości snu i przeróżnych specyfikach, ale istnieje jeszcze jedna metoda! Nie jest prosta, ale powinna działać. Pamiętaj, że na to ile ważysz, wpływ ma rozmiar planety, na której się znajdujesz. Ile więc ton skał musisz wysłać w kosmos, aby waga wskazała te 9kg mniej? Ciekawe i zabawne podejście do tematu :D
SurrealDB - niezwykła baza danych przedstawiona w 100 sekund (film)
https://www.youtube.com/watch?v=C7WFwgDRStM
INFO: Czy to jest baza SQL, czy NoSQL? Ma strukturę, czy może jest to baza schemaless? Obsługuje relacje między rekordami? To storage persystentny, czy może trzymany w RAM-ie? Odpowiedzi na te wszystkie pytania brzmią… TAK :D
Hackowanie aplikacji do testów online - szybki sposób na zadania domowe
https://alistair.blog/mochip
INFO: Interesujący opis metody, jaką znalazł jeden ze studentów na ekstremalnie szybkie (kilka sekund) rozwiązywanie zadań domowych zleconych przez nauczyciela. W praktyce polegało to na sprytnym dobraniu się do API używanego przez frontend w celu oznaczania wszystkich pytań jako zaliczone.
Jak to jest być usuniętym z Google z powodu narzędzi, których używa Twoja firma? (Kapwing)
https://www.kapwing.com/blog/google-erased-our-website/
INFO: Popularne narzędzie online dla twórców o nazwie ‘Kapwing’ zostało wyrzucone z indeksu wyszukiwarki Google za używanie narzędzia ‘youtube-dl’ w oferowanych przez siebie usługach (umożliwiają wklejenie linka do YT w celu przerobienia filmu w ich edytorze). Artykuł zawiera opis całego procesu pozbywania się niewygodnych stron z indeksu, jak i metod na odwołanie. Autorom niestety nie udało się jeszcze rozwiązać problemu.
Czym są ‘Super Aplikacje Mobilne’ i dlaczego podbijają rynki krajów rozwijających się?
https://afridigest.com/super-apps-in-emerging-markets/
INFO: W krajach europejskich i USA przyzwyczailiśmy się do aplikacji pojedynczego przeznaczenia. Masz aplikację do zakupów, do zamawiania taxi, do płacenia za przejazdy hulajnogami, do rozmawiania ze znajomymi itp. Dlaczego w Azji i Afryce ludzie preferują ‘super apps’, które realizują kilka, a niekiedy i kilkadziesiąt różnych funkcji?
Trzy popularne metody cachowania danych z bazy danych
https://dennylesmana.medium.com/what-is-database-caching-ceebe57de9ba
INFO: Cache ‘z boku’, cache typu ‘read/write-through’ oraz ‘write-back/behind’. Czym są podejścia i które z nich warto zaimplementować w swojej aplikacji? Krótki artykuł pokazujący zalety i wady każdego z nich.
Lista 5 błędów często popełnianych w kodzie przez programistów Javy
https://scribe.rip/javarevisited/5-mistakes-99-java-developers-makes-2bc4b0e49ace
INFO: Błędne porównanie wartości, błędne podejście do usuwania duplikatów z tablicy, błędna obsługa wyjątków w thread pool i inne.
Przyspiesz swoją aplikację poprzez cachowanie odpowiedzi CORS
https://httptoolkit.tech/blog/cache-your-cors/
INFO: Wiele współczesnych aplikacji korzysta z CORSów. Generuje w ten sposób dziesiątki dodatkowych (często też zbytecznych przy pytaniu o ten sam zasób) requestów. Można ten problem ograniczyć poprzez dodanie obsługi cache do odpowiedzi CORSa. Zobacz, jak to zrobić i jakie daje to rezultaty.
Jam - idealne narzędzie do zgłaszania bugów na stronie podczas testów
https://jam.dev/
INFO: To wtyczka do przeglądarki Chrome. Tester, czy designer, który ocenia Twoją aplikację, po prostu wykonuje screenshota i zaznacza to, co wg niego wymaga poprawy. Czym to się różni od zwykłego screena? Razem z zapisanym obrazkiem dołączone są wszelkie informacje na temat jego przeglądarki. Do tego lista requestów z zakładki ‘network’, pełne logi z konsoli JS oraz informacje, na jakim urządzeniu to testował (system, rozdzielczość itp.). Może to drastycznie skrócić czas potrzebny do usunięcia buga poprzez uniknięcie dodatkowych pytań do testerów. Wersja dla pojedynczego usera jest bezpłatna.
Cztery JavaScriptowe API, o których być może nigdy nie słyszałeś
https://www.smashingmagazine.com/2022/09/javascript-api-guide/
INFO: PageVisibility, WebShare, Broadcast, Internationalization - mówią Ci coś te nazwy w kontekście JSa? Warto rzucić okiem, aby uzupełnić swoją wiedzę.
Wikipedia Speedruns - jak szybko umiesz przeszukiwać Wikipedię? (gra)
https://wikispeedruns.com/
INFO: Ponoć każde dwa hasła w Wikipedii dzieli skończona (często jednocyfrowa) odległość liczona w linkach. Jak szybko znajdziesz takie połączenie? Wpisz pierwsze i drugie hasło (po angielsku!) i klikając linki, postaraj się w możliwie krótkim czasie przemieścić się między artykułami. Na rozgrzewkę sugeruję użyć dwóch haseł z podobnej dziedziny (np. dwóch aktorów, czy dwa zespoły muzyczne). Gra jest dość trudna.
Devtools-X - kolekcja narzędzi (offline) dla developerów
https://github.com/fosslife/devtools-x
INFO: To ‘wszystkomająca’ aplikacja ułatwiająca życie programistom. Wbudowany klient API REST-owego, tester wyrażeń regularnych, color picker, formater i minifikator JSONa, generatory hashy, parser JWT, przelicznik systemów liczbowych, renderowanie Markdown, konwerter jednostek i inne. Wszystko to zamknięte w jednej prostej aplikacji działającej na Windowsie, Linuksie i Macu.
Siedem sposobów na wywołanie funkcji w JavaScript
https://portswigger.net/research/the-seventh-way-to-call-a-javascript-function-without-parentheses
INFO: “Do czego mi po potrzebne?” zapytasz. Jeśli jesteś pentesterem i chcesz obejść skomplikowane filtrowanie w aplikacji webowej w celu wywołania ataku XSS, to ta wiedza może Ci się bardzo przydać. Może też posłużyć do zabłyśnięcia na rozmowie o pracę ;)
Czy (ajpopularniejsze crypto) to dobre rozwiązanie jako lokata kapitału?
https://bit.ly/artykul-o-inwestowaniu
INFO: Garść raczej nieprzychylnych dla fanów crypto przemyśleń na temat crypto. Pamiętaj, że nie jest to prawda objawiona, a jedynie przemyślenia autora, który od 2014 roku siedzi w świecie crypto. Jak wygląda (z matematycznego i ekonomicznego punktu widzenia) przyszłość tej kryptowaluty?
WebTransport - powstaje alternatywa dla websocketów?
https://web.dev/webtransport/
INFO: WebTransport to API oferujące szybką, dwukierunkową komunikację typu klient-serwer dla aplikacji webowych. Czym różni się od innych, podobnych rozwiązań technologicznych i kiedy będzie można z tego bezpiecznie korzystać?
Jak kształt kratki (tzw. grilla) w obudowie PC wpływa na poziom głośności i wydajność wentylacji?
https://www.pugetsystems.com/labs/articles/Effects-of-Grill-Patterns-on-Fan-Performance-Noise-107/
INFO: Grille przeważnie wybiera się ze względu na ich estetykę lub zostawia się taki, jaki był w komputerze oryginalnie, bo to w końcu mało ważny komponent. Czyżby? Wybranie dobrego grilla może mieć znaczący wpływ na głośność Twojego komputera i to jak dobrą cyrkulację powietrza uzyskasz w jego obudowie.
Jak popularne jest oglądanie filmów z napisami? (mowa także o social mediach).
https://www.wsj.com/articles/why-do-all-these-20-somethings-have-closed-captions-turned-on-11663386473
INFO: Twórcy dorzucają napisy do InstaStory, do filmów na TikToku i coraz częściej do nagrań na YouTube. To ukłon w kierunku osób z ograniczeniami? Niekoniecznie. Zdziwisz się jak bardzo popularne (badanie z USA, nie wiem, jak jest u nas) jest oglądanie filmów z włączonymi napisami. Może warto przemyśleć ich dodanie do własnych produkcji?
Nadchodzi iOS 16.1 - co nowego? (nie bugfixy!)
https://scribe.rip/macoclock/the-ios-16-1-update-is-much-bigger-than-weve-expected-7-amazing-features-c6a659194809
INFO: Można się spodziewać, że szybkie przygotowanie wersji 16.1 w chwilę po premierze 16.0 to głównie bugfixy. Niekoniecznie. Okazuje się, że nowa edycja systemu dla iPhone przynosi (poza bugfixami oczywiście) przynajmniej 7 nowych, użytecznych/ciekawych zmian.
Kolizje hashy - czyli jak uzyskać dwa zupełnie różne obrazki z tym samym hashem (tutaj MD5)
https://github.com/corkami/collisions#pdf
INFO: Funkcja skrótu powinna w teorii dawać ten sam wynik dla dwóch identycznych danych wejściowych. Co jednak gdy zwraca ona te same wyniki dla zupełnie różnych danych? Mówimy wtedy o kolizji. Większość kolizji przytrafia się przypadkiem, ale korzystając z odpowiednich algorytmów, można takie zjawisko wywołać w sposób celowy i kontrolowany, nie zawsze w dobrym celu ;)
Lepsze ID obiektów w API - jak zaprojektować je w wersji przyjaznej dla człowieka?
https://dev.to/stripe/designing-apis-for-humans-object-ids-3o5a
INFO: Programiści pracujący z różnego rodzaju API mają niekiedy problem z rozróżnieniem, czego numer ID właśnie umieścili w kodzie. Jest to ID transakcji, użytkownika, produktu, a może jeszcze coś innego? To ID powinno być numeryczne, alfanumeryczne, czy może iść w stronę UUID? Zobacz w jak sprytny (i niezwykle prosty) sposób poradzili sobie z tym pracownicy platformy Stripe.
Betterbird - Thunderbird na sterydach
https://betterbird.eu/
INFO: Twoim ulubionym klientem pocztowym jest Mozilla Thunderbird? TO Betterbird z pewnością Ci się spodoba. Zawiera on wszystko to, czego brakuje jego pierwowzorowi, a o co prosili użytkownicy. Warto kliknąć linka ‘feature table’ i zobaczyć, co zostało dodane do oryginalnego kodu. Aplikacja działa na Windowsie, Linuksie i Macu.
Czym jest podejście “Backend for frontend” przy tworzeniu webaplikacji?
https://blog.frankel.ch/backend-for-frontend/
INFO: Twórcy aplikacji webowych zakładają, że ich dedykowanymi czytnikami są po prostu przeglądarki internetowe. Co jednak gdy treści konsumowane są intensywnie przez urządzenia i aplikacje z różnym zestawem obsługiwanych funkcji? Sama przebudowa frontendu nie zawsze wystarczy. Jak temu zaradzić? Podejście ‘BFF’ może być rozwiązaniem tego problemu.
GitUI - szybki, terminalowy interfejs do przeglądania repozytorium GITa
https://github.com/extrawurst/gitui
INFO: Przydatne, jeśli chcesz bardzo szybko przeglądnąć historię commitów i nie masz ochoty na wpisywanie dziesiątek komend do podglądu każdego commita. Podobnych rozwiązań jest już sporo, ale GitUI jest 2x szybszy od ‘lazygita’ i ponad 10x szybszy od ‘tiga’ (testowano na repo z 900+ tysiącami commitów).
Co się zmieniło w formularzach HTMLowych w 2022 roku?
https://css-tricks.com/whats-new-with-forms-in-2022/
INFO: Okazuje się, że zmian wprowadzonych globalnie przez wszystkie (lub prawie wszystkie) przeglądarki było całkiem sporo. Przede wszystkim rozbudowano JavaScriptowe API do ich obsługi i dodano kilka nowych możliwości stylowania formularzy i ich elementów w CSS.
Kolekcja 19 użytecznych snippetów w JavaScript
https://madza.hashnode.dev/19-practical-es6-snippets-to-solve-common-js-problems
INFO: Uruchamianie trybu pełnoekranowego, implementacja smooth-scroll, generowanie UUID, praca ze schowkiem, wygodniejsze dodawanie CSSa do elementów (to jest fajne!) i wiele innych.
H-M-M - terminalowe narzędzie do tworzenia map myśli
https://github.com/nadrad/h-m-m
INFO: Lubisz tworzyć notatki w postaci map myśli, a do tego jesteś wielbicielem pracy w terminalu? H-m-m, czyli Hackers Mind Map to narzędzie, które w wygodny i schludny sposób pozwoli Ci utworzyć takie mapy w środowisku CLI. Plusem tego rozwiązania jest to, że plik wynikowy zawierający mapę ma format tekstowy, więc dość łatwo jest go przebudowywać w dowolnym edytorze.
Slash - narzędzie poprawiające poziom skupienia w pracy przy komputerze
https://getslash.co/
INFO: Możesz podłączyć swoją listę ToDo do tej aplikacji i ustalić, nad czym chcesz pracować danego dnia i po kolei przechodzić przez zadania. Aplikacja cyklicznie przypomina Ci (pasek na dole ekranu), nad czym powinieneś się skupić. Wersja darmowa jest ograniczona do max. 50 zadań, ale gdy zaprosisz znajomych, to każda zaproszona osoba da Ci dodatkowe 50 sztuk. Wersja unlimited kosztuje $5/msc.
Jak projektować lepsze API REST-owe?
https://r.bluethl.net/how-to-design-better-apis
INFO: Ten artykuł to zbiór 15, niezależnych od używanej przez Ciebie technologi czy języka, porad, które możesz natychmiast zastosować podczas tworzenia API REST-owego.
BookmarkFS - czyli hostowanie plików w… storage zakładek Chrome
https://github.com/CoolElectronics/bookmarkfs
INFO: Google oferuje użytkownikom przeglądarki Chrome przestrzeń na przetrzymywanie swoich zakładek, aby synchronizować je między urządzeniami, a chmurą. Ile jest tej przestrzeni? Tego nie wiadomo, ale jeden z użytkowników postanowił użyć ją do hostowania swoich plików, które zakładkami zdecydowanie nie są. Jak widać, udało mu się. Ten projekt nie ma większego sensu, ale pokazuje, że się da ;)
LINKI TYLKO DLA PATRONÓW
Bezpieczeństwo AWS - zestaw zadań dla Pentesterów
https://uw7.org/un_3d92fcdf29b58
INFO: Zaatakuj Lambdę, buckety S3, CloudFormation i serwery EC2. Aby rozpocząć zabawę, musisz się zarejestrować. Zadania mają różne poziomy trudności.
Jak obchodzić zabezpieczenia stosowane przez Cloudflare - poradnik
https://uw7.org/un_ce912a8b3b5e0
INFO: Autor opisuje w długim (bardzo długim) artykule, w jaki sposób Cloudflare blokuje boty i próby scrapowania treści. Podpowiada także, co można zrobić, aby te blokady ominąć. Dobry poradnik dla każdego, kto chce zautomatyzować pobieranie danych ze stron schowanych za CF.
Narzędzie zmieniające co request Twój numer IP
https://uw7.org/un_c2288d60dd6b1
INFO: To biblioteka pythonowa używająca pod spodem jedną z usług AWS, która dysponuje dziesiątkami tysięcy wychodzących adresów IP. Dzięki niej, każdy Twój request może mieć teoretycznie unikalny adres IP. Jak to wygląda kosztowo? Około $3 za milion requestów + niecałe $1 za każdy GB wygenerowanego transferu.
Zobacz poprzednie wydania newslettera:
Lubisz czytać mój Newsletter? Podziel się nim proszę ze znajomymi ⬇️
Wersja webowa aktualnego wydania
Do zobaczenia za tydzień 👋
pozdrawiam Jakub 'unknow' Mrugalski |
Jeśli nie chcesz więcej otrzymywać ode mnie wiadomości, zawsze możesz się wypisać.