Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že již v úterý 7. dubna od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout meteorit
… více »Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.
VOID (Video Object and Interaction Deletion) je nový open-source VLM model pro editaci videa, který dokáže z videí odstraňovat objekty včetně všech jejich fyzikálních interakcí v rámci scény (pády, kolize, stíny...) pomocí quadmaskingu (čtyřhodnotová maska, která člení pixely scény do čtyř kategorií: objekt určený k odstranění, překrývající se oblasti, objektem ovlivněné oblasti a pozadí scény) a dvoufázového inpaintingu. Za projektem stojí výzkumníci ze společnosti Netflix.
Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.
Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).
ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.
DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.
# ansible -m ping localhost
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}
# ansible -m ping ping
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: TypeError: expected str, bytes or os.PathLike object, not list
ping | FAILED! => {
"msg": "Unexpected failure during module execution: expected str, bytes or os.PathLike object, not list",
"stdout": ""
}
# ansible -vvv -m ping localhost
ansible [core 2.14.3]
config file = /root/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] (/usr/bin/python3)
jinja version = 3.1.2
libyaml = True
Using /root/ansible.cfg as config file
host_list declined parsing /root/inventory/hosts as it did not pass its verify_file() method
script declined parsing /root/inventory/hosts as it did not pass its verify_file() method
auto declined parsing /root/inventory/hosts as it did not pass its verify_file() method
Parsed /root/inventory/hosts inventory source with ini plugin
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582 `" && echo ansible-tmp-1706038709.331248-6096-81533437188582="` echo /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582 `" ) && sleep 0'
Using module file /usr/lib/python3/dist-packages/ansible/modules/ping.py
<127.0.0.1> PUT /root/.ansible/tmp/ansible-local-6092fz92k0e1/tmp8x8vapcj TO /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582/AnsiballZ_ping.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582/ /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582/AnsiballZ_ping.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/usr/bin/python3 /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582/AnsiballZ_ping.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582/ > /dev/null 2>&1 && sleep 0'
localhost | SUCCESS => {
"changed": false,
"invocation": {
"module_args": {
"data": "pong"
}
},
"ping": "pong"
}
# ansible -vvv -m ping ping
ansible [core 2.14.3]
config file = /root/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] (/usr/bin/python3)
jinja version = 3.1.2
libyaml = True
Using /root/ansible.cfg as config file
host_list declined parsing /root/inventory/hosts as it did not pass its verify_file() method
script declined parsing /root/inventory/hosts as it did not pass its verify_file() method
auto declined parsing /root/inventory/hosts as it did not pass its verify_file() method
Parsed /root/inventory/hosts inventory source with ini plugin
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.
<127.0.0.1> ESTABLISH SSH CONNECTION FOR USER: root
The full traceback is:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/ansible/executor/task_executor.py", line 158, in run
res = self._execute()
^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/executor/task_executor.py", line 633, in _execute
result = self._handler.run(task_vars=vars_copy)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/plugins/action/normal.py", line 47, in run
result = merge_hash(result, self._execute_module(task_vars=task_vars, wrap_async=wrap_async))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/plugins/action/__init__.py", line 1040, in _execute_module
self._make_tmp_path()
File "/usr/lib/python3/dist-packages/ansible/plugins/action/__init__.py", line 457, in _make_tmp_path
tmpdir = self._remote_expand_user(self.get_shell_option('remote_tmp', default='~/.ansible/tmp'), sudoable=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/plugins/action/__init__.py", line 923, in _remote_expand_user
data = self._low_level_execute_command(cmd, sudoable=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/plugins/action/__init__.py", line 1320, in _low_level_execute_command
rc, stdout, stderr = self._connection.exec_command(cmd, in_data=in_data, sudoable=sudoable)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/plugins/connection/ssh.py", line 1329, in exec_command
cmd = self._build_command(ssh_executable, 'ssh', *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/plugins/connection/ssh.py", line 733, in _build_command
b_args = (b"-o", b'IdentityFile="' + to_bytes(os.path.expanduser(key), errors='surrogate_or_strict') + b'"')
^^^^^^^^^^^^^^^^^^^^^^^
File "(frozen posixpath)", line 232, in expanduser
TypeError: expected str, bytes or os.PathLike object, not list
ping | FAILED! => {
"msg": "Unexpected failure during module execution: expected str, bytes or os.PathLike object, not list",
"stdout": ""
}
# cat ansible.cfg
[defaults]
inventory=~/inventory
# ls -Rl ~/inventory/
/root/inventory/:
total 4
-rw-r--r-- 1 root root 5 Jan 23 20:10 hosts
drwxr-xr-x 2 root root 60 Jan 23 20:30 host_vars
/root/inventory/host_vars:
total 4
-rw-r--r-- 1 root root 139 Jan 23 20:12 ping.yml
# cat ~/inventory/hosts
ping
# cat ~/inventory/host_vars/ping.yml
---
ansible_connection: ssh
ansible_port: 22
ansible_user: root
ansible_ssh_private_key_file:
- ~/.ssh/id_rsa
ansible_host: '127.0.0.1'
Nevygooglil jsem, co dělám špatně.
"Unexpected failure during module execution: expected str, bytes or os.PathLike object, not list",Takže:
# cat ~/inventory/host_vars/ping.yml --- ansible_connection: ssh ansible_port: 22 ansible_user: root ansible_ssh_private_key_file: ~/.ssh/id_rsa ansible_host: '127.0.0.1'
File "/usr/lib/python3/dist-packages/ansible/plugins/connection/ssh.py", line 733, in _build_command
b_args = (b"-o", b'IdentityFile="' + to_bytes(os.path.expanduser(key), errors='surrogate_or_strict') + b'"')
^^^^^^^^^^^^^^^^^^^^^^^
Tak to ma problem natahnout soubor s klicem.
Tiskni
Sdílej: