Man Yue Mo z GitHub Security Lab se podrobně rozepsal o již opravené zranitelnosti CVE-2023-6241 v Arm Mali GPU umožňující získání roota na telefonu Pixel 8 s povoleným MTE (Memory Tagging Extension).
V San José probíhá vývojářská konference NVIDIA GTC 2024. CEO společnosti NVIDIA Jensen Huang měl dvouhodinovou keynote, ve které představil celou řadu novinek: NVIDIA Blackwell platform, NVIDIA NIM microservices, NVIDIA Omniverse Cloud APIs, Project GR00T, …
Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.
Od 21. do 23. března proběhnou Arduino Days 2024. Sledovat bude možné oficiální streamy. Zúčastnit se lze i lokálních akcí. V Česku jsou aktuálně registrovány dvě: v Praze na Matfyzu a v Poličce v městské knihovně.
Letošní ročník konference LinuxDays se uskuteční o víkendu 12. a 13. října, opět se potkáme v pražských Dejvicích na FIT ČVUT. Také během letošního ročníku nás budou čekat desítky přednášek, workshopy, stánky a spousta doprovodného programu. Aktuální dění můžete sledovat na Twitteru, Facebooku nebo na Mastodonu, přidat se můžete také do telegramové diskusní skupiny.
Byla vydána nová major verze 2.0.0 a krátce na to opravné verze 2.0.1 open source online editoru Etherpad (Wikipedie) umožňujícího společné úpravy v reálném čase.
Matematický software GNU Octave byl vydán ve verzi 9.1.0. Podrobnosti v poznámkách k vydání. Nově je preferovaný grafický backend Qt a preferovaná verze Qt 6. V tomto vydání byly přepracovány funkce pro převod čísel z desítkové soustavy. Jako obvykle jsou zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu březnový souhrn novinek. Vypíchnout lze, že pracují na virtuálním asistentu PineVox a zatím bezejmenných sluchátkách na lícní kosti (bone conduction).
Hyprland, kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, je již dva roky starý. Při té příležitosti byla vydána verze 0.37.0 (a záhy opravná 0.37.1 řešící chybu ve vykreslování oken). Nově závisí na knihovně hyprcursor, která poskytuje škálovatelné kurzory myši.
mám proměnné pole=array['0položka','1položka','2položka','3položka','4položka','5položka','6položka','7položka','8položka','9položka'] $aktualni_ID=0 $max_polozek_na_stranku=3 $celkem_polozek=10 for(i=$aktualni_ID;i=$max_polozek_na_stranku; i++ ) if($aktualni_ID==i) echo pole[i].'<<<' else echo pole[i] Kroky směrem dolů 0položka<<< 1položka 2položka 0položka 1položka<<< 2položka 0položka 1položka 2položka<<< 1položka 2položka 3položka<<< 2položka 3položka 4položka<<< 3položka 4položka 5položka<<< 4položka 5položka 6položka<<< 5položka 6položka 7položka<<< 6položka 7položka 8položka<<< 7položka 8položka 9položka<<< Kroky zpět (směrem nahoru) 7položka 8položka 9položka<<< 7položka 8položka<<< 9položka 7položka<<< 8položka 9položka 6položka<<< 7položka 8položka 5položka<<< 6položka 7položka 4položka<<< 5položka 6položka 3položka<<< 4položka 5položka 2položka<<< 3položka 4položka 1položka<<< 2položka 3položka 0položka<<< 1položka 2položka
<?php // (C) 2022, Dušan Kreheľ // Licence: MIT class MenuBox { private $items=array(); private $items_count=array(); private $max_items=10; private $position=0; /* index */ private $box_first=0; /* index */ function __construct($items, $draw_max_items) { $this->items=$items; $this->max_items=$draw_max_items; $this->items_count=count($items); } function down() { if($this->position == ($this->items_count-1)) return; $this->position++; if(abs($this->position-$this->box_first) == $this->max_items) $this->box_first++; } function up() { if($this->position == 0) return; if($this->position == $this->box_first) $this->box_first--; $this->position--; } function draw() { $count_steps=$this->max_items + $this->box_first; for($i=$this->box_first;$i<$count_steps;$i++) if($i == $this->position) echo " \033[35m".$this->items[$i]."\033[0m\n"; else echo " ".$this->items[$i]."\n"; echo "\n"; } } $items=array("A","B","C","D","E","F","G"); $box= new MenuBox($items, 4); $box->draw(); $box->down(); $box->draw(); $box->down(); $box->draw(); $box->down(); $box->draw(); $box->down(); $box->draw(); $box->down(); $box->draw(); $box->down(); $box->draw(); echo "hore dalej\n"; $box->up(); $box->draw(); $box->up(); $box->draw(); $box->up(); $box->draw(); $box->up(); $box->draw(); $box->up(); $box->draw(); $box->up(); $box->draw();
<?php // (C) 2022, Dušan Kreheľ // Licence: MIT class MenuBox { private $items=array(); private $items_count=-1; private $max_items=10; private $position=0; private $box_first=0; function __construct($items, $draw_max_items) { $this->items=$items; $this->max_items=$draw_max_items; $this->items_count=count($items); } function down() { if($this->position == ($this->items_count-1)) return; $this->position++; if(abs($this->position-$this->box_first) == $this->max_items) $this->box_first++; } function up() { if($this->position == 0) return; if($this->position == $this->box_first) $this->box_first--; $this->position--; } function draw() { $count_steps=$this->max_items + $this->box_first; for($i=$this->box_first;$i<$count_steps;$i++) if($i == $this->position) echo " \033[35m".$this->items[$i]."\033[0m\n"; else echo " ".$this->items[$i]."\n"; echo "\n"; } function set_position($index_position, $index_box_first_line) { $this->position=$index_position; $this->box_first=$index_box_first_line; } } $items=array("A","B","C","D","E","F","G"); $box= new MenuBox($items, 4); $box->set_position(2, 1); $box->draw(); $box->down(); $box->draw();
$box->set_position(2, 1);tak tu hodnotu 1 musíš vypočítat ručně, ne? Myslel jsem spíš volat jen s jednou hodnotou a tu druhou by si vypočítal sám.
$box->set_position(2);Omlouvám se, ale nevím jestli se vyjadřuji k pochopení.
first = count - lines if sel < first: first = sel - (lines // 2) if first < 0: first = 0kde first je index první položky menu, count je počet položek menu, lines je počet řádek menu
#!/usr/bin/env python3 def draw(sel, lines): menu = ('a', 'b', 'c', 'd', 'e', 'f') count = len(menu) first = count - lines if sel < first: first = sel - (lines // 2) if first < 0: first = 0 print('-------------') for line in range(lines): item = line + first print(menu[item], '<<<' if item == sel else '') for sel in range(7): draw(sel, 3)výstup je:
$ python3 menu.py ------------- a <<< b c ------------- a b <<< c ------------- b c <<< d ------------- d <<< e f ------------- d e <<< f ------------- d e f <<< ------------- d e f
Tiskni Sdílej: