abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 14:00 | Zajímavý projekt

Vítězným projektem letošního ročníku soutěže určené vývojářům open source hardwaru Hackaday Prize se stal modulární senzorový systém FieldKit.

Ladislav Hagara | Komentářů: 1
16.11. 15:44 | Nová verze

Byl vydán Debian 10.2, tj. druhá opravná verze Debianu 10 s kódovým názvem Buster. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 10 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 1
15.11. 13:22 | Zajímavý článek

Na stránkách spolku OpenAlt vyšel Rozhovor s Jaroslavem Tulachem o GraalVM – o kompilátoru umožňujícím v jednom programu kombinovat různé jazyky (Java, JavaScript, Ruby, R, C, C++, Fortran, Rust aj.), překládat do nativních binárek nebo si snadno vytvořit vlastní jazyk a použít při tom stávající ekosystém (debugger, profiler, IDE atd.).

xkucf03 | Komentářů: 0
15.11. 11:55 | Komunita

Bylo spuštěno předobjednávání linuxových chytrých telefonů PINEPHONE v limitované edici BraveHeart. Cena telefonu je 149 dolarů. Cena dopravy do Česka je 15 dolarů. Telefony by mely být odesílány na přelomu prosince a ledna.

Ladislav Hagara | Komentářů: 24
15.11. 02:22 | Pozvánky

Fedora 31 Release Party, tj. oslava nedávného vydání Fedory 31, se uskuteční ve středu 20. listopadu v Brně. Program přednášek bude upřesněn.

Ladislav Hagara | Komentářů: 2
15.11. 01:11 | Nová verze

Příspěvek na blogu webové aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) představuje novinky a ukazuje náhledy nové major verze 1.10.0 této v programovacím jazyce Go naprogramované aplikace. Nově jsou například vedle sebe zobrazovány původní a nové verze obrázků.

Ladislav Hagara | Komentářů: 0
14.11. 22:33 | IT novinky

Společnost Docker stojící za stejnojmennou kontejnerovou technologií čelila vážným finančním problémům. Stávající investoři do ní ale vložili dalších 35 milionů dolarů a společnost Mirantis odkoupila Docker Enterprise.

Ladislav Hagara | Komentářů: 0
14.11. 16:11 | IT novinky

Od 24. listopadu bude možné předobjednat přenosný počítač Pocket Popcorn Computer (Pocket P.C.) s 1.2 GHz Quad-Core ARM Cortex-A53 CPU, 2GB DDR3 RAM, 32GB eMMC Memory, 4.95" Full HD IPS LCD a 3200 mAh Removable Battery. Počítač by měl být odesílán v květnu 2020. Předinstalován by měl být Debian 10.

Ladislav Hagara | Komentářů: 113
14.11. 11:11 | Komunita

Canonical věnoval nadaci UBports další telefony a tablety pro podporu vývoje Ubuntu Touch, tj. Ubuntu pro telefony a tablety. Vybraní vývojáři Ubuntu Touch je mohou získat zdarma.

Ladislav Hagara | Komentářů: 24
14.11. 09:33 | Zajímavý projekt

Společnost GitHub v rámci svého GitHub Archive Programu vytvoří několik off-line záloh open source softwaru nacházejícího se na GitHubu pro budoucí generace. První taková záloha všech aktivních repozitářů proběhne 2. února 2020 ve spolupráci se společností Pigl na jejich piqlFilmy a uložena bude v Arktickém světovém archivu. Případné obnovení ze zálohy by mělo být možné i za 1 000 let.

Ladislav Hagara | Komentářů: 7
Jaké hodinky nosíte (nejčastěji)?
 (24%)
 (6%)
 (16%)
 (54%)
Celkem 216 hlasů
 Komentářů: 15, poslední dnes 00:48
Rozcestník

Delfská veštírna trochu jinak

1.7.2010 00:44 | Přečteno: 1723× | Jen tak | poslední úprava: 1.7.2010 12:50

Inspirován zápisem o pořádně napěchované skříni s disketama sem se rozhodl napsat prográmek, co by simuloval cosi podobného. Kdo už takovou sbírku disket vlastní a nic emulovat nepotřebuje, dál číst nemusí :-).

Myšlenka je jednoduchá. Místo všech kombinací 1,44 MB disket budeme mít prográmek, co dokáže vykreslit 8x8 pixelů velký monochromatický piktogram (tedy aspoň na architekturách, kde je long long int 64bitů). Proč zrovna 8x8? Jednak proto, že se mi to dobře programovalo a taky proto, že na vstupu může být stále celkem zapamatovatelné a vymyslitelné číslo.

Ano číslo, další podstatná věc, která v odkazovaném blogu zazněla. Každá informace se dá převést na číslo a chtěl jsem, aby s ním prográmek umožnil pracovat.

Tak co to vlastně umí: Program může mít jeden volitelný parametr a to právě to číslo, ze kterého vykreslí piktogram. Jinak kdykoliv je možné v programu zmáčknout klávesu [mezerník] co spustí promítání náhodných piktogramů v intervalu jedna sekunda, znovu stisknutím [mezerníku] se to pauzne. Číslo vygenerovaných piktogramů se vypisuje do konsole, i do titulku okna.

Protože některé piktogramy mohou invertovaně působit odlišně, klávesa [I] spustí (a vypne) střídání inverze.

Cože to vlastně může dokázat vykreslit? No máme 18446744073709551615 18446744073709551616 kombinací (větší čísla nezadávat ;)). To je celkem slušné. 8x8 fonty existují, taky jsem objevil jakýsi pixelart (akorát barevný). Takže nějaké "poselství" by mělo být možné tímto věštícím nástrojem přijmout ;-).

Náhodné generování pomocí rand() použité v programu ve funkci [mezerník] má bohužel nevýhodu v tom, že je RAND_MAX podstatně menší než LONG LONG INT. Řeším to škálováním, ale tím jsem spoustu kombinací vyřadil :-(. Lepší by to bylo propojit s /dev/random, nebo /dev/urandom, ale to už se mi (zatím) nechtělo.

Po krátkém testování mi to pár hezkých obrázků vyrobilo, tak je přikládám. Zdroják hodím do prvního komentáře jako přílohu. Přeložit to jde snad všude kde je gcc a nainstalovaná i devel verze sdl (obvykle balíček sdllib-dev). Nemělo by to jakkoliv poškodit počítač ani data ;-). Překládat takhle:
gcc -o main main.c `pkg-config --cflags --libs sdl`
Jinak proč? No potřeba po dlouhé době provětrat znalosti SDL a C. Jsem prasič, takže kód je šílený :-). A jinak, kdyby tam někdo zahlédl odpověď na otázku života, vesmíru a vůbec a podobně, poslat screen ;-) (a nebo projít všechny možné kombinace a poslat ty nejhezčí pixelarty ;)).

Update: pod prvním komentářem najdete soubor vestirna.c, což je vylepšená verze, která čte z /dev/urandom (kdo chce /dev/random, ať změní ve zdrojáku - dík FAtbluNTovi) a navíc opravuje chybku se čtením vstupu (nečetlo správně nejvyšší řády, teď to po zadání maxima - 18446744073709551615 - vykreslí bílou obrazovku.        

Hodnocení: 100 %

        špatnédobré        

Obrázky

Delfská veštírna trochu jinak, obrázek 1 Delfská veštírna trochu jinak, obrázek 2 Delfská veštírna trochu jinak, obrázek 3 Delfská veštírna trochu jinak, obrázek 4

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

1.7.2010 00:45 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Příloha:
zdrojak
Baník pyčo!
1.7.2010 00:51 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Příloha:
Je tam chyba, hned to spadne. Tohle by mohlo fungovat :).
Baník pyčo!
1.7.2010 12:45 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Příloha:
Tak dalsi bugfix, atof kterou jsem pouzil pro cteni vstupu nebyla schopna nacist unsigned long long int. Napsal jsem si atoull. Tahle verze cte z /dev/urandom.
Baník pyčo!
1.7.2010 00:55 Mrkva | skóre: 22 | blog: urandom
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Co takhle jednoduché strings /dev/urandom a hledat smysl v tom? :)
Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
1.7.2010 01:01 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Promiň, ale já v tom pořád vidím jenom čaj :-). Tady vidím občas hezké obrázky. Prostě mozek v těch pixelech je s trochou fantazie schopný cosi vyčíst, k něčemu si to přiřadit. Což u hromady nesourodých ascii znaků moc nejde ;-). Kdyby se na to poštval třeba ještě slovník, bylo by to lepší. Ale to by zas nebyl ono (samozřejmě, v obou případech jde pouze o srandu, ale u toho mého programu myslím že člověk vydrží o pár sekund dýl a to se vyplatí ;P).
Baník pyčo!
1.7.2010 01:32 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Příloha:
Teď mi třeba vypadl tenhle obrazek, celkem slusny pixelart (nebo temne proroctvi?) ;-). Urcite tam vidim vic nez v hromade caje :).
Baník pyčo!
1.7.2010 01:42 Mrkva | skóre: 22 | blog: urandom
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
No nevim, u me to porad vykresluje jen bile okno :)
Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
1.7.2010 01:47 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Musis zmacknout mezernik, vzdyt to v blogu pisu ;-).
Baník pyčo!
1.7.2010 01:53 Mrkva | skóre: 22 | blog: urandom
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Oprava: tvoje verze mi funguje. Nefungovala mi ta verze, co brala data z urandom.
Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
1.7.2010 02:04 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Příloha:
Tak ta mi jde, ale musel jsem na zacatku mainu z
  
if(!Init())
{
  SDL_Quit();
  return 1;
}

udelat

Init();
Proc netusim, predtim to slo. Je to nejaky rozbity :-). Tady jsem to vylepsil na /dev/random (musi se hybat myskou, jinak dojdou nahodna cisla). Viz priloha.
Baník pyčo!
1.7.2010 01:13 FAtbluNT
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Příloha:
Kdo je vetsi prase? Pridal jsem tam to cteni z urandom :-D
1.7.2010 01:21 FAtbluNT
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Příloha:
sorry cetlo to jenom 7 bajtu takhle je to spravne
1.7.2010 01:23 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Cool, funguje :-).

Kdyby to nekdo zkousel a neslo mu to, zrusit testovaci podminku kolem Init() na zacatku mainu. Nevim proc, ale aspon mi neprojde ;-). Pak to jde.
Baník pyčo!
Michal Wirth avatar 1.7.2010 08:00 Michal Wirth | skóre: 26
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
jen takovej rejp ... ten pocet kombinaci mate spatne, melo by to byt sude cislo ;-) to co tam mate, je IMHO cislo "posledni" kombinace s indexaci od nuly, ale jako pocet vsech kombinaci to nazvat nejde
Důležité se časem stává absurdním, absurdní se časem mění v důležité.
1.7.2010 10:31 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Jo, máš pravdu.
Baník pyčo!
1.7.2010 08:33 Allah Akbar
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
A verzia pre konzolu nebude?
1.7.2010 10:15 FAtbluNT
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Příloha:
tady je :-)
1.7.2010 10:42 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Příloha:
To aby jsme pomalu zalozili git :-D. Jinak nejak mi to nebezelo, mam divny asi prekladac (na desktopu mam jeste ubuntu, gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) ;)). Kupodivu se size nechovalo jako globalni, musel sem ho udelat staticke (proc fakt netusim). A doplnil jsem nejake hlavickove soubory.
Baník pyčo!
Jendа avatar 1.7.2010 10:39 Jendа | skóre: 75 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Příloha:
Textová implementace v bashi.
Bojíte se 5G sítí? Pořiďte si domů radar, který veškeré 5G sítě spolehlivě zaruší!
1.7.2010 10:47 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Pekne, ale chybi tu cislo jako jednoznacky identifikator obrazku. Ale to by asi napsat v bashi nebyla zadna sranda. Jeste cekam implementaci v awk, brainfucku a cobolu ;P.
Baník pyčo!
Michal Fecko avatar 1.7.2010 12:36 Michal Fecko | skóre: 31 | blog: Poznámkový blog
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
ja sa nehram ;-)
+--------+
|  |
||
||
||
||
||
||
||
+--------+
10

xsubway avatar 1.7.2010 13:04 xsubway | skóre: 13 | blog: litera_scripta_manet
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
pěkné :)
1.7.2010 12:11 Dadam | skóre: 12 | blog: dadamovo
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Dobrý :-) Tak mě napadlo, že rand vrací 32bitové čísla, že? Vygeneruj si čísla dvě a vynásob?
A i B mají svoje výhody a nevýhody. Vyberte si to, co vám vyhovuje víc, a necpěte A tam, kam patří B.
Jendа avatar 1.7.2010 12:19 Jendа | skóre: 75 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Nebude pak rozložení nerovnoměrné? (většina takto vygenerovaných čísel bude ve středu intervalu, jako když házíš dvěma platónskými tělesy) A taky přijdeš o prvočísla.
Bojíte se 5G sítí? Pořiďte si domů radar, který veškeré 5G sítě spolehlivě zaruší!
1.7.2010 12:25 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Jo, na to jsem tak nejak myslel. Stejne tak kdyz hazes dvemi kostkami a delas soucet, gausova krivka se tomu tusim nadava. Ale cteni z /dev/urandom (/dev/random) to resi (nekde v diskuzi).
Baník pyčo!
1.7.2010 12:28 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Baník pyčo!
1.7.2010 19:05 Kvakor
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Stejne tak kdyz hazes dvemi kostkami a delas soucet, gausova krivka se tomu tusim nadava.
Přesně takto se gaussovské rozdělení dělá. Pokud si to ještě dobře pamatuju, tak na použitelnou verzi stačí posčítat dvanác normalizovaných hodnot (tj. z intervalo 0,1) a odečíst šestku, pro nenormalizované funkce (jako je rand()) je třeba samozřejmě odečíst šestinásobek RAND_MAX a výsledek touto hodnotou ještě podělit (nebo s ním počítat jako s číslem s pevnou řádovou čárkou).

1.7.2010 12:56 JVid
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Funkční řešení je vygenerovat dvě čísla, jedno posunout o 32b doleva a pak je vyXORovat. Při sčítání nebo násobení to samozřejmě fungovat nebude, resp. ne tak, jak by člověk chtěl.
1.7.2010 13:07 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Jo, to by asi šlo.
Baník pyčo!
Grunt avatar 1.7.2010 16:40 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
A nebylo by lepší cpát nějakou náhodnou entropii spíš do frekvencí? U toho je spíš šance, že si mozek něco domyslí.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
1.7.2010 16:57 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Příloha:
A jak by sis to představoval? Na výstupu zvuk / fraktál?

Mě by se líbilo nechat to takto náhodně generovat obrazce a kdyby mi nějaký něco připomínal (třeba nějaké zborcené písmeno A, to jsem už občas v tom smetí zahlédl), zastavit to a hledat podobné obrazce k tomu nalezenému (nějaké metoda postupného výběru). Jenže jak to realizovat...

Jinak i z toho mého občas vypadne něco trošku zajímavého. Tady je třeba osově souměrný obrazec, který má druhou část barevně invertovanou.
Baník pyčo!
1.7.2010 17:22 Vskutečnosti Saýc | skóre: 7
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak

No, mohl bys udelat inverzni diskretni kosinovou transformaci, treba by z toho lezlo neco zajimaveho :)

Grunt avatar 1.7.2010 20:31 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Ne. Prostě náhodný šum (jaký třeba vyleze z dd if=/dev/urandom of=/dev/fb0) převést zpět z frekvenční domény do časové. Takže třeba pomocí ImageMagicku (nemám nainstalovanou HDR verzi, takže nemůžu ověřit správnost):convert -size 512x512 rgb:/dev/urandom -size 512x512 rgb:/dev/urandom -ift show:. Jen by se musela nějak normalizovat amplitudová složka aby se výsledek vešel do rozsahu. A klidně by na to šlo použít to pole 8x8. By z toho sice vylezl jen rozmazaný maglajz, ale i tak je větší šance, že v něm mozek uvidí něco víc než v takovém políčku pixelů 8x8.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.