Momo je fenka cavapoo, která svými náhodnými stisky kláves bezdrátové klávesnice vytváří jednoduché počítačové hry. Technicky to funguje tak, že Raspberry Pi s připojenou bluetooth klávesnicí posílá text do Claude Code, který pak v Godotu píše hry a sám je i testuje pomocí screenshotů a jednoduchých simulovaných vstupů. Za stisky kláves je Momo automaticky odměňována pamlsky. Klíčový je pro projekt prompt, který instruuje AI, aby i
… více »GNU awk (gawk), implementace specializovaného programovacího jazyka pro zpracování textu, byl vydán ve verzi 5.4.0. Jedná se o větší vydání po více než dvou letech. Mezi četnými změnami figuruje např. MinRX nově jako výchozí implementace pro regulární výrazy.
Internetový prohlížeč Ladybird ohlásil tranzici z programovacího jazyka C++ do Rustu. Přechod bude probíhat postupně a nové komponenty budou dočasně koexistovat se stávajícím C++ kódem. Pro urychlení práce bude použita umělá inteligence, při portování první komponenty prohlížeče, JavaScriptového enginu LibJS, bylo během dvou týdnů pomocí nástrojů Claude Code a Codex vygenerováno kolem 25 000 řádků kódu. Nejedná se o čistě autonomní vývoj pomocí agentů.
Byl vydán Mozilla Firefox 148.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově lze snadno povolit nebo zakázat jednotlivé AI funkce. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 148 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána nová verze 22.1.0, tj. první stabilní verze z nové řady 22.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
X86CSS je experimentální webový emulátor instrukční sady x86 napsaný výhradně v CSS, tedy bez JavaScriptu nebo dalších dynamických prvků. Stránka 'spouští' assemblerovový program mikroprocesoru 8086 a názorně tak demonstruje, že i prosté CSS může fungovat jako Turingovsky kompletní jazyk. Zdrojový kód projektu je na GitHubu.
Po šesti letech byla vydána nová verze 1.3 webového rozhraní ke gitovým repozitářům CGit.
Byla vydána nová verze 6.1 linuxové distribuce Lakka (Wikipedie), jež umožňuje transformovat podporované počítače v herní konzole. Nejnovější Lakka přichází s RetroArchem 1.22.2.
Matematický software GNU Octave byl vydán ve verzi 11.1.0. Podrobnosti v poznámkách k vydání. Vedle menších změn rozhraní jsou jako obvykle zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 15.0.0. Přehled novinek v příspěvku na blogu společnosti Collabora. Vypíchnout lze Lua shell umožňující psát správu oken v jazyce Lua.
Jsem pomerne novym majitelem telefonu Samsung E250V (od Vodafone, k pausalu). Za svoji cenu toho nabizi pomerne hodne, ale o tom psat nebudu a nechci. Trapila me jedna vec, stahovani java her a aplikaci.
Od vyrobce je to totiz sikovne zablokovano jen na WAP, cili pomerne draha a nesikovna zalezitost. Postupne jsem na netu nasel par navodu, z nichz jsem pochopil, ze to jde i jinak. Bohuzel navody byly vyhradne pro Windows a jeste s pouzitim komercnich nastroju.
Googlenim jsem k nicemu nedospel, dany navod se vyskytoval na hodne forech. Jedine o cem se tam ale diskutovalo byla neschopnost urcitych jedincu postupovat krok za krokem, dusledkem cehoz jim postup nefungoval. Zajimal jsem se, zda existuje nejaky zpusob, jak stahovat hry do telefonu pod Linuxem ale to byla proste mission impossible. Rekl jsem si, ze to zkusim jinak a vysledkem je tento navod.
Hned na zacatek si muzeme rict, ze k uspesnemu stahovani potrebujeme tyto zalezitosti:
Nejprve musime obstarat vlastni spojeni s telefonem. Pouzivam Bluetooth dongle od Soleda v cene asi 200,- Kc. Prenos nebezi moc rychle ale funguje a za tu cenu se proste vyplati. K jeho zprovozneni potrebujeme jednak zapnout Bluetooth v jadre (v sekci Networking) a pak nainstalovat balicek bluez-utils.
Zkusime najit telefon pomocihcitool scan. Opiseme si MAC adresu telefonu (ja budu vzdy psat XX:XX:XX:XX:XX:XX) a nastavime konfigurak v /etc/bluetooth/rfcomm.conf
rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device XX:XX:XX:XX:XX:XX;
# RFCOMM channel for the connection
channel 2;
# Description of the connection
comment "Samsung E250V";
}
Toto by melo automaticky spojit telefon a umistit odkaz do /dev/rfcomm0. Osobne to ale spoustim z prikazove radky pouzitim rfcomm bind 0 XX:XX:XX:XX:XX:XX 2. Mozna jeste nastavime pin v /etc/bluetooth/pin, abychom se mohli bez problemu sparovat. Spravnost nahozeni seriove linky overime napr. pomoci nastroje gsmctl z balicku gsblib. Vyvolanim gsmctl ME -d /dev/rfcomm0 by se nam mely vypsat zakladni udaje o telefonu.
Dalsi podminkou je bezici PPP spojeni mezi telefonem a PC. Pouzijeme ppp demon, opet pouzivam primo prikazovou radku.
pppd /dev/rfcomm0 nodetach local debug lock 192.168.1.1:192.168.1.2 mtu 270
Kdyz se to spusti s temito parametry, tak demon zustane bezet v popredi a muzete si tak zkontrolovat, zda nedoslo k nejakemu problemu pri navazovani spojeni. Spojeni ale musi iniciovat telefon, jak ho tedy k tomu primet?
Na klavesnici telefonu vytukejte *#JAVATEST#. Dostanete se do servisniho menu. Zmente nosnou technologii na seriovou linku -> OTA type setting, Serial bearer OTA. Toto staci provest jen jednou, potom spustte onen ppp demon a prejdete do menu Serial test -> PPP UP -> Bluetooth. Timto se navaze PPP spojeni telefonu s PC. Vypis ze strany PPP demonu by mel vypadat zhruba takto:
Using interface ppp0 Connect: ppp0 <--> /dev/rfcomm0 sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xa8183940> <pcomp> <accomp>] rcvd [LCP ConfReq id=0x3 <asyncmap 0xa0000>] sent [LCP ConfAck id=0x3 <asyncmap 0xa0000>] sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xa8183940> <pcomp> <accomp>] rcvd [LCP ConfRej id=0x1 <magic 0xa8183940> <pcomp> <accomp>] sent [LCP ConfReq id=0x2 <asyncmap 0x0>] rcvd [LCP ConfNak id=0x2 <asyncmap 0xa0000>] sent [LCP ConfReq id=0x3 <asyncmap 0xa0000>] rcvd [LCP ConfAck id=0x3 <asyncmap 0xa0000>] sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>] sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.1.1>] rcvd [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>] sent [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>] rcvd [LCP ProtRej id=0x4 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00] Protocol-Reject for 'Compression Control Protocol' (0x80fd) received rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>] sent [IPCP ConfReq id=0x2 <addr 192.168.1.1>] rcvd [IPCP ConfReq id=0x3 <addr 0.0.0.0>] sent [IPCP ConfNak id=0x3 <addr 192.168.1.2>] rcvd [IPCP ConfAck id=0x2 <addr 192.168.1.1>] rcvd [IPCP ConfReq id=0x5 <addr 192.168.1.2>] sent [IPCP ConfAck id=0x5 <addr 192.168.1.2>] Cannot determine ethernet address for proxy ARP local IP address 192.168.1.1 remote IP address 192.168.1.2 Script /etc/ppp/ip-up started (pid 8300) Script /etc/ppp/ip-up finished (pid 8300), status = 0x1
Vidime, ze mame navazano spojeni, adresa tunelu na strane PC je 192.168.1.1, na strane telefonu 192.168.1.2. Funkcnost muzete overit pomoci ping 192.168.1.2, telefon by mel normalne odpovidat. Samozrejme adresy muzete libovolne zmenit, pokud vam zrovna tento rozsah s necim koliduje.
127.0.0.1. Dlouho mi trvalo, nez mi doslo, ze telefon se snazi navazat spojeni sam se sebou (a ne s PC na mistni smycce). Kdyz jsem to zjistil, premyslel jsem, jak z toho ven. A resenim byl DNAT. Do IPTables je potreba pridat nasledujici pravidlo.
iptables -t nat -A PREROUTING -d 127.0.0.1 -p tcp -j DNAT --to-destination 192.168.1.1Tim prinutime smerovat spojeni na nas pocitac, kde jiz muze poslouchat www server. V opacnem smeru neni potreba nic stavet, protoze routavaci tabulka nam odpoved nasmeruje spravne do PPP tunelu.
Blizime se do finale :) Musime nastavit WWW server tak, aby poslouchal na portu 888 na adrese 192.168.1.1. Ja jsem zvolil thttpd, protoze nema cenu kvuli tomuto instalovat apache. Port staci upravit v souboru /etc/conf.d/thttpd.
V adresari /var/www/localhost je nutno vytvorit adresar test, dat prava k pristupu pro uzivatele nobody a do nej nahrat dva soubory: getNextApp.jad a vlastni .jar aplikace. Soubor getNextApp.jad je prejmenovany puvodni .jad dodany k aplikaci. Je to vlastne popisovac, ktery dale telefonu rekne, o jaky soubor ma pozadat. Vlastni stahovani zahajime opet z servisniho menu k telefonu, volbou Serial test -> seriove stahovani. Telefon pak navaze spojeni s WWW servem, stahne dany MIDLet a aplikaci spusti.
Pokud mate vsechno dobre nastaveno a aplikace se stahla, tak se vam srdecne blahopreji! Myslim ze pro vas opet o trochu stoupla hodnota tohoto jinak skvele vybaveneho lowendoveho telefonku :)
Tiskni
Sdílej: