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.
Byla vydána nová verze 10.3 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu bezpečnostních oprav, vylepšení funkcí a oprav chyb.
Cloudflare představil open source redakční systém EmDash. Jedná se o moderní náhradu WordPressu, která řeší bezpečnost pluginů. Administrátorské rozhraní lze vyzkoušet na EmDash Playground.
Bratislava OpenCamp 2026 zverejnil program a spustil registráciu. Štvrtý ročník komunitnej konferencie o otvorených technológiách prinesie 19 prednášok na rôzne technologické témy. Konferencia sa uskutoční v sobotu 25. apríla 2026 v priestoroch FIIT STU v Bratislave.
cat ~/Work/ansible/test/inventory [test_servers] test1 ansible_host=192.168.1.11 test2 ansible_host=192.168.1.12 [test_servers:vars] ansible_port=2222 ansible_user=root ansible_ssh_private_key_file=~/.ssh/id_ed25519 ansible_python_interpreter=/usr/bin/python
cat ~/Work/ansible/test/apt.yml
---
- name: Update repositories cache
apt:
update_cache: yes
cache_valid_time: 3600
- name: Update all packages to their latest version
apt:
name: "*"
state: latest
No a když spustím playbook, dostávám toto...
ansible-playbook -i inventory apt.yml --check ERROR! 'apt' is not a valid attribute for a Play The error appears to be in '/home/pavel/Work/ansible/test/apt.yml': line 3, column 3, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - name: Update repositories cache ^ hereUž opravdu nevím :(

---
- name: Update all Debian packages to their latest versions
hosts: all
serial: 1
tasks:
- name: Update repositories cache
apt:
update_cache: yes
cache_valid_time: 3600
- name: Install python-apt if not installed
apt:
name: python-apt
state: present
register: result
- name: Update all packages to their latest version
apt:
name: "*"
state: latest
register: result
- name: Check if reboot required
stat:
path: /var/run/reboot-required
register: reboot_required_file
- name: Reboot if required
reboot:
when: reboot_required_file.stat.exists == true
- name: Wait for the machine to come back online
wait_for_connection:
connect_timeout: 60
sleep: 5
delay: 5
timeout: 300
- name: Remove useless packages from the cache
apt:
autoclean: yes
register: result
- name: Remove dependencies that are no longer required
apt:
autoremove: yes
register: result
- name: List installed and updated packages
shell: grep -E "^$(date +%Y-%m-%d).+ (install|upgrade) " /var/log/dpkg.log |cut -d " " -f 1-4
register: result
- name: Show Output
debug: msg="{{ result.stdout_lines }}"
- name: Send result to email recipients
mail:
host: mail.mojedomena.cz
port: 587
username: ansible@mojedomena.cz
password: mojeheslo123
from: ansible@mojedomena.cz
to:
- Pavel Novák pavel.novak at mojedomena.cz
- Petr Novák petr.novak at mojedomena.cz
subject: report aktualizací
body: |
Na serveru {{ ansible_hostname }} byly nainstalovány níže uvedené aktualizace:
{% for line in result.stdout_lines %}
{{ line }}
{% endfor %}
...
register: update_result
...
mail:
host: mail.mojedomena.cz
from: ansible@mojedomena.cz
to:
- Pavel Novák pavel.novak at mojedomena.cz
- Petr Novák petr.novak at mojedomena.cz
subject: report aktualizací
body: |
{% for host in ansible_play_hosts %}
{% if hostvars[host]['result'].stdout is defined %}
Na serveru {{ hostvars[host]['inventory_hostname'] }}
byly nainstalovány níže uvedené aktualizace:
{{ hostvars[host]['update_result'].stdout }}
{% endif %}
{% endfor %}
pls. nikam nedavej zadna hesla.. oK?
Tiskni
Sdílej: