Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".
Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Byla vydána verze 5.30 dnes již open source operačního systému RISC OS (Wikipedie).
V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Před X měsíci jsem koupil fajnovou doménu killem.al (registrována u Albánského host.al - vše v pohodě). Akorát mě nenapadá co tam teď dát , tak jsem zvedávej na tipy od místních KERNEL ULTRAS
Zatím jsem tam hodil veřejný openarena server. Rád bych aby se na webu ukazovalo kolik je zrovna připojeno hráčů. Samozřejmě žádný z nástrojů, doporučených na OpenArena wiki, toto neumí. Rozhodl jsem se tedy vytvořit vlastní skriptik co použije crcon (utilitka do konzole která pošle příkaz OpenArena serveru a vypíše odpověď - příkazy jsou stejne jaké bere konzole ve hře). Když ani crcon nechtěl fungovat, to už mě naštvalo natolik že jsem se ze zahrady vrátil zpátky do baráku i když máme jeden krasnej slunecnej den snad po měsíci.
Zpátky k crcon, ve zdrojaku stačilo víceméně zvětšit timeout při čekání na odpověď a začalo to šlapat. Ale když už jsem se díval do zdrojaku tak mě zarazilo že i když se skládají z několika souboru a možná tisíce řádku kódu tak to vlastně nic moc nedělá (autor si implementuje vlastní parser argumentů apod.) a navíc protokol kterým s q3/openarena serverem komunikuje je těžce jednoduchý. Tak jsem rovnou napsal skriptik v pythonu který celý crcon nahradí. Tady je. Dvacet řádku pythonu místo tisíce v céčku .. a navíc to i funguje :
import socket import argparse import sys parser = argparse.ArgumentParser(description="OpenArena rcon") parser.add_argument("-s","--server",type=str,required=True) parser.add_argument("-p","--password",type=str,required=True) parser.add_argument("-c","--command",type=str,required=True) parser.add_argument("-t","--timeout",type=float,default=10,required=False) args = parser.parse_args() if ":" not in args.server: ip = args.server port = 27960 else: doubledot_pos = args.server.find(":") ip = args.server[:doubledot_pos] try: port = int(args.server[doubledot_pos+1:]) except ValueError: print("invalid server, use 'ip:port' format for -s") sys.exit(2) try: sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.settimeout(args.timeout) sock.connect( (ip,port) ) sock.sendall("\xff\xff\xff\xffrcon "+args.password+" "+args.command+"\n") reply = sock.recv(1024)[10:] while True: try: reply += sock.recv(1024)[10:] except socket.timeout: break if reply and not reply[-1] == "\n": raise socket.timeout("reply doesnt end with \\n") print(reply) except socket.timeout: print ("timeout reached, try with higher -t") sys.exit(2) except socket.error: print ("couldn't connect") sys.exit(2)
Tiskni Sdílej:
netstat -unt | grep $SERVERPORT |wc -lZdar Max