Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.
Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.
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.
V programování a programovacích jazycích se vrtám roky rokoucí a proto se málokdy stane, že mě něco překvapí. Ale přesně to se před pár týdny stalo. Narazil jsem totiž na pypy a připomněl si, co znamená hackerství ve svém nejlepším významu.
Co je vlastně pypy? Pypy je implementace jazyka Python v Pythonu samotném. Na první pohled je to pěkná divočina, vlastně až nesmysl. Standardní interpreter Pythonu je napsán v jazyce C (říkejme mu CPython), pypy je do jisté míry prostá reimplementace CPythonu, akorát napsaná v Pythonu.
Pypy ve své základní podobě samozřejmě není schopen přímo běžet v operačním systému, pro svůj běh potřebuje interpreter Pythonu a tedy CPython. Program spuštěný nad pypy je tedy interpretován dvojitě. Je to pomalé? Nu, je to véélmi pomalé - zhruba dvoutisíckrát pomalejší oproti "nativní" implementaci. Nesmysl? Keep on reading!
V této základní podobě je pypy pouze skvělý nástroj na experimentování s jazykem jako takovým. Je jednodušší přidat nějakou experimentální konstrukci do pypy než do CPythonu - prostě proto, že je použit mnohem vyšší jazyk.
Co mi ale vyrazilo dech, je možnost přeložit celý pypy z Pythonu do C. Obecně samozřejmě není možné jen tak přeložit pythoňácký zdroják do céčka. Pypy je ale implementován ve speciální podmnožině Pythonu, která je osekána o některé divočejší konstrukce (jako třeba eval()). Tuto podmnožinu nazývají RPython (restricted). Pypy přeložené do céčka je už jenom 2x až 4x pomalejší než originální CPython.
Aby toho nebylo dost, tak ono překládací udělátko je dostatečně obecné (pythoňácký bajtkód převede do grafové reprezentace a tam dělá zvěrstva jako typovou inferenci) a schopné generovat v podstatě jakýkoliv kód. Kromě C funguje překlad do dotnetího CIL spustitelného na Monu, kód pro experimentální LLVM (low level virtual machine), počítá se s Java bajtkódem.
Pypy je taky framework pro tvorbu interpreterů - v RPythonu lze napsat "specifikaci" jiného jazyka než Pythonu a z této "specifikace" vygenerovat interpreter pro libovolnou platformu. Tuším jsem na stránkách viděl něco o Prologu a uvažuje se o Scheme.
Ještě se vám to nedá dost? Stay connected!
Když se při implementaci CPythonu van Rossum rozhodl pro nějaký přístup a tento byl zadrátován do céčka, často už s tím nejde hnout. Například GC - CPython používá ke správě paměti počítání referencí. Předělat tento GC na mark and sweep je zhola nemožné, protože inkrementováním a dekrementováním počítadla referencí je céčkový zdroják prošpikován na mnoha místech. Pypy umí céčkový zdroják vygenerovat, takže aspekt správy paměti stačí změnit na jednom místě. Přepínačem je možno volit mezi Boehm GC a počítáním referencí.
Pypy má ještě několik zajímavých možností. Asi nejdůležitější je stackless Python. Originální stackless Python je sada invazivních patchů do CPythonu, která umožňuje oprostit se od limitů systémového zásobníku. Originální patche jsou dost těžko udržovatelné, stackless aspekt pypy je jeden přepínač ovlivňující generování céčkového kódu.
Další chuťovka je modifikace umožňující lazy vyhodnocování.
Aktuální verze 0.99 běží jenom na Pythonu 2.4 (patche pro 2.5 budou brzy v svn), přičemž je potřeba také dávat pozor na verze některých knihoven jako třeba ctypes. V Dapperovi mi interpretovaný pypy běžel, ale překlad padal na podivných výjimkách. Nejjistější je tedy vybildit si to podle následujícího rychlonávodu, ke kterému jsem došel po četných experimentech:
No a teď stačí zadat magický příkaz a vygenerovat vlastní interpreter přímo na tělo:
cd pypy/translator/goal /usr/local/bin/python translate.py --text --batch targetpypystandalone.py
Pozor, proces překladu trvá i na Core2 dvacet minut a sežere to tak půl giga paměti. Nicméně to vypisuje hezké hlášky, tak se můžete dívat, co to asi dělá. Osobně nechápu, jak může na stroji s vyšším výkonem než celé DoD za studené války něco "užitečného" trvat dvacet minut. Předpokládám, že grafy popisující kód, které to konstruuje, jsou dost velké a je tam nějaká sviňa s O(N^2). Ale pokud to vydržíte, zjeví se vám nová binárka pypy-c, kterou můžete bez ostychu spustit.
Parodii na IronPython vygenerujete asi takto:
translate.py --text --batch --backend=cli targetpypystandalone.py
from test import pystone pystone.main()
| Interpreter | pystone |
| CPython 2.4 | 39062 |
| pypy-c | 11236 |
| pypy-cli | 957 |
| pypy | 18 |
No je to hezká hračka a třeba z toho nakonec vyleze lepší interpreter, než je ten Rossumův. Projekt je aktivní, mailinglist živý, sponzoruje mj. EU.
Tiskni
Sdílej:
[Vallhala]~>python a.py
Pystone(1.1) time for 50000 passes = 1.25
This machine benchmarks at 40000 pystones/second
[Vallhala]~>
. S tím, že "horší než lineární" není dost výstižné, protože O(n log(n)) je na "obyčejná" data vždy v pohodě. O(n^2) už umí udělat pěknou paseku. Kdo nevěří, ať si nechá seřadit bubble-sortem trapný milion integerů.
Skrátka, aby som to zhrnul, tak o tom, akú zložitosť majú algoritmy v pypy, sa nedá povedať prakticky nič. Ale aspoň som si zopakoval asymptoty
Ale já jsem to psal z čistě inženýrského pohledu. Já si prostě myslím že je tam něco nelineárního, protože si nedovedu představit, že by tam byl milionkrát lineární průchod (jak jsi ostatně poznamenal).
Dneska pokračuju ve čtení dokumentace. Mají tam nějaký graf (uzly bloky kódu, hrany skoky) a ty uzly se snaží poskládat aby byl co nejmenší počet skoků. Teorii grafů jsem sice už skoro zapomněl, ale nějakým tím polynomem mi to smrdí.
Ale je to komplikovanejšie, lebo informatika ma prestala baviť, tak som prešiel na fyziku. Takže teóriou nasiaknutý nie som; O-notáciu som používal naposledy keď som riešil informatické súťaže na strednej. A to bolo už dáávno
To je dobre, že si sa dal na dokumentáciu. Ak sa dá niekde zistiť, akú to má zložitosť, tak asi tam. A idem sa na to pozrieť aj ja, znie to zaujímavo.
Btw, O(n^2) a omega(n^2) sa vylučujú. Nevylučovalo by sa to s Omega(n^2). Potom by sme dostali tú Theta ako prienik. Dúfam, že zasa neblúznim