Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více » 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