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.
Byla vydána nová major verze 9.0 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.
Hodnota Bitcoinu, decentralizované kryptoměny klesla pod 70 000 dolarů (1,44 milionu korun).
Dobry den,
potreboval by som poradit s nastavovanim semaforov. Co mi nejde do hlavy je, preco tento kod:
/* Semaphores */
union semun semUnion;
/* Creating semaphore 1 */
if ((sem1ID=semget(keySem1,2,IPC_CREAT|0666)) == -1) {
perror("zadanie: semaphore1: ");
exit (6);
}
/* Setting semaphore 1 */
/* Allowing proc_t writing */
semUnion.val=1;
if ((semctl(sem1ID,0,SETVAL,semUnion)) == -1) {
perror("zadanie: semaphore1: ");
exit (7);
}
/* Denying proc_s reading */
semUnion.val=0;
if ((semctl(sem1ID,1,SETVAL,semUnion)) == -1) {
perror("zadanie: semaphore1: ");
exit (7);
}
/* Creating semaphore 2 */
if ((sem2ID=semget(keySem2,2,IPC_CREAT|0666)) == -1) {
perror("zadanie: semaphore2: ");
exit (6);
}
/* Setting semaphore 2 */
/* Allowing proc_s writing */
semUnion.val=1;
if ((semctl(sem2ID,0,SETVAL,semUnion)) == -1) {
perror("zadanie: semaphore1: ");
exit (7);
}
/* Denying proc_d reading */
semUnion.val=0;
if ((semctl(sem2ID,1,SETVAL,semUnion)) == -1) {
perror("zadanie: semaphore2: ");
exit (7);
}
fprintf(stdout,"zadanie: sem1[0]: %d\n",semctl(sem1ID,0,GETVAL,semUnion));
fprintf(stdout,"zadanie: sem1[1]: %d\n",semctl(sem1ID,1,GETVAL,semUnion));
fprintf(stdout,"zadanie: sem2[0]: %d\n",semctl(sem2ID,0,GETVAL,semUnion));
fprintf(stdout,"zadanie: sem2[1]: %d\n",semctl(sem2ID,1,GETVAL,semUnion));
dava takyto vypis:
zadanie: sem1[0]: 1 zadanie: sem1[1]: 0 zadanie: sem2[0]: 0 zadanie: sem2[1]: 0Dakujem za napady.
Tiskni
Sdílej: