while (n–->42) { std::cout << n; }

Marcin Klimek

Najnowsze wpisy

Code alignment issues.

even with such a small amount of code things may get incredibly complicated. I’m not saying we all should be experts in the hardware we are coding for, but at least be informed about such issues. Don’t take the first measured value as a final one. Collect profiles and check that you didn’t hit some […]

ROP Emporium

Learn return-oriented programming through a series of challenges designed to teach ROP techniques in isolation, with minimal reverse-engineering and bug-hunting. https://ropemporium.com/index.html

Finding a CPU Design Bug in the Xbox 360

Random ASCII: programming, tech topics, with a chance of unicyclingFinding a CPU Design Bug in the Xbox 36 The recent reveal of Meltdown and Spectre reminded me of the time I found a related design bug in the Xbox 360 CPU – a newly added instruction whose mere existence was dangerous. https://randomascii.wordpress.com/

Elle – C++ core lib based on coroutines

Open source library Elle –  C++ core library providing a C++ asynchronous framework, based on coroutines, that comes with a set of modules to easily perform networking, serialization, RPCs, cryptography, distributed consensus and more. http://blog.infinit.sh/elle-our-c-core-library-is-now-open-source/

Introduction to C++ Metaprogramming

Interesting introduction to metaprogramming in the context of embedded systems.     http://odinthenerd.blogspot.com/2014/07/introduction-to-c-metaprogramming-part-1.html Corresponding  C++ library with full static checking and abstractions to special function registers of embedded microcontrollers. http://kvasir.io/

Cinder

Cinder jest biblioteką wspomagającą programistę w tworzeniu kreatywnego oprogramowania. Skupia się na ułatwieniu wszelkich operacji związanych z wizualnym aspektem programu. Poprzez liczne dodatki – bloki, niesamowicie przyspiesza realizację projektu. Krótki wykład pokazujący możliwości tej biblioteki, prowadzony przez twórcę, Andrew Bell’a. Obecnie duży wkład w rozwój ma firma Barbarian Group.

Processing z OpenCV

Poprzednio wspomniałem, że planuję użyć OpenCV.  Dlatego też, tym razem skupię się na obróbce obrazu z kamery właśnie przy użyciu tej biblioteki. Brązowe i niebieskie plamy, to uchwyty na ścianie. Kółka z numerami są wyświetlane przez rzutnik. Celem jest wykrycie przysłonięcia, lub konkretniej, wykrycia kolizji  z kołem. Na początek pierwszy etap, czyli przygotowanie obrazu do analizy.

Processing

Po zainstalowaniu Processing i ustawieniu wszystkiego zgodnie z moim przyzwyczajeniem, nadszedł czas na pierwsze linie kodu. Aplikacja w processing opiera się przede wszystkim na dwóch funkcjach: setup() draw() Funkcja setup() służy do ustalenia warunków początkowych. Wywoływana jest jednorazowo po uruchomieniu aplikacji. Umieszcza się tam wszystko to co potrzebujemy i możemy zainicjować, załadować, zanim nasz program zacznie działać na […]

Wybór technologii

Zastanawiając się nad tym, czego mógłbym użyć do projektu, od razu do głowy wpadł mi Processing. Czytałem sporo o tym oprogramowaniu  i wydaje się bardzo przyjemne do prototypowania. Jest to zintegrowane środowisko(IDE) do nauki i tworzenia oprogramowania w kontekście sztuki video. Do maksimum uproszczono operowanie na grafice. Mnogość dodatkowych bibliotek sugeruje, że warto iść w […]

Cinder climb

Cinder Climb Od mniej więcej roku wspinam się i na ścianie staram się być co najmniej 2 razy w tygodniu. Niesamowicie wciągające zajęcie. Niedawno znajomy umieścił na FB link do bardzo ciekawego połączenia wspinania z komputerem. Gra zręcznościowa rozgrywana bezpośrednio na ścianie. Nie szukając za wiele informacji na sieci, postanowiłem napisać coś podobnego. Dodatkowo pojawił […]