OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.
Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.
R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.
IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.
Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.
Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.
Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.
Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.
Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.
Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změ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: