Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
V Gemini sídlí v době psaní tohoto zápisku Android 7.1.1 s jádrem 3.18.41 (build 10.5.2018). Jak jsem psal minule, Android je předinstalován, ale dá se připravit dual- , triple- či quad- boot s tím, že se rozdělí disk. Od doby, kdy jsem to dělal já vývoj trochu pokročil, nabízí se triple boot a už je v nabídce i rooted android. Ano, takhle jednoduché je získat na Androidu roota. Já jsem ještě musel ještě v "scatter file" měnit u partišny SYS23 boot.img na root_boot.img . Takže máme rootlý android 7.
V oficiálních návodech se hovoří o programu Magisk Manager, který z pochopitelných důvodů nenajdete na Google Play . Když ho ručně stáhnete, postupujete podle celkem blbovzdorného návodu na webových stránkách. Po rebootu jako by se nic nestalo. Ale stalo. Po té, co jste spustili "Instalovat" a nechali proběhnout reboot, ožily moduly "Magisk Hide", který informaci, že je Android rootnutý schovává před zvědavými aplikacemi (některé bankovní aplikace nemají rootnutý Android rády) a hlavně "Superuser". Ze začátku mne překvapilo, že tam nevidím žádnou aplikaci. Když jsem ale nainstaloval a spustil první aplikaci, která si řekla o roota (blíže viz níže) a povolil, objevila se tam. A když jsem Total Commaneru roota odepřel, objevila se tam taky, s možností volbu změnit. Takhle nějak si to představuji.
Buď není žádné zabezpečení (heslo, gesto, pin), nebo musím před zadáváním hesla swajpovat po obrazovce. To je dost opruz.
V diskuzi i na fóru mi od minulého zápisku odpověděli a řešení je prosté. Místo swipe se praští do mezerníku. To jde. Spolu s prodloužením doby do zhasnutí obrazovky z výchozích 30s na 2 minuty (dá se dřív přes Fn-Esc čili OFF) je to jen minimální zdržení, jen občas na poprvé nezareaguje enter - netuším proč. Každopádně vyřešeno - jestli píšu "Heslo" nebo " Heslo" je mi dost jedno. Když to občas nechce vzít enter, stačí ještě ťuknout do escape. Bez opuštění základní psací polohy. OK.
Dlouhý stisk je k ničemu
Tak tady začal můj výlet do hlubin světa androidu.Na gemini mi vadila první řada, která je Esc - 1 ... 0, Del/BS. V Gemini tupě udělali a HW popsali Esc +ěščřžýáíé, čímž se ale klávesa ě, která má být mezi Q a W dostala až mezi W a E. Takže dost neintuitivní. Takže přesun o jedno doleva, máme Esc ěščřžýáíé a "rezervu dne". Co s ní uděláme ? No samozřejmě, že mrtvou klávesu, která tam patří, takže "'" a "ˇ".
České mrtvé klávesy - háček a čárka (na umlaut zatím kašlu, ale už mám adepta na jeho umístění) mají Unicode ekvivalenty - je to Combining Caron (neboli háček) a Combining Acute Accent čili čárka. A ty se normálně do mapy zapíší a hotovo.
Jo, zapíší a hotovo, co ta nula, co tam byla před tím ? Hmm. Vrátíme se ještě jednou na začátek k té dokumentaci Androidu. Dozvíme se, že Android zná víc modifikátorů než linux:
# Copyright (C) 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Czech (EU - qwertz) keyboard layout.
# Modified by jirka
#
type OVERLAY
map key 86 PLUS
### ROW 1
key 1 {
label: '1'
base: '\u011b'
capslock: '\u011a'
rshift: '1'
lshift: '+'
alt: '!'
fn: '^'
}
key 2 {
label: '2'
base: '\u0161'
capslock: '\u0160'
shift: '2'
alt: '@'
fn: '\\'
}
key 3 {
label: '3'
base: '\u010d'
capslock: '\u010c'
shift: '3'
alt: '#'
fn: '|'
}
key 4 {
label: '4'
base: '\u0159'
capslock: '\u0158'
shift: '4'
alt: '$'
fn: '~'
}
key 5 {
label: '5'
base: '\u017e'
capslock: '\u017d'
shift: '5'
alt: '%'
fn: '('
}
key 6 {
label: '6'
base: '\u00fd'
capslock: '\u00dd'
shift: '6'
alt: '^'
fn: ')'
}
key 7 {
label: '7'
base: '\u00e1'
capslock: '\u00c1'
shift: '7'
alt: '&'
fn: '{'
}
key 8 {
label: '8'
base: '\u00ed'
capslock: '\u00cd'
shift: '8'
alt: '*'
fn: '}'
}
key 9 {
label: '9'
base: '\u00e9'
capslock: '\u00c9'
shift: '9'
alt: '('
fn: '%'
}
key 0 {
label: '0'
base: '\u0301'
capslock: '+'
rshift: '0'
lshift: '\u030c'
alt: ')'
fn: '='
}
key DEL {
base: fallback DEL
shift: fallback FORWARD_DEL
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
fn: '['
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
alt: '\u20ac'
fn: ']'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
fn: '\u20ac'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Y {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
fn: '<'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
fn: '>'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
fn: '/'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
fn: '\''
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
fn: '\u00fa'
}
key ENTER {
label: '\n'
base: '\n'
}
### ROW 3
key TAB {
label: '\t'
base: '\t'
}
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
fn: '@'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
fn: '$'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
fn: '*'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
fn: '"'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
fn: '!'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
fn: ';'
}
key APOSTROPHE {
label: '-'
base: '\u016f'
lshift: '"'
rshift: '!'
fn: '-'
fn+shift: '_'
}
### ROW 4
#key SHIFT_LEFT {
#}
key Z {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
fn: '#'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
fn: '&'
alt: '#'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
alt: '&'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
alt: '@'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
alt: '\u00b5'
fn: '`'
}
key PERIOD {
label: '.'
base: '.'
lshift: ':'
rshift: ';'
alt: '>'
shift+alt: '\u00f7'
fn: '\u0082'
# insert
}
key DPAD_UP {
base: fallback DPAD_UP
fn: fallback PAGE_UP
rshift: '\u0073'
}
#key SHIFT_RIGHT {
#}
### ROW 5
#key CTRL_LEFT {
#}
#key FUNCTION {
#}
#key ALT_LEFT {
# fn: fallback SHOW_DIALER
#}
key SPACE {
label: ' '
base: ' '
alt, meta: fallback SEARCH
ctrl: fallback LANGUAGE_SWITCH
}
key COMMA {
label: ','
base: ','
lshift: '?'
rshift: '!'
alt: '<'
shift+alt: '\u00d7'
}
#
key DPAD_LEFT {
base: fallback DPAD_LEFT
fn: fallback MOVE_HOME
rshift: '\u0071'
}
key DPAD_DOWN {
base: fallback DPAD_DOWN
fn: fallback PAGE_DOWN
rshift: '\u0081'
}
key DPAD_RIGHT {
base: fallback DPAD_RIGHT
fn: fallback MOVE_END
rshift: '\u0079'
}
Tiskni Sdílej: