Recently I have started to learn a little bit Python programming and wanted to write something more fun then dry examples, so I followed a game development article on Linux Journal: Creating Games with Pygame. The game is called Space Invaders: The code and data files for the Space Invaders game are on my BitBucket: [...]
Podczas wysiadywania godzin przed komputerem i wykonywania kolejnych zadań, słucham muzyki, aby się skupić na zadaniu a nie na rozmowach kolegów, czy innym hałasie. Niestety czasami chciałbym się totalnie nad czymś skupić, ale akurat na mojej playliście wskakuje jakiś kawałek, który do tego nie dopuszcza. Raczej nie jestem w stanie wyeliminować muzyki, ponieważ maskuje ona [...]
Sprawdziłem programator AVRów. Rejestruje się w systemie i można programować mikrokontrolery. Niestety rejestruje się ze złymi prawami dostępu i nie można z niego skorzystać jako zwykły użytkownik. make program avrdude -p atmega32 -P usb -c usbasp -U flash:w:MAOR_main.hex avrdude: Warning: cannot query manufacturer for device: error sending control message: Operation not permitted avrdude: error: could [...]
Udało mi się uruchomić programator AVR pod Linuksem. Sprawa wygląda następująco. Laptop Toshiba, Kubuntu 32bit, programator nie działa, logi po podłączeniu są takie: Feb 1 21:12:59 quatre-toshiba kernel: [159614.156278] usb 2-1.2: new low speed USB device number 107 using ehci_hcd Feb 1 21:12:59 quatre-toshiba kernel: [159614.172453] hub 2-1:1.0: unable to enumerate USB device on port [...]
W języku C++ można wykorzystać szablon metody i przekazywanie argumentów przez referencję do zmniejszenia jawnego przekazywania argumentu zawierającego informację o rozmiarze tablicy. Takie rozwiązanie zmniejsza ilość wymaganych parametrów oraz zapobiega podaniu złego rozmiaru. Kod programu: #include <iostream> using namespace std; template <int N> int func(float (&x)[N]) { for(int i = 0; i < N; ++i) [...]
Ostatnio bateria w moim telefonie mocno napęczniała. Telefonem tym był G1 od Google’a. Nie tylko bateria miała swoje za sobą, także system na nim nie był najświeższy. Udało mi się wrzucić na niego Androida (CyanogenMod) 1.6. Wiem, że jest możliwość wgrania wersji 2.x, ale wymaga to ingerencji w bootloadera i partycje. Na razie sobie odpuściłem, [...]
Dla rozgrzewki postanowiłem napisać prosty program zamieniający liczbę dziesiętną bez znaku na liczbę binarną. Algorytm jest dosyć prosty: 1. Jeżeli liczba jest parzysta, wypisz zero. Jeżeli nieparzysta – jedynkę. 2. Podziel liczbę przez dwa i odrzuć część ułamkową z dzielenia. 3. Jeżeli wynik dzielenia jest równy zero, zamiana zakończona. 4. Jeżeli wynik dzielenia nie jest [...]
Powoli i do przodu idzie mi uczenie się programowania mikrokontrolerów AVR. Na razie moim środowiskiem uruchomieniowym jest robot miniSUMO. Logika w głównej pętli wykonawczej będzie oparta o prostą maszynę stanów. Napisanie i wrzucenie maszyny stanów na uC na początek nie jest dobrym pomysłem, ponieważ nie ma widocznego sprzężenia zwrotnego. Postanowiłem więc napisać prostą aplikację testową. [...]
Ostatnio trochę zacząłem się uczyć programowania w Qt. Czasami wiedza za zakresu programowania GUI w jakimś frameworku jest potrzebna, szczególnie jeżeli potrzeba nam stworzyć jakiś tool wspomagający nasze prace programistyczne. Nie chodzi mi tutaj o narzędzia parsujące, ale na przykład narzędzia do analizy logów. Lepiej jest analizować logi, szczególnie jeżeli jest ich bardzo dużo i [...]
Ostatnio dowiedziałem się jak zamienić dwie zmienne bez użycia trzeciej. Generalnie jest to dość ograniczony algorytm i nadaje się najlepiej do użycia prostych, określonych zmiennych. int a, b; a = a+b; b = a-b; a = a-b; Takiego algorytmu nie stosuje się zwykle w desktopowych aplikacjach, ale w programowaniu mikrokontrolerów, gdzie pamięci może być mało, [...]