Witam w Nowym Roku. Jak nakazuje tradycja – pora na podsumowanie starego roku i plany na nowy. Ostatni rok upłynął mi pod znakiem delegowania zadań, testowania narzędzi i procesów oraz sprawdzania różnych sposobów tworzenia treści w internecie. Był też nowy kurs online, szkolenie stacjonarne, prezentacja na konferencji, a Gdańsk Embedded Meetup doczekał się nagrań z prezentacji z prawdziwego zdarzenia. Zapraszam do lektury!
Continue readingPage 2 of 23
Clean Code, Horrible Performance. Czy aby na pewno?
Jakiś czas temu wielką popularność zdobyło nagranie Casey Muratori “Clean Code, Horrible Performance” jeżeli jeszcze nie znasz, polecam obejrzeć! Autor stawia tam obrazoburczą tezę, że popularne zasady Clean Code przynoszą więcej szkody niż pożytku. A w szczególności powodują ogromny spadek wydajności. W tym artykule zapoznamy się z jego argumentami i zastanowimy się, czy mają zastosowanie w embedded.
Continue readingGrudniowy embedded meetup – relacja
We wtorek 5 grudnia w Sztuce Wyboru w Gdańsku mieliśmy kolejną, siedemnastą już odsłonę Gdańsk Embedded Meetup. Jako organizator nie zawsze mam możliwość uważnie śledzić prezentacje, ale tym razem się udało i dzięki temu mogę teraz napisać całkiem długą relację. A przy okazji dobrze się składa, bo długo nic nie pisałem na bloga, a ten meetup dał wiele ciekawych tematów, które rozwinę jeszcze w kolejnych wpisach. Tutaj skupię się jednak na relacji, bo mieliśmy dwie bardzo ciekawe prezentacje.
Continue readingCo to jest AUTOSAR i jak się go nauczyć?
Nazwa AUTOSAR często pojawia się w ogłoszeniach o pracę dla programistów embedded. Również na stanowiska juniorów. Rodzi to naturalne pytania. Czym jest AUTOSAR? Po co jest używany? Jak się go nauczyć? Ile muszę umieć do pierwszej pracy? Jak wygląda praca z AUTOSARem? W tym wpisie odpowiem na najczęstsze pytania.
Continue readingGdańsk Embedded Meetup powraca!
Wznawiamy spotkania Gdańskiego Meetupu Embedded. Pierwsze spotkanie po przerwie odbędzie się we wtorek 4 października o 18:00 w Sztuce Wyboru ul. Słowackiego 19, Gdańsk. Na wydarzenie można zapisać się na meetup.com.
W trakcie spotkania odbędą się dwie prezentacje:
- 18.00 Szymon Jesionek – „Automotive Embedded Security”
- 19.20 Krzysztof Malicki, Michał Szymański – „Druga strona medalu, czyli infrastruktura chmurowa do obsługi embedded i IoT”
Będzie też przerwa na pizzę, losowanie eval boardów (koniecznie zapisz się na meetup.com, aby wziąć udział w losowaniu) i przede wszystkim okazja aby spotkać się z programistami embedded z Trójmiasta i okolic.
Kolejne meetupy będą się odbywać w pierwsze wtorki miesiąca (chyba że wypadnie jakieś święto itp.).
A jeżeli chcesz zobaczyć jak wyglądały meetupy przed covidem – możesz sprawdzić:
- Naszą meetupową grupę, gdzie znajdziesz poprzednie wydarzenia
- Githuba, gdzie znajdziesz slajdy z poprzednich wydarzeń
- Kanał YT, gdzie nagraliśmy kilka prezentacji (niestety mieliśmy problemy z dźwiękiem)
Darmowy ebook o TDD w Embedded
Stworzyłem ostatnio ebooka „Jak zacząć z Test Driven Development w systemach embedded”. Możesz go pobrać ze strony tddembedded.pl
Z ebooka dowiesz się między innymi:
- O co chodzi w TDD i jak może pomóc Ci w codziennej pracy
- Jaki framework testowy wybrać na początek
- Jak dostosować TDD do systemów embedded
Opisałem tam również historię jednego projektu, gdzie programowałem sterowniki wentylatorów do klimatyzacji.
Tak więc zapraszam na tddembedded.pl i życzę przyjemnej lektury!
Podsumowanie roku 2021
Niedawno rozpoczął się nowy rok, więc tradycyjnie pora na podsumowanie wydarzeń z roku 2021 i planów na 2022. Podobne podsumowania robiłem też w 2017, 2018 i 2020. Podsumowanie z 2019 zagninęło w akcji 🙂
Zapraszam do lektury!
Continue readingObsługa zależności czasowych
Jakiś czas temu otrzymałem na maila takie pytanie:
Czy jest jakaś elegancka metoda, aby zarządzać zdarzeniami czasowymi w systemie?
Generalnie unikamy delay’ów i odnosimy się np. do zegara systemowego. Aby uruchomić daną komendę/operację/funkcję w konkretnym momencie czasowym używamy IF-ów. Sprawa się komplikuje jeśli chcemy powiązać czasowo różne zdarzenia w systemie.Oto przykład: chcemy aby:
1. Zdarzenie X było realizowane co 2 sekundy,
2. Niezależne zdarzenie Y co 5 sekund
3. Zdarzenie Z 1 sekundę po zdarzeniu X.
Czy masz tu jakiś pomysł jak taki cel można zrealizować prościej, z wykorzystaniem jakiegoś tricku, aby kod stał się prostszy i bardziej czytelny?
W dzisiejszym wpisie omówię dwa podejścia do tego tematu – z RTOSem i bez.
Continue readingJak zaimplementować obsługę różnych języków w menu?
Czasami tak bywa, że sukces produktu niesie nowe wyzwania dla programistów. Jednym z takich wyzwań może być przetłumaczenie tekstów wyświetlanych w menu na inne języki i obsługa tego w prosty i niezawodny sposób. W dzisiejszym wpisie pokażę jak ustrukturyzować kod zawierający menu i jak łatwo zaimplementować tłumaczenia wykorzystując tablice.
Continue readingFragmenty live’ów na YouTube
Ostatnio na swój kanał YouTube zacząłem wrzucać fragmenty live’ów pocięte na krótsze – około 10-minutowe – filmiki. Każde nagranie skupia się na jednym zagadnieniu. Dzięki temu łatwiej będzie po czasie znaleźć interesujące fragmenty bez przeszukiwania całego dwugodzinnego nagrania.
Zapraszam również do zapisu na newsletter, gdzie poza tego typu nagraniami otrzymacie również linki do dodatkowych materiałów i różne opowieści z moich projektów.