Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.
Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.
BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.
Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.
Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.
Kultovní britský seriál The IT Crowd (Ajťáci) oslavil dvacáté výročí svého prvního vysílání. Sitcom o dvou sociálně nemotorných pracovnících a jejich nadřízené zaujal diváky svým humorem a ikonickými hláškami. Seriál, který debutoval v roce 2006, si i po dvou dekádách udržuje silnou fanouškovskou základnu a pravidelně se objevuje v seznamech nejlepších komedií své doby. Nedávné zatčení autora seriálu Grahama Linehana za hatecrime však vyvolává otázku, jestli by tento sitcom v současné Velké Británii vůbec vznikl.
Společnost JetBrains oznámila, že počínaje verzí 2026.1 budou IDE založená na IntelliJ ve výchozím nastavení používat Wayland.
Společnost SpaceX amerického miliardáře Elona Muska podala žádost o vypuštění jednoho milionu satelitů na oběžnou dráhu kolem Země, odkud by pomohly zajistit provoz umělé inteligence (AI) a zároveň šetřily pozemské zdroje. Zatím se ale neví, kdy by se tak mělo stát. V žádosti Federální komisi pro spoje (FCC) se píše, že orbitální datová centra jsou nejúspornějším a energeticky nejúčinnějším způsobem, jak uspokojit rostoucí poptávku po
… více »Byla vydána nová verze 2.53.0 distribuovaného systému správy verzí Git. Přispělo 70 vývojářů, z toho 21 nových. Přehled novinek v poznámkách k vydání.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 216. sraz, který proběhne v pátek 20. února od 18:00 v Red Hat Labu (místnost Q304) na Fakultě informačních technologií VUT v Brně na ulici Božetěchova 1/2. Tématem srazu bude komunitní komunikační síť MeshCore. Jindřich Skácel představí, co je to MeshCore, předvede nejrůznější klientské zařízení a ukáže, jak v praxi vypadá nasazení vlastního repeateru.
su -c "./vlastni_skript | ./binarka -argument hodnota jiná &>> výstup" $1 &V $1 je UID. A když je shell uživatele /bin/bash, je potom ve výstupu ps tohle:
user 6711 0.0 0.0 35860 1276 pts/0 S 09:25 0:00 su -c ./XXX.sh | /X/Y/Z/aaa -a b c &>> výstup user user 6713 0.0 0.0 9564 1296 pts/0 S 09:25 0:00 \_ bash -c ./XXX.sh | /X/Y/Z/aaa -a b c &>> výstup user 6714 0.0 0.0 9580 892 pts/0 S 09:25 0:00 \_ bash -c ./XXX.sh | /X/Y/Z/aaa -a b c &>> výstup user 6743 0.0 0.0 4340 576 pts/0 S 09:25 0:00 | \_ sleep 10 user 6715 126 3.5 1365364 143920 pts/0 Sl 09:25 0:17 \_ /X/Y/Z/aaa -a b cNa tom se mi nelíbí, že je tam nějak moc procesů. Jinak to funguje správně, skript každých 10 sekund zkontroluje, jestli existuje soubor, a když ano, vypíše ho na stdout a smaže. Jeho stdout je pajpnutý do té binárky, která to přijímá jako příkazy. A její stdout a stderr jsou přesměrované do souboru. (Mimochodem, neznáte nějakou shellovou verzi select()? Abych nemusel mít v tom skriptu nekonečnou smyčku, ale jen spustit něco, co se mi ukončí tehdy, kdy ten soubor začne existovat nebo přestane být prázdný? Díky) (Jo, ještě po ukončení té binárky tam všechny ostatní procesy zůstanou běžet, ale s tím se umím vyrovnat, zabiju je spolu s ukončením binárky.) No, a když jsem změnil shell uživatele na /bin/sh, je po spuštění v ps tohle:
user 6818 0.0 0.0 3956 584 pts/0 S 09:34 0:00 /bin/sh ./XXX.sh user 6820 0.0 0.0 4340 576 pts/0 S 09:34 0:00 \_ sleep 10 user 6819 196 3.2 1358692 130612 pts/0 Sl 09:34 0:15 /X/Y/Z/aaa -a b cTo se mi líbí, jelikož je to už podstatně méně zbytečných procesů. Ale tohle nefunguje tak, jak má. Výstup té binárky jde na terminál, ze kterého jsem spustil skript, ve kterém je ten řádek se su na začátku. A když je uživatelův shell /bin/false (jak často vidím u některých démonů), nespustí se vůbec nic. Příčinu hádám na nedostatek vědomostí u mě. Prosím vás, neměli byste teda nějaké řešení, jak to udělat celé jinak, případně nějak, aby mi to s /bin/sh korektně přesměrovalo výstup? Díky
su -c spouští příkaz v uživatelově shellu. Což, jak jsi už zjistil, může být kdeco. Je zapotřebí vzít celou tu konstrukci, kterou cpeš su -c, dát ji do skriptu (jehož interpreter je pak dán shbangem) a spouštět ten skript.
Jinak &>> je bashismus (posixová konstrukce je >>out 2>&1), tudíž není divu, že to v jiném shellu nefunguje.
#/bin/sh while true; do test -e soubor && (cat soubor; rm soubor); sleep 10; doneAle jestli ono nebude spíš jednodušší napsat Céčkového démona... Nějak takového?
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
int fd = open("soubor", O_RDONLY);
// nějaký dup nebo dup2
pid_t forkpid = fork();
if(forkpid == 0)
{
// nějaký dup nebo dup2, abych dosáhl toho, že tenhle potomek bude mít na vstupu to, co rodič vyplivne na výstup
exec();
}
else
{
// ještě nějaký dup/2?
for(;;)
{
select();
printf();
if (access("/proc/forkpid", F_OK) == -1) exit(0);
// něco dalšího na práci s tím souborem/rourou, kam budou chodit příkazy
}
}
return 0;
}
Ale mám problém s těmi dupy a selectem. Mohl by mi s tím někdo pomoct, prosím?
Na ty dupy určitě něco najdu, ale tím selectem si nejsem jistý. Zkoušel jsem to už párkrát a nikdy mi ten select() nefungoval. Fungoval tak, jak jsem chtěl, vždycky jenom na stdin. Když jsem po něm chtěl vědět, jestli jsou nějaká data v externím souboru, nikdy mi to neřekl. Ale to je asi chyba na mojí straně, v nedostatečně pozorném přečtení dokumentace. Mohl byste mi někdo dát příklad, jak to s tím select()em udělat, prosím? Díky
Tiskni
Sdílej: