W najnowszym zestawieniu: gdzie zwalniają, jak chodzi o IT czyli informacje i statystyki. Zig i OCaml - coś o tych językach programowania, poza standardowymi z mojego newslettera. Plotki, co tam szykuje Apple i jak wydajne są jego najnowsze procesory mobilne. Bardzo pouczający artykuł o tym, jak można przekomplikować swoją stronę WWW i mieć przy tym zabawę. Trochę będzie z embedded, m.in: czym zasilać malinkę i w jakiej wersji, czy power bankiem, czy akumulatorem żelowym. Ogólnie mnóstwo linków + pozycje standardowe, czyli Go, Python i Rust jak zawsze, w tym z ciekawymi problemami ze StackOverflow.

Jeśli interesują Cię takie materiały i chcesz ich otrzymywać więcej - zapisz się do mojej listy mailingowej.

Materiały te są również częściowo publikowane w moim tagu #devopsiarz w serwisie wykop.pl

 

Produktywność

  1. Artykuł: Trochę standardowo o produktywności, jednak materiał zamieszczam głównie dlatego, że zawiera sporo linków do innych, nt. konkretnych i ogólnych sztuczek związanych z produktywnością. [tylko dla subskrybentów newslettera]

  2. Artykuł: Przeglądarka webowa to jedno z najczęściej używanych narzędzi, więc tutaj jakieś porady do produktywności mogą naprawdę dużo dać. [tylko dla subskrybentów newslettera]

Praca, kariera, biznes

  1. Artykuł: Tracker layoffsów - czyli masowych zwolnień w startupach IT. Ostatnio trochę się dzieje, a najnowszym negatywnym bohaterem jest Patreon.

Programowanie

  1. Artykuł: Podejście pewnego programisty do języka programowania OCaml. Język może się wydawać egzotyczny, ale warto przeczytać co napotyka doświadczony programista i co porównuje, bo to też jest wielce pouczające i otwiera oczy na wiele spraw w innych językach programowania.

  2. Artykuł: Wyglądają bardzo kryptycznie w wielu językach programowania, ale najczęściej spotkasz je w C/C++. Operatory przesunięć bitowych (bitwise operators). Opis tego jak działają, jak je rozumieć oraz dlaczego są czasami przydatne. [tylko dla subskrybentów newslettera]

  3. Artykuł: Jak działa sortowanie przez złączanie (merge sort) i jego przykładowa implementacja w Pythonie. Jak masz interview do FAANG i akurat tego szukałeś/aś to nie dziękuj. ;-) [tylko dla subskrybentów newslettera]

  4. Artykuł: Zig - nowy język programowania, który coraz bardziej przebija się na HackerNews. Czym jest, co go wyróżnia i dlaczego warto się nim zainteresować.

  5. Artykuł: Jak działa, oczywiście pod kątem algorytmu, narzędzie typu diff. Myślę, że bardzo ciekawa lektura, wszystko na przykładzie narzędzia napisanego w Rust, ale zaprezentowany algorytm jest uniwersalny. Myślę, że to ciekawy materiał zwłaszcza dla programistów, bo narzędzia tego typu są w naszej pracy nieodzowne i pomagają nam wyłapywać błędy.

  6. Artykuł: Engineering w pewnej znanej firmie i ciekawy problem: duży dataset i jak go optymalnie sprawdzić, by CPU nie mielił kilkadziesiąt sekund. Czytając ten artykuł poznasz 2 ważne struktury danych, na pewno do wykorzystania w normalnej pracy, ale na interview też mogą się pojawić. Na deser oczywiście profilowanie i sprawdzanie, co nam zjada ten drogocenny czas. Kilka kategorii z newslettera by się dało przyporządkować, pod ten artykuł. [tylko dla subskrybentów newslettera]

DevOps, Architektura, Linux

  1. Artykuł: Przykład overengineeringu - używanie Rusta do stworzenia strony WWW, która nie jest statyczna, a to co jest backendem, nie jest też żadnym generatorem. Autor się z tym nie kryje, że wynajduje koło od nowa i warto z tej perspektywy zobaczyć, jak można proste rzeczy pokomplikować. :)

  2. Artykuł: Pojawiają się już pierwsze wersje modułów kernela Linux, napisane w Ruscie.

  3. Artykuł: W jaki sposób używać warunków OR, AND czy NOT w takim niepozornym narzędziu jak stary dobry grep.

  4. Artykuł: Wysokiej jakości instrukcja stawiania swojego serwera poczty, ale tak na poważnie, czyli Postfix, Dovecot, ClamAV, Spamassasin i Roundcube jako webmail. Jeśli nudzisz się pocztą na Gmailu i chcesz poznać dużo zagadnień z DNS, SMTP i IMAP - wierz mi, że nie istnieje książka, która nauczy tego lepiej, niż tego typu instrukcja. To też gratka dla tych, którzy chcą koniecznie wiedzieć jak to wszystko działa pod maską, gdy wiadomość do nich przychodzi, jak i od nich wychodzi. [tylko dla subskrybentów newslettera]

Kubernetes

  1. Artykuł: Opisy kilku rodzajów autoscalerów, które Kubernetes oferuje wraz z potencjalnymi scenariuszami ich użycia.

  2. Artykuł: Trochę narzędzi do debuggowania klastra, może któreś z propozycji Ci się przydadzą. [tylko dla subskrybentów newslettera]

Embedded, Elektronika

  1. YouTube (14m): Może czas na coś niestandardowego: komputerek pokroju malinki, ale z procesorem RISC-V na pokładzie. Tutaj recenzja takiej maszyny i jej odpalenie wprost po zakupie.

  2. YouTube(21m): Zasilanie Raspberry Pi za pomocą power banka oraz akumulatora żelowego - na jakie czasy pracy można liczyć. Oczywiście można sięgnąć do dokumentacji i podliczyć teoretyczny scenariusz, ale testy jednak zaskakują.

  3. Artykuł: Czasem, nim się w coś na poważnie wejdzie, warto spróbować, choćby symulacji, np. w przeglądarce. I to oferuje ten serwis: wybierasz płytkę (np. arduino uno, pico) i możesz podpatrzyć pewne projekty. Możesz je oprogramować, uruchamiać, przerywać, a nawet robić własne połączenia. Udało mi się nawet zepsuć niektóre projekty łącząc zasilanie z masą, więc na jakieś minimalne odwzorowanie podstawowych problemów ten symulator pozwala.

  4. Artykuł: Masz zaległości z elektroniki? Jeśli tak, to jest tu pełny kurs podstaw, bardzo ładnie tłumaczący wszystko i całkowicie za darmo. W ogóle cały ten serwis, a nie tylko kurs, to jedna wielka skarbnica wiedzy. [tylko dla subskrybentów newslettera]

  5. Artykuł: W dniach 25-27 listopada w Krakowie ma mieć miejsce konferencja oraz hackathon poświęcony FPGA głównie, choć spodziewałbym się tematów związanych typu MCU, Elektronika itp. Agendy na czas publikacji link jeszcze nie ma, stąd napisałem “spodziewałbym się”. Jeśli jednak bawisz się FPGA, to jest dobra okazja by zgłosić się do tego wydarzenia.

  6. YouTube (10m): Jakie są mocne i słabe strony MCU Raspberry Pi Pico - jeśli jeszcze nie wiesz, to zdecydowanie warto oglądnąć, jak wypada ten mikrokontroler od Raspberry Foundation w porównaniu do innych.

  7. Artykuł: Przyznam, że to jeden z dziwniejszych projektów, zarówno jak chodzi o stronę moralną jak i czysto użytkową. O to Raspberry Pi Zero, jakiś haptyczny czujnik do butów i można komunikować się z silnikiem szachowym i grać z oponentami. Nie trzeba wychodzić do toalety i korzystać z telefonu jak w średniowieczu, tylko miły masaż stóp i już wiemy jak zaskoczyć przeciwnika na szachownicy. Chyba że źle “wmasujemy” ruchy, wtedy będzie problem bo silnik podpowie niedozwolony ruch. Po takim projekcie nie wiem czy teraz na ważniejszych turniejach nie będzie inspekcji butów. ;-)

  8. YouTube (7m): Czym są te tajemnicze Pull Up/Down rezystory, przez które niektórzy mogą mieć problemy z ogarnięciem swoich pinów. To też absolutne podstawy, jeśli chodzi o działkę embedded.

Go

  1. Artykuł: Przykładowa implementacja Circut Breaker, zwanego czasem pod nazwą Chaos Monkey. Bo psuć coś we właściwy sposób, to też sztuka, jak widać.

  2. Artykuł: Odczyt z wielu kanałów na raz - jak to zrobić dobrze, by się nie zablokować. [tylko dla subskrybentów newslettera]

  3. Stackoverflow: Co też może się wydarzyć jak pomylisz apostrofy w struct tagu, jeśli chcesz parsować JSONa.

  4. StackOverflow: Sprawdzanie jakiego typu jest nasz slice, oczywiście za pomocą reflect.

  5. YouTube (3m): Krótki film o cross kompilacji - jak prosto kompilować na inne platformy, a także, co nam może jeszcze ułatwić tę pracę.

  6. Artykuł: Jak za pomocą wbudowanego fuzzingu (od wersji 1.18) wykryć SQL Injection w naszym kodzie. Fuzzing polega na automatycznym poszukiwaniu błędów w danym oprogramowaniu za pomocą innego oprogramowania - to tak w wielkim skrócie. Tu w tym przypadku, runtime Go przychodzi nam z pomocą i jeśli użyjemy odpowiednich funkcji, to samo spróbuje wygenerować różne, czasem nam się nie śniące, dane, wśród których może się znaleźć takie, co spowoduje, że nasz kod nie zadziała zgodnie z naszym oczekiwaniem.

Python

  1. GitHub: W konfiguracji niektórych linterów też można się pogubić. Jeśli tym linterem jest flake8, wtedy możemy wspomóc się takim ciekawym narzędziem.

  2. Artykuł: Wprowadzenie do tworzenia tzw. Sankey diagrams w Pythonie za pomocą Plotly.

  3. Artykuł: Wprowadzenie do testów z użyciem pytest, w tym takie zagadnienia jak zarządzanie stanem, używanie fixtur, parametrów, i wiele innych.

  4. Artykuł: Lista kilku statycznych analizatorów kodu, które pozwolą Ci wyłapywać więcej błędów, zanim wdroższy na proda. [tylko dla subskrybentów newslettera]

  5. Artykuł: Szybki i prosty trick podnoszący troszkę wydajność, a nie wymagający przepisywania całej aplikacji. [tylko dla subskrybentów newslettera]

  6. Artykuł: Jeśli wybierasz się na rozmowę o pracę w której tematem może być znajomość Pythona, to tego typu lista Ci się na pewno przyda. W codziennej pracy również. [tylko dla subskrybentów newslettera]

Rust

  1. Artykuł: Kilka ważnych tipów do Rusta, które mogą się przydać przy codziennym developmencie. [tylko dla subskrybentów newslettera]

  2. GitHub: Prosty scraper do stron internetowych.

  3. GitHub: Tool do cross kompilacji projektu w Ruście, czyli kompilowania na architekturze, która jest inna od tej, na której docelowo aplikacja będzie uruchamiana (czyli apka docelowo będzie działać na Linux, a my pracujemy na Windows). Autorzy obiecują, że dzięki toolowi mamy koniec z instalowaniem niepotrzebnych rzeczy na systemie developera, które są czasami wymagane, gdy robimy tego typu kompilację “zgodnie ze sztuką” (patrz: liby do ssla). Ten problem rozwiązano z użyciem kontenerów.

  4. StackOverflow: W jaki sposób można pominąć puste obiekty, w sytuacji gdy deserializujesz tablicę (array) za pomocą biblioteki serde.

  5. Artykuł: Ten link pozwoli Ci znaleźć sporo odpowiednich materiałów do nauki programowania w języku Rust. Od materiałów dla początkujących, do tych dla zaawansowanych. [tylko dla subskrybentów newslettera]

Apple

  1. Artykuł: Najnowsze applowe A16, jest znowu wydajniejsze niż poprzednie: 15% szybsze CPU w porównaniu do A15, a wbudowane GPU to nawet 28%.

  2. Reddit: Maki z M1 - jak się sprawdzają w działce embedded - dyskusja na reddicie.

  3. Artykuł: Rzekomo dostawcy Apple już przygotowani na zamówienia nowych macbooków po październikowym evencie.

  4. Artykuł: Które nowości w iOS 16 są zarezerwowane tylko dla nowszych telefonów (np. XS i nowsze)

Laptopy, Mobile, PC

  1. Artykuł: Test mini PC Beelink SEi11. To konkurent dla znanego Intel NUC 11. Jeśli myśląc o PC, krzywisz się na widok kolejnego mebla w domu, to tego typu komputerki powinni Cię zainteresować właśnie.

  2. Artykuł: Test “MacBooka” od Huawei, czyli MateBooka. Czy lepszy od oryginału?

  3. Artykuł: Test laptopa z nowym procesorem Ryzen 5 6600H.