Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.20. Díky 227 přispěvatelům.
Simon Long oznámil Raspberry Pi Desktop pro PC a Mac s Intelem postavený na aktualizovaném Debianu 13 Trixie. S klientem Raspberry Pi Connect pro vzdálenou správu. Ke stažení je vedle Raspberry Pi OS pro Raspberry Pi.
ESP32-C3 adblock přemění lacinou vývojovou desku ESP32‑C3 na samostatný DNS blokovač nejenom reklamních domén, minimalistickou alternativu k populárnímu Pi-hole. ESP32-C3 adblock místo objemných názvů domén ukládá jejich 40-bitové FNV-1a hashe do flash paměti, které pak binárně prohledává, kontrola jedné domény trvá přibližně 10 milisekund. Blocklist pojme až 537 tisíc domén a lze jej spravovat přes webové rozhraní. Projekt zatím
… více »ArtCraft je sada open source aplikací pro práci s obrázky a videi "inspirovaných" aplikacemi od Adobe. Napsaných v Rustu. Pro MacOS, Windows i Linux. Běží také ve webovém prohlížeči. Aktuálně se jedná o 7 aplikací: PhotoCraft (Photoshop), VectorCraft (Illustrator), FilmCraft (Premiere Pro), LightCraft (Lightroom), PdfCraft (Acrobat), EffectCraft (After Effects) a DesignCraft (InDesign). Zdrojové kódy jsou k dispozici na GitHubu.
Strands Decider 2B je malý open-source model s 2 miliardami parametrů, určený k rychlé klasifikaci vstupů a rozhodování mezi možnostmi, generující odpovědi ve stylu modelu Jev. Strands dosáhl přibližně 72% shody s Jevem na veřejné testovací sadě JevBench (tento benchmark pochopitleně nepředstavuje přímé srovnání s modelem Jev). Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache-2.0, váhy modelu na Hugging Face.
Ve věku 90 let zemřela americká softwarová inženýrka Margaret Hamiltonová, která vedla tým, jenž vyvíjel letový software pro program Apollo amerického Národního úřadu pro letectví a vesmír (NASA).
Japonský Google rozšířil svou kolekci DYI fyzických klávesnic Gboard o klávesnici ve tvaru běžícího pásu. Proč se mají přesouvat ruce po klávesnici, když se mohou přesouvat klávesy k ruce? Pro zájemce je návod na sestavení včetně STL souborů pro 3D tisk a firmware k dispozici na GitHubu.
Nejnovější X.Org X server 21.1.25 a Xwayland 24.1.14 řeší 12 bezpečnostních chyb.
Google Chrome 155 byl prohlášen za stabilní. Přináší podporu JPEG XL (.jxl). Opraveno bylo 247 bezpečnostních chyb.
Konference OpenAlt 2026 hledá přednášející. Přihlásit přednášky lze do neděle 11. října. Konference proběhne o víkendu 7. a 8. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.
A nebo to naprogramuju do jednocipa a pres port do pc jenom nactu pocet tech impulsu. Ale s tim prerusenim by to bylo nejlepsi, nemusel bych nic bastlit.Zásadní věcí je jakou frekvenci očekáváš a jak přesně chceš měřit čas příchodu impulsu. Vždy existuje určitá doba odezvy. Napiš, k čemu to bude sloužit.
Modul do jadra napsat neumimNo naprosto chápu.
a mutlithreadovou aplikaci taky ne.Často se to tak dělá. Není to tak hrozné.
Periodicky zjistovat se mi to moc nechce, protoze nemam jistotu, ze chytnu vsechny impulsy. A jak myslis to rozdeleni do dvou aplikaci? Ta druha by to stejne musela periodicky zjistovat ne?Ta druhá by mohla být ve stavu "čekám na upozornění od jádra, že se něco stalo".
Je mi divny ze takovej modul do jadra jeste nikde neexistuje (teda ja ho nenasel).Jaderný modul pro obsluhu paralelního portu samozřejmě existuje, je běžnou součástí jádra a samozřejmě se stará o obsluhu přerušení. Druhá věc je, co přesně od něj očekáváš.
... a mutlithreadovou aplikaci taky ne.Je to celkem jednoduché. Problémy jsou akorát při ladění, ale dá se to. Malá ukázka jak to přibližně vypadá (vynechávám detaily):
void *druhe_vlakno(void *arg) {
/* tady budes smatlat po portu */
}
int main() {
pthread_t vlakno;
pthread_create(&vlakno, opt, druhe_vlakno, NULL);
/* nejaky ten kod v puvodnim vlakne */
pthread_join(&vlakno);
}
Je to opravdu osekane, ale zakladni princip to snad vystihuje. Najdi si nejaky cely priklad. Podrobnosti v manu. Jmena funkci jsou skutecna, jakakoliv podobnost se skutecnosti je naprosto zamerna.
#!/usr/bin/env python
import sys, os, threading, tty, fcntl, struct, time, signal
class CTS_events(threading.Thread):
def __init__(self, lock):
self.fd = os.open('/dev/ttyS0', os.O_RDWR | os.O_SYNC)
threading.Thread.__init__(self)
self.events = 0
self.lock = lock
def __call__(self):
return self.events
def run(self):
while True:
fcntl.ioctl(self.fd, tty.TIOCMIWAIT, tty.TIOCM_CTS)
lock.acquire()
self.events += 1
lock.release()
lock = threading.Lock()
cts_events = CTS_events(lock)
cts_events.start()
try:
while True:
lock.acquire()
print cts_events()
lock.release()
time.sleep(1)
except KeyboardInterrupt:
os.kill(os.getpid(), signal.SIGTERM)
Je to vícevláknové hlídání událostí na lince CTS u sériového portu. Hlavní vlákno každou sekundu vypisuje čítač a může dělat i cokoli jiného. Další vlákno tento čítač zvyšuje pokaždé, když dostane od jádra upozornění na změnu linky CTS. Čítač je chráněn zámkem, aby nedošlo ke konfliktům (ale to je možná zbytečné).
Tiskni
Sdílej: