ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.
LF AI & Data Foundation patřící pod Linux Foundation spustila Open Platform for Enterprise AI (OPEA).
Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.
Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.
ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.
Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.
#HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.
Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.
Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).
Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.0.0. Přehled novinek v poznámkách k vydání.
38 void FileDictionary::activate() 39 { 40 index.clear(); 41 std::ifstream f(INDEX_FILENAME); 42 if (f.is_open()) 43 { 44 ***string line; 45 std::string temp; 46 gulong pos; 47 while(std::getline(f, temp, '\t') >> pos) 48 { 49 line = temp; 50 index.insert(std::pair<****ustring, gulong>(line,pos)); 51 f.ignore(); 52 } 53 } 54 else 55 exit(1); 56 57 fdictionary.close(); 58 fdictionary.open(DICTIONARY_FILENAME); 59 if (!fdictionary.is_open()) 60 exit(1); 61 }
$ gdb program GNU gdb 6.6-debian Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"... Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (gdb) break file-dictionary.cpp:40 Breakpoint 1 at 0x804fdc2: file file-dictionary.cpp, line 40. (gdb) run Starting program: program [Thread debugging using libthread_db enabled] [New Thread -1232501056 (LWP 19194)] [Switching to Thread -1232501056 (LWP 19194)] Breakpoint 1, FileDictionary::activate (this=0x80c2200) at file-dictionary.cpp:41 41 std::ifstream f(INDEX_FILENAME); (gdb) next 696 _M_impl._M_node_count = 0; (gdb) next 693 _M_leftmost() = _M_end(); (gdb) next 695 _M_rightmost() = _M_end(); (gdb) next 446 _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) (gdb) next 574 basic_istream(): _M_gcount(streamsize(0)) { } (gdb) next 446 _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) (gdb) next 574 basic_istream(): _M_gcount(streamsize(0)) { } (gdb) next 446 _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) (gdb) next 574 basic_istream(): _M_gcount(streamsize(0)) { } (gdb) next 446 _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) (gdb) next 574 basic_istream(): _M_gcount(streamsize(0)) { } (gdb) next 443 : __istream_type(), _M_filebuf() (gdb) next 445 this->init(&_M_filebuf); (gdb) next 497 if (!_M_filebuf.open(__s, __mode | ios_base::in)) (gdb) next 498 this->setstate(ios_base::failbit); (gdb) next 144 { this->clear(this->rdstate() | __state); } (gdb) next 248 { return _M_file.is_open(); } (gdb) next 42 if (f.is_open()) (gdb) next 60 exit(1); (gdb)
Tiskni Sdílej: