Společnost JetBrains se stala platinovým sponzorem multiplatformního open source herního enginu Godot. K vývoji her lze používat Rider for Godot. Zdarma pro nekomerční účely.
Byla vydána verze 9.0 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Verze 9.0 je založena na Debianu 13 Trixie. Přehled novinek v poznámkách k vydání a informačním videu.
Operátor O2 dává všem svým zákazníkům s mobilními službami poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství jako omluvu za pondělní zhoršenou dostupnost služeb.
Společnost NVIDIA vydala verzi 13.0 toolkitu CUDA (Wikipedie) umožňujícího vývoj aplikací běžících na jejich grafických kartách. Přehled novinek v poznámkách k vydání.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 28. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červenec (YouTube).
Konečně se ochladilo, možná i díky tomu přestaly na chvíli padat rakety jako přezrálé hrušky, díky čemuž se na Virtuální Bastlírně dostane i na jiná, přízemnější témata. Pokud si chcete jako každý měsíc popovídat s dalšími bastlíři, techniky, vědci a profesory u virtuálního pokecu u piva, Virtuální Bastlírna je tu pro Vás.
Ještě před ochlazením se drát na vedení V411 roztáhl o 17 metrů (přesné číslo není známé, ale drát nepřežil) a způsobil tak… více »Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
PixiEditor byl vydán ve verzi 2.0. Jedná se o multiplatformní univerzální all-in-one 2D grafický editor. Zvládne rastrovou i vektorovou grafiku, pixel art, k tomu animace a efekty pomocí uzlového grafu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU LGPL 3.0.
Byly představeny novinky v Raspberry Pi Connect for Organisations. Vylepšen byl protokol auditu pro lepší zabezpečení. Raspberry Pi Connect je oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče. Verze pro organizace je placená. Cena je 0,50 dolaru za zařízení za měsíc.
Tak jsem byl nucen napsat malý cyklus v Perlu, což je jazyk, ve kterém prakticky neumím pracovat. Zatímco Python jsem zvládl bez problému, u Perlu jsem to nedokázal rozjet.
## Python import os mtab=file("/etc/mtab","r") for line in mtab: print line os.system("...")
## Perl open(MTAB,"/etc/mtab") @foo=<MTAB> foreach (@foo) { print $_; exec("..."); }
Zatímco Python prošel všechny řádky, program v Perlu se zasekl na prvním a skončil. V dokumentaci jsem nic nenašel, ale zkusil jsem i tu funkci system
, o níž je tam zmínka. A voilà, cyklus projel všechny řádky v souboru. Sice nevím proč, ale jsem rád, že to bylo tak jednoduché. Alespoň si to budu do příště pamatovat, pokud se zase budu pokoušet programovat v Perlu .
Tiskni
Sdílej:
open (MTAB, "/etc/mtab") or die "Could not open mtab: $!"; foreach (<MTAB>) { system($_); # nebo # `$_`; } close MTAB;Problem neni v jazyku, je to někde jinde...
exec
se v "Perlu" chová stejně jako v "céčku" (a myslím si, že i v "Pythonu"). Ostatně man perlfunc
vypíše toto: The "exec" function executes a system command and never returns-- use "system" instead of "exec" if you want it to return.
exec
(včetně jeho ostatních variant) se dá použít v případě, že se nejdříve vytvoří další proces a ten (potomek) se přepíše. Viz. dokumentace k fork
.
Ostatně system
to dělá přesně tak. V souvislosti s ním ještě zbývá zmínit další volání jádra waitpid
.
$perldoc -f exec exec PROGRAM LIST The "exec" function executes a system command and never returns-- use "system" instead of "exec" if you want it to return. ... $perldoc -f system system LIST system PROGRAM LIST Does exactly the same thing as "exec LIST", except that a fork is done first, and the parent process waits for the child pro- cess to complete. ... $pydoc os.execve os.execve = execve(...) execve(path, args, env) Execute a path with arguments and environment, replacing current process. ... $pydoc os.sysem os.system = system(...) system(command) -> exit_status Execute the command (a string) in a subshell. $man execve NAME execve - execute program SYNOPSIS #include <unistd.h> int execve(const char *filename, char *const argv [], char *const envp[]); DESCRIPTION execve() executes the program pointed to by filename. ... execve() does not return on success, and the text, data, bss, and stack of the calling process are overwritten by that of the program loaded. The program invoked inherits the calling process's PID, ... $man system NAME system - execute a shell command SYNOPSIS #include <stdlib.h> int system(const char *command); DESCRIPTION system() executes a command specified in command by calling /bin/sh -c command, and returns after the command has been completed. ...