Pod wpływem doskonałej książki Code Complete autorstwa Steve’a McConella postanowiłem napisać o zastosowaniach tablic w C. Nie chodzi mi tu oczywiście o podstawy, składnię itp. Chociaż jak to w C, nawet tutaj znalazłoby się kilka niuansów. Mam zamiar zająć się bardziej zaawansowanymi tematami takimi jak lookup table, hash table, maszyny stanów, czy polimorfizm na tablicach wskaźników na funkcje. Wyszło tego sporo, dlatego podzieliłem tekst na kilka wpisów. Na pierwszy ogień idą Lookup Table.
Continue readingPage 6 of 22
Intelligent Autonomous Vehicles 2019 – relacja
W dniach 3-5 lipca byłem na Politechnice Gdańskiej na IAV 2019 – konferencji naukowej poświęconej autonomicznym pojazdom. Agenda wyglądała niezwykle ciekawie. Można było znaleźć tematy dotyczące eksploracji kosmosu, dronów, autonomicznych samochodów, czy jednostek pływających.
Continue readingDevoxx Poland 2019 – relacja
W Krakowie między 24 a 26 czerwca 2019 odbywała się konferencja Devoxx Poland. To jedna z największych konferencji w regionie. Uczestniczy w niej około 2500 osób, a przez trzy dni występuje ponad stu prelegentów. W tym Venkat Subramaniam, Sandro Mancusso czy ludzie z Google, Thoughtworksa, czy Red Hata. Tematyka skupia się wokół Javy, ale jest też co nieco o security, chmurze, czy machine learningu. Do tego tematy dla każdego programisty takie jak architektura aplikacji i umiejętności miękkie. Dlatego cieszę się, że mogłem wziąć w niej udział, a nawet wystąpić ze swoją prezentacją o safety-critical. Minęło już parę dni od tego wydarzenia, pora więc na relację.
Continue readingAda Europe 2019 – prezentacje
W ostatnim poście dzieliłem się wrażeniami z konferencji Ada Europe 2019, która miała miejsce 12 i 13 czerwca w Warszawie. Tekst wyszedł dosyć długi i zabrakło w nim miejsca na opis poszczególnych prezentacji, które dodaję dzisiaj. Podczas konferencji można było między innymi usłyszeć o wojskowym projekcie tak tajnym, że nie można o nim mówić, o rakiecie Ariane 6, czy o nowościach w Ada 2020. Zapraszam do lektury!
Continue readingAda Europe 2019 – relacja
W zeszłym tygodniu (12-13 czerwca) byłem w Warszawie w Instytucie Lotnictwa na Ada-Europe. Konferencji poświęconej językowi Ada i systemom safety-critical. Wszystkich tematów, które chciałbym zawrzeć w relacji wyszło bardzo dużo. Dlatego podzielę ją na części. W tym wpisie skupię się na ogólnych wrażeniach z konferencji i różnych ciekawostkach technologicznych w systemach safety-critical. Najciekawsze prezentacje omówię w osobnym wpisie.
Continue readingCo serial Czarnobyl ma wspólnego ze sztuczną inteligencją?
Ostatnio nie miałem weny na pisanie o technicznych tematach (co widać po ostatnim braku aktywności). Dlatego dzisiejszy wpis będzie się mocno różnił od ostatnich. Punktem wyjścia będzie dla mnie bijący ostatnio rekordy popularności serial „Czarnobyl”. Jeżeli jeszcze go nie widziałeś – koniecznie musisz to nadrobić. Serial jest świetnie zrealizowany, trzyma w napięciu i zachęca do poznania również informacji historycznych dotyczących tej katastrofy. Przy okazji serialu pojawiło się na ten temat sporo materiałów. Przyczyny wypadku, do których należały wady konstrukcyjne, błędy ludzkie, czy wadliwe procedury czynią go także ciekawym z punktu widzenia systemów safety-critical. Ale ja dzisiaj skupię się na czymś zupełnie innym.
Continue readingInterfejsy w C
Poprzednio pisałem o obiektowości w C, dzisiaj kolej na kolejny wzorzec zapożyczony z języków wyższego poziomu – interfejsy. W tym artykule opiszę jak je implementować w C i jakie dzięki temu możemy odnieść korzyści.
Continue readingJak uzyskać obiektowość w C?
W języku C nie mamy czegoś takiego jak klasy. Jeżeli chcemy pisać programy w sposób obiektowy musimy wykorzystać w tym celu struktury i funkcje. Traktowanie modułów większego systemu jako obiektów zawierających pewne dane i umożliwiających operacje na nich jest sposobem na ukrycie szczegółów implementacyjnych. Abstrakcje pomagają zapanować nad złożonością projektów. Dlatego mimo, iż obiektowość w C musimy emulować, chętnie sięgamy choćby po niektóre elementy obiektowości. W tym wpisie pokażę jak poprawnie implementować obiektowość w C.
Continue readingGenerowanie plików runtime Ady – część 2
W poprzednim wpisie opisałem proces generowania runtime Ady dla STM32F401. Myślałem, że to już koniec przeprawy z konfiguracją, ale okazuje się, że nie. Pliki wygenerowane zgodnie z instrukcją z poprzedniego postu wymagają jeszcze małej modyfikacji. Poza tym jeżeli chcemy skorzystać również z Ada Drivers Library czeka nas kolejna runda walki ze skryptami. Udało mi się doprowadzić do stanu, gdzie program na STM32F401 się kompiluje, uruchamia na debugerze i poprawnie steruje peryferiami. Z tego postu dowiesz się jakie kroki musiałem wykonać, żeby do niego dojść.
Continue readingGenerowanie plików runtime Ady dla mikrokontrolerów
Po zainstalowaniu toolchaina GNAT dla ARMów otrzymujemy wsparcie jedynie dla niewielkiej liczby procesorów. Aby wygenerować pliki runtime dla innych, musimy skorzystać ze skryptów dostępnych w repozytorium bb-runtimes od AdaCore. Ostatnio potrzebowałem wygenerować je dla nowego procka i trochę musiałem się namęczyć. Dlatego teraz opiszę do czego udało mi się dojść.
Continue reading