Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.
Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.
Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.
Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinek a poznámkách k vydání.
Příspěvek na blogu Truffle Security: Kdokoli může přistupovat ke smazaným a privátním repozitářům na GitHubu.
Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.
Byla vydána verze 1.80.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.
Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.
uint8_t leds_array[LEDS]; uint8_t leds_array_pointer = 0; void leds_add(uint8_t lid) { leds_array[leds_array_pointer] = lid; if( leds_array_pointer < (LEDS-1) ) leds_array_pointer ++; } void leds_clear() { leds_array_pointer = 0; } void leds_blink(uint8_t interval) { bool leds_status_before[LEDS]; if(leds_array_pointer > 0) { for(int i=0; i<=leds_array_pointer; i++) { if(bit_is_set(LED_PIN, leds_array[i])) leds_status_before[i] = true; else leds_status_before[i] = false; bitSet (LED_PORT, leds_array[i]); } m_delay_ms(interval); for(int i=0; i<=leds_array_pointer; i++) { bitClear (LED_PORT, leds_array[i]); } m_delay_ms(interval); for(int i=0; i<=leds_array_pointer; i++) { if(leds_status_before[i]) bitSet (LED_PORT, leds_array[i]); } leds_clear(); } } v programu potom volám: if(podmínka1) leds_add(LED_1); if(podmínka2) leds_add(LED_2); // teoreticky mohou bliknout jen led1 a led2, ale občas blikne i led3 leds_blink(LED_BLINK_INTERVAL);Kde dělám chybu?
Řešení dotazu:
for(int i=0; i<=leds_array_pointer; i++) {
má být
for(int i=0; i<leds_array_pointer; i++) {
Po nastavení dvou LEDek je leds_array_pointer == 2, ale ten první (původní) cyklus proběhne třikrát
Tiskni Sdílej: