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 19:11 | Zajímavý projekt

Neziskové technologické konsorcium Linux Foundation a společnosti Grillo a IBM společně představili projekt OpenEEW (GitHub) neboli open source systém včasného varování před zemětřeseními (earthquake early-warning).

Ladislav Hagara | Komentářů: 0
včera 16:33 | Nová verze

Byla vydána nová verze 5.1.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 235 vývojářů. Provedeno bylo více než 2 500 commitů. Přehled úprav a nových vlastností v seznamu změn.

Ladislav Hagara | Komentářů: 1
včera 16:11 | Nová verze

Byla vydána nová verze 20.08.0 KDE Aplikací (KDE Applications). Přehled novinek i s náhledy v oficiálním oznámení (sk), v kompletním seznamu změn a na stránce s dalšími informacemi.

Ladislav Hagara | Komentářů: 0
12.8. 13:55 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice zveřejnila čtyřiapadesátistránkovou výroční zprávu za rok 2019. K dispozici je v nízkém (6,4 MB) i vysokém (53,2 MB) rozlišení. Nadace také publikovala statistiky související s LibreOffice 7.0. Před týdnem vydaná verze byla z oficiálních stránek stažena již 423 tisíckrát.

Ladislav Hagara | Komentářů: 0
12.8. 13:33 | Zajímavý článek

Když se řekne „jmenný prostor“ hodně lidí si představí xmlns v XML nebo balíčky v Javě odvozené od internetových domén. Jmenné prostory jsou ale obecný koncept se kterým se setkáme prakticky všude a odvozovat je můžeme i jinak. Článek Jména a jmenné prostory dává toto téma do souvislostí a ukazuje různé způsoby tvorby jmenných prostorů. Nahlédneme i do zajímavého světa RDF a ukážeme si, jak vytvářet URI, která budou globálně unikátní jednou provždy.

xkucf03 | Komentářů: 5
12.8. 08:00 | Nová verze

Po více než čtyřech měsících vývoje od vydání verze 5.4 byla vydána nová verze 5.5 svobodného open source redakčního systému WordPress. Kódové označení Eckstine bylo vybráno na počest amerického jazzového zpěváka Billy Eckstine.

Ladislav Hagara | Komentářů: 0
12.8. 07:00 | Nová verze

Po půl roce vývoje od vydání verze 1.14 byla vydána nová verze 1.15 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
12.8. 01:10 | Nová verze
Vyšla nová verzia Firefox 79.0.3 pre android. Prináša zmenené rozhranie (práca s taby, vytváranie kolekcií stránok a možnosť mať hlavnú lištu už aj dole na obrazovke). V backhand zaujme používateľa, že odsek vie zalamovať podľa šírky obrazovky. (viac)
debian+ | Komentářů: 19
11.8. 18:00 | Komunita

Mitchell Baker v příspěvku Changing World, Changing Mozilla na blogu Mozilly píše o měnícím se světě a měnící se Mozille aneb výrazné restrukturalizaci společnosti Mozilla Corporation. Propuštěno bude 250 zaměstnanců.

Ladislav Hagara | Komentářů: 47
11.8. 17:00 | Zajímavý článek

O novince Swap na ZRAM, jež se objeví ve Fedoře 33, píše Vojtěch Trefný na MojeFedora.cz. Ve výchozí instalaci Fedory bude swap, neboli odkládací prostor, vytvořen již pouze na ZRAM, neboli komprimován v paměti.

Ladislav Hagara | Komentářů: 31
Dokážete si představit, že by váš hlavní počítač (desktop, notebook) byl v současné době založen na architektuře jiné než x86 (x86_64)? Například ARM, POWER, RISC-V,…
 (13%)
 (12%)
 (56%)
 (15%)
 (5%)
Celkem 255 hlasů
 Komentářů: 15, poslední včera 14:20
Rozcestník

Delfská veštírna trochu jinak

1.7.2010 00:44 | Přečteno: 1742× | 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: 76 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Delfská veštírna trochu jinak
Příloha:
Textová implementace v bashi.
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: 76 | 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.
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.