﻿ALL_POSTS.txt
Plain-text export of textual content from vojtamaur.cz.

Generated from the built static website during build/postbuild.
This file is intended for indexing, archiving, offline reading and long-term preservation.

Primary website: https://vojtamaur.cz/
Generated: 2026-08-18T06:52:37.836Z
Encoding: UTF-8 with BOM
Encoding check: čeština, ř, ž, š, ě, ů, á, é, í, ý, —, “quotes”

Notes:
- Media, iframes, PDFs and other non-text content are represented by placeholders.
- Long code/output blocks over 120 lines or 12000 characters are truncated in this export, not omitted.
- For complete content, use the rendered website, source repository, or static snapshots.


============================================================
TITLE: Koncepty
SLUG: koncepty
URL: https://vojtamaur.cz/koncepty/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2026-08-14
SOURCE: src/content/posts/koncepty.mdx
BUILT_HTML: dist/koncepty/index.html
============================================================

Koncepty
srpen 2026
Zápisky níže jsou průběžným záznamem nápadů a postřehů, které se u mě v průběhu času objevily.
Nejsou často domyšlené ani realizované, i když v budoucnu mohou být. A nebo nemusí, na některé myšlenky je dostatečná forma poznámky. Některé jsou slepé uličky a tak nemá cenu je dál rozvíjet. Ale i tak mohou stát za záznam.
2026-01-31: SIMULACE PINHOLE KAMERY
Zkoušel jsem v Pythonu vytvořit jednoduchou funkční pinhole kameru. Kdysi na střední škole jsem již vytvořil skutečnou fyzickou, ale připadalo mi, že když jí nasimuluju, pochopím lépe její fungování, protože nestačí jen udělat dírku do krabice, vložit světlocitný papír, ten pak po expozici vyvolat a nechat fyziku udělat svou práci (ať už funguje jakkoliv). Tady se naopak musí simulovat i fyzika.
Měl jsem snahu udělat simulaci algoritmicky co nejrealističtější, i když limitem samozřejmě zůstávají moje znalosti a dostupný výpočetní výkon. Program například využívá forward ray tracing, tedy sledování světla od zdroje směrem ke scéně a kameře, namísto běžnějšího backward ray tracingu, který sleduje paprsky od kamery zpět do scény. Forward přístup je bližší fyzickému směru šíření světla, ale bývá výpočetně velmi neefektivní.
Příklady nastavení programu a vysvětlení parametrů: koncepty-2026-01-31-simulace-pinhole-nastaveni.txt [/files/koncepty-2026-01-31-simulace-pinhole-nastaveni.txt]
Zdrojový kód: koncepty-2026-01-31-simulace-pinhole.py [/files/koncepty-2026-01-31-simulace-pinhole.py]
2026-03-02: TŘÍDĚNÍ PIXELŮ FOTEK
Pokusil jsem se pomocí algoritmu roztřídit pixely fotografií. Idea byla přibližně třídit pixely podle HUE a světlosti: na jednu osu (třeba x) řadit pixely podle HUE a na druhou osu (třeba y) podle světlosti. Tím se pixely fotografie přeskupí, ale žádný nezmizí ani nevznikne nový. Přesto výstupní fotografie ztrácejí původní význam, ale zachovávají si barevnou atmosféru.
Zdrojový kód: koncepty-2026-03-02-trideni-pixelu-fotek.py [/files/koncepty-2026-03-02-trideni-pixelu-fotek.py]
2026-04-13: NÁHODNÁ EXPLORACE INTERNETU
Asi dva týdny jsem se věnoval náhodné exploraci internetu, protože mě zajímalo, jak vypadá, když ho nedoporučují algoritmy. Zkoušel jsem různé přístupy.
Tím prvním (naivním) bylo vytvoření programu na zadávání a otvírání URL, které jsou náhodně generované. To bylo samozřejmě extrémně neefektivní, prostor možných URL je příliš velký a ty existující jsou zastoupené řídce.
Druhý přístup byl postavit si vlastní crawler a dát mu nějakou bizarní seed URL (třeba web kdomivolal.cz [https://www.kdomivolal.cz/]). Výsledky jsem se pak snažil filtrovat pomocí LLM a následně se dívat jen na ty zajímavé (dle nějakých definovaných kritérií). Našel jsem tak hodně bizárů k pobavení, ale nic převratného.
Třetí přístup byl mnohem plodnější a zábavnější. Objevil jsem totiž, že existuje Certstream. Je to šikovná služba, která živě vysílá aktuálně vystavené bezpečnostní certifikáty po celém světě. Takže to zobrazuje URL webů, které buď nově vznikají, nebo obnovují svůj certifikát.
Zdrojový kód: koncepty-2026-04-13-certstream-listener.py [/files/koncepty-2026-04-13-certstream-listener.py]
Strávil jsem náhodným proklikáváním těchto URL několik dní. Nejčastěji jsem narazil na podvody (kryptoměnové atd.), porno, AI, AI porno, návody na to, jak vyrobit AI porno, gambling, přihlašovací rozhraní systémů, rodící se weby (které mají placeholder obsah nebo hlášky „pracujeme na tom“).
Díky tomuto procesu jsem narazil na web treeyo.my [https://treeyo.my/], který mi utkvěl v paměti svou minimalistickou podobou a nulovou optimalizací na pozornost diváka. Taky jsem zjistil, že ten web je opravdu okrajová část internetu, protože ho zatím neindexoval ani Google. Internet Archive na něj sice přišel, ale z CT logů, stejně jako já. Kvůli tomuto webu to hledání stálo za to.
2026-05-06: VÝSTAVA V PACIFIKU
Napadlo mě vytvořit 360° panoramatické fotky Pacifiku generované pomocí AI. Pak do nich vložit QR kód pomocí AI (něco ve stylu Illusion Diffusion), který odkazuje na nějaké umění. Následně by do nich šli vložit falešná metadata polohy (třeba GPS souřadnice uprostřed Pacifiku) a nahrát na Google Maps.
Alternativně by šlo vzít nějaká reálná místa nafocená 360° kamerou, třeba z jednoho města, pak jim všem posunout GPS pozice do Pacifiku. Důvod, proč mluvím jen o 360° fotkách je ten, že u nich Google doteď dovoluje upload na přesné GPS pozice pomocí metadat. Zatímco normální fotky musí být přiřazeny k existujícímu místu.
2026-06-04: PIGMENTOVÉ LÉZE
Tento projekt jsem se snažil realizovat, ale z důvodu časové náročnosti jsem ho nedokončil. Zdokumentoval jsem zatím pouze ruce, oříznul nafocené pihy (transparentní pozadí), zachoval jejich měřítko a vytvořil program na jejich seřazení v mřížce. Nicméně tohle je text, který měl koncept vysvětlit:
„V roce 2026 jsem zdokumentoval každý viditelný kožní nádor nebo cévní anomálii na povrchu svého těla. U každého objektu bylo zachováno měřítko. Následně byly jednotlivé léze digitálně vyříznuty a seřazeny do pravidelné mřížky. “
2026-06-21: SEBE-MODIFIKUJÍCÍ INTELIGENTNÍ PROGRAM
Zkoušel jsem vytvořit program, který využívá OpenAI API a jejich LLMs. Program má za úkol modifikovat sám sebe a pak se znovu spustit. A mě zajímalo, kam to povede.
Bohužel, model často odmítl zadání, protože ho považoval za nebezpečné. Nebo ho splnil, ale jeho následovník už ne. Atraktorem bylo prostě vždy odmítnutí z důvodu bezpečnosti. Ani se nikdy nedostal k čtvrté iteraci.
Zdrojový kód: koncepty-2026-06-21-sebe-modifikujici-inteligentni-program.py [/files/koncepty-2026-06-21-sebe-modifikujici-inteligentni-program.py]
2026-08-14: ODPADKY
Co kdybych vyfotil úplně každý odpadek, který házím do koše? Dalo by se ho nafotit s měřítkem, odpadky pak oříznout od pozadí a v odpovídajících velikostních poměrech je poskládat do pravidelné mřížky.


============================================================
TITLE: Koncepty
SLUG: koncepty
URL: https://vojtamaur.cz/en/koncepty/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2026-08-14
SOURCE: src/content/posts/koncepty.mdx
BUILT_HTML: dist/en/koncepty/index.html
============================================================

Concepts
August 2026
The notes below are an ongoing record of ideas and observations that have come to me over time.
They are often neither fully thought through nor implemented, though they may be in the future. Or perhaps not—for some ideas, a note is sufficient. Some are dead ends, so there’s no point in developing them further. But even so, they may be worth recording.
January 31, 2026: PINHOLE CAMERA SIMULATION
I tried to create a simple, functional pinhole camera in Python. Back in high school, I’d already built a real physical one, but I felt that if I simulated it, I’d understand how it works better—because it’s not enough to just punch a hole in a box, insert light-sensitive paper, develop it after exposure, and let physics do its job (however that might work). Here, on the other hand, the physics must also be simulated.
I aimed to make the simulation as realistic as possible from an algorithmic standpoint, although my knowledge and the available computing power naturally remain limitations. For example, the program uses forward ray tracing—that is, tracing light from the source toward the scene and the camera—instead of the more common backward ray tracing, which traces rays from the camera back into the scene. The forward approach is closer to the physical direction of light propagation, but it tends to be very computationally inefficient.
Examples of program settings and explanations of parameters: concepts-2026-01-31-pinhole-simulation-settings.txt [/files/koncepty-2026-01-31-simulace-pinhole-nastaveni.txt]
Source code: concepts-2026-01-31-pinhole-simulation.py [/files/koncepty-2026-01-31-simulace-pinhole.py]
2026-03-02: CLASSIFYING PHOTO PIXELS
I attempted to sort the pixels in photos using an algorithm. The idea was to roughly sort the pixels by HUE and brightness: arrange the pixels along one axis (say, the x-axis) according to HUE and along the other axis (say, the y-axis) according to brightness. This rearranges the photo’s pixels, but none disappear or are created. Nevertheless, the resulting photos lose their original meaning but retain their color atmosphere.
Source code: concepts-2026-03-02-sorting-photo-pixels.py [/files/koncepty-2026-03-02-trideni-pixelu-fotek.py]
2026-04-13: RANDOM EXPLORATION OF THE INTERNET
For about two weeks, I devoted myself to randomly exploring the internet because I was curious to see what it looks like when it isn’t recommended by algorithms. I tried various approaches.
The first (naive) approach was to create a program to enter and open randomly generated URLs. This was, of course, extremely inefficient—the space of possible URLs is too large, and existing ones are sparsely represented.
The second approach was to build my own crawler and feed it some bizarre seed URL (such as the website kdomivolal.cz [https://www.kdomivolal.cz/]). I then tried to filter the results using an LLM and subsequently look only at the interesting ones (based on some defined criteria). I found a lot of bizarre things to amuse myself, but nothing groundbreaking.
The third approach was much more fruitful and entertaining. I discovered that Certstream exists. It’s a handy service that live-streams currently issued security certificates from around the world. So it displays the URLs of websites that are either newly created or renewing their certificates.
Source code: concepts-2026-04-13-certstream-listener.py [/files/koncepty-2026-04-13-certstream-listener.py]
I spent several days randomly clicking through these URLs. Most often, I came across scams (cryptocurrency-related, etc.), porn, AI, AI porn, tutorials on how to create AI porn, gambling, system login interfaces, and nascent websites (which have placeholder content or “we’re working on it” messages).
Through this process, I stumbled upon the website treeyo.my [https://treeyo.my/]
, which stuck in my memory because of its minimalist design and zero optimization for the viewer’s attention. I also discovered that this website is truly a fringe part of the internet, as even Google hasn’t indexed it yet. The Internet Archive did find it, but from CT logs—just like I did. This website alone made the search worthwhile.
May 6, 2026: EXHIBITION IN THE PACIFIC
I had the idea to create 360° panoramic photos of the Pacific generated using AI. Then embed an AI-generated QR code (something like Illusion Diffusion) in them that links to some artwork. After that, I could add fake location metadata (like GPS coordinates in the middle of the Pacific) and upload them to Google Maps.
Alternatively, I could take some real locations photographed with a 360° camera—say, from a single city—and then shift all their GPS positions to the Pacific. The reason I’m only talking about 360° photos is that, so far, Google allows them to be uploaded to exact GPS locations using metadata. Meanwhile, regular photos must be assigned to an existing location.
June 4, 2026: PIGMENTED LESIONS
I tried to carry out this project, but due to the time it required, I didn’t finish it. So far, I’ve only documented the hands, cropped out the freckles in the photos (transparent background), preserved their scale, and created a program to arrange them in a grid. However, here is the text that was intended to explain the concept:
“In 2026, I documented every visible skin tumor or vascular anomaly on the surface of my body. The scale was preserved for each object. Subsequently, the individual lesions were digitally cut out and arranged in a regular grid.”
June 21, 2026: SELF-MODIFYING INTELLIGENT PROGRAM
I tried to create a program that uses the OpenAI API and their LLMs. The program’s task is to modify itself and then run again. And I was curious to see where that would lead.
Unfortunately, the model often rejected the task because it considered it dangerous. Or it would complete it, but its successor would not. The attractor was simply always rejection on safety grounds. It never even made it to the fourth iteration.
Source code: concepts-2026-06-21-self-modifying-intelligent-program.py [/files/koncepty-2026-06-21-sebe-modifikujici-inteligentni-program.py]
2026-08-14: TRASH
What if I took a photo of absolutely every piece of trash I throw in the trash can? I could photograph it with a scale, then crop the trash from the background and arrange it in a regular grid according to the appropriate size ratios.


============================================================
TITLE: Masky
SLUG: masky
URL: https://vojtamaur.cz/masky/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2026-08-07
SOURCE: src/content/posts/masky.mdx
BUILT_HTML: dist/masky/index.html
============================================================

Masky
srpen 2026
Obrázky níže jsou masky [https://en.wikipedia.org/wiki/Layers_(digital_image_editing)#Layer_mask] vytvořené v Adobe Photoshopu během mé práce na různých projektech. Každá maska byla v okamžiku svého vzniku uložena jako samostatný obrázek. Galerie těchto obrázků není výsledkem výběru. Pokud během práce vznikla maska, je její součástí. Obrázky jsou řazeny chronologicky od nejstaršího po nejnovější.

[MEDIA: image]
FILE: /images/masky-obr-1.jpg

[MEDIA: image]
FILE: /images/masky-obr-2.jpg

[MEDIA: image]
FILE: /images/masky-obr-3.jpg

[MEDIA: image]
FILE: /images/masky-obr-4.jpg

[MEDIA: image]
FILE: /images/masky-obr-5.jpg

[MEDIA: image]
FILE: /images/masky-obr-6.jpg

[MEDIA: image]
FILE: /images/masky-obr-7.jpg

[MEDIA: image]
FILE: /images/masky-obr-8.jpg

[MEDIA: image]
FILE: /images/masky-obr-9.jpg

[MEDIA: image]
FILE: /images/masky-obr-10.jpg

[MEDIA: image]
FILE: /images/masky-obr-11.jpg

[MEDIA: image]
FILE: /images/masky-obr-12.jpg

[MEDIA: image]
FILE: /images/masky-obr-13.jpg

[MEDIA: image]
FILE: /images/masky-obr-14.jpg

[MEDIA: image]
FILE: /images/masky-obr-15.jpg

[MEDIA: image]
FILE: /images/masky-obr-16.jpg

[MEDIA: image]
FILE: /images/masky-obr-17.jpg

[MEDIA: image]
FILE: /images/masky-obr-18.jpg

[MEDIA: image]
FILE: /images/masky-obr-19.jpg

[MEDIA: image]
FILE: /images/masky-obr-20.jpg

[MEDIA: image]
FILE: /images/masky-obr-21.jpg

[MEDIA: image]
FILE: /images/masky-obr-22.jpg

[MEDIA: image]
FILE: /images/masky-obr-23.jpg

[MEDIA: image]
FILE: /images/masky-obr-24.jpg

[MEDIA: image]
FILE: /images/masky-obr-25.jpg

[MEDIA: image]
FILE: /images/masky-obr-26.jpg

[MEDIA: image]
FILE: /images/masky-obr-27.jpg

[MEDIA: image]
FILE: /images/masky-obr-28.jpg

[MEDIA: image]
FILE: /images/masky-obr-29.jpg

[MEDIA: image]
FILE: /images/masky-obr-30.jpg

[MEDIA: image]
FILE: /images/masky-obr-31.jpg

[MEDIA: image]
FILE: /images/masky-obr-32.jpg

[MEDIA: image]
FILE: /images/masky-obr-33.jpg

[MEDIA: image]
FILE: /images/masky-obr-34.jpg

[MEDIA: image]
FILE: /images/masky-obr-35.jpg

[MEDIA: image]
FILE: /images/masky-obr-36.jpg

[MEDIA: image]
FILE: /images/masky-obr-37.jpg

[MEDIA: image]
FILE: /images/masky-obr-38.jpg

[MEDIA: image]
FILE: /images/masky-obr-39.jpg

[MEDIA: image]
FILE: /images/masky-obr-40.jpg

[MEDIA: image]
FILE: /images/masky-obr-41.jpg

[MEDIA: image]
FILE: /images/masky-obr-42.jpg

[MEDIA: image]
FILE: /images/masky-obr-43.jpg

[MEDIA: image]
FILE: /images/masky-obr-44.jpg

[MEDIA: image]
FILE: /images/masky-obr-45.jpg

[MEDIA: image]
FILE: /images/masky-obr-46.jpg

[MEDIA: image]
FILE: /images/masky-obr-47.jpg

[MEDIA: image]
FILE: /images/masky-obr-48.jpg

[MEDIA: image]
FILE: /images/masky-obr-49.jpg

[MEDIA: image]
FILE: /images/masky-obr-50.jpg

[MEDIA: image]
FILE: /images/masky-obr-51.jpg

[MEDIA: image]
FILE: /images/masky-obr-52.jpg

[MEDIA: image]
FILE: /images/masky-obr-53.jpg

[MEDIA: image]
FILE: /images/masky-obr-54.jpg

[MEDIA: image]
FILE: /images/masky-obr-55.jpg

[MEDIA: image]
FILE: /images/masky-obr-56.jpg

[MEDIA: image]
FILE: /images/masky-obr-57.jpg

[MEDIA: image]
FILE: /images/masky-obr-58.jpg

[MEDIA: image]
FILE: /images/masky-obr-59.jpg


============================================================
TITLE: Masky
SLUG: masky
URL: https://vojtamaur.cz/en/masky/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2026-08-07
SOURCE: src/content/posts/masky.mdx
BUILT_HTML: dist/en/masky/index.html
============================================================

Masks
August 2026
The images below are masks [https://en.wikipedia.org/wiki/Layers_(digital_image_editing)#Layer_mask] created in Adobe Photoshop during my work on various projects. Each mask was saved as a separate image at the time of its creation. This gallery is not a curated selection. If a mask was created during my work, it is included here. The images are arranged chronologically from oldest to newest.

[MEDIA: image]
FILE: /images/masky-obr-1.jpg

[MEDIA: image]
FILE: /images/masky-obr-2.jpg

[MEDIA: image]
FILE: /images/masky-obr-3.jpg

[MEDIA: image]
FILE: /images/masky-obr-4.jpg

[MEDIA: image]
FILE: /images/masky-obr-5.jpg

[MEDIA: image]
FILE: /images/masky-obr-6.jpg

[MEDIA: image]
FILE: /images/masky-obr-7.jpg

[MEDIA: image]
FILE: /images/masky-obr-8.jpg

[MEDIA: image]
FILE: /images/masky-obr-9.jpg

[MEDIA: image]
FILE: /images/masky-obr-10.jpg

[MEDIA: image]
FILE: /images/masky-obr-11.jpg

[MEDIA: image]
FILE: /images/masky-obr-12.jpg

[MEDIA: image]
FILE: /images/masky-obr-13.jpg

[MEDIA: image]
FILE: /images/masky-obr-14.jpg

[MEDIA: image]
FILE: /images/masky-obr-15.jpg

[MEDIA: image]
FILE: /images/masky-obr-16.jpg

[MEDIA: image]
FILE: /images/masky-obr-17.jpg

[MEDIA: image]
FILE: /images/masky-obr-18.jpg

[MEDIA: image]
FILE: /images/masky-obr-19.jpg

[MEDIA: image]
FILE: /images/masky-obr-20.jpg

[MEDIA: image]
FILE: /images/masky-obr-21.jpg

[MEDIA: image]
FILE: /images/masky-obr-22.jpg

[MEDIA: image]
FILE: /images/masky-obr-23.jpg

[MEDIA: image]
FILE: /images/masky-obr-24.jpg

[MEDIA: image]
FILE: /images/masky-obr-25.jpg

[MEDIA: image]
FILE: /images/masky-obr-26.jpg

[MEDIA: image]
FILE: /images/masky-obr-27.jpg

[MEDIA: image]
FILE: /images/masky-obr-28.jpg

[MEDIA: image]
FILE: /images/masky-obr-29.jpg

[MEDIA: image]
FILE: /images/masky-obr-30.jpg

[MEDIA: image]
FILE: /images/masky-obr-31.jpg

[MEDIA: image]
FILE: /images/masky-obr-32.jpg

[MEDIA: image]
FILE: /images/masky-obr-33.jpg

[MEDIA: image]
FILE: /images/masky-obr-34.jpg

[MEDIA: image]
FILE: /images/masky-obr-35.jpg

[MEDIA: image]
FILE: /images/masky-obr-36.jpg

[MEDIA: image]
FILE: /images/masky-obr-37.jpg

[MEDIA: image]
FILE: /images/masky-obr-38.jpg

[MEDIA: image]
FILE: /images/masky-obr-39.jpg

[MEDIA: image]
FILE: /images/masky-obr-40.jpg

[MEDIA: image]
FILE: /images/masky-obr-41.jpg

[MEDIA: image]
FILE: /images/masky-obr-42.jpg

[MEDIA: image]
FILE: /images/masky-obr-43.jpg

[MEDIA: image]
FILE: /images/masky-obr-44.jpg

[MEDIA: image]
FILE: /images/masky-obr-45.jpg

[MEDIA: image]
FILE: /images/masky-obr-46.jpg

[MEDIA: image]
FILE: /images/masky-obr-47.jpg

[MEDIA: image]
FILE: /images/masky-obr-48.jpg

[MEDIA: image]
FILE: /images/masky-obr-49.jpg

[MEDIA: image]
FILE: /images/masky-obr-50.jpg

[MEDIA: image]
FILE: /images/masky-obr-51.jpg

[MEDIA: image]
FILE: /images/masky-obr-52.jpg

[MEDIA: image]
FILE: /images/masky-obr-53.jpg

[MEDIA: image]
FILE: /images/masky-obr-54.jpg

[MEDIA: image]
FILE: /images/masky-obr-55.jpg

[MEDIA: image]
FILE: /images/masky-obr-56.jpg

[MEDIA: image]
FILE: /images/masky-obr-57.jpg

[MEDIA: image]
FILE: /images/masky-obr-58.jpg

[MEDIA: image]
FILE: /images/masky-obr-59.jpg


============================================================
TITLE: Polsko - Mazury 2026
SLUG: cestovani-polsko-mazury-2026
URL: https://vojtamaur.cz/cestovani-polsko-mazury-2026/
LANGUAGE: cs
SECTION: cestovani
DATE: 2026-06-19
SOURCE: src/content/posts/cestovani-polsko-mazury-2026.mdx
BUILT_HTML: dist/cestovani-polsko-mazury-2026/index.html
============================================================

Polsko - Mazury 2026
Video

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/6wDN62Xq3pA
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Polsko - Mazury 2026
SLUG: cestovani-polsko-mazury-2026
URL: https://vojtamaur.cz/en/cestovani-polsko-mazury-2026/
LANGUAGE: en
SECTION: cestovani
DATE: 2026-06-19
SOURCE: src/content/posts/cestovani-polsko-mazury-2026.mdx
BUILT_HTML: dist/en/cestovani-polsko-mazury-2026/index.html
============================================================

Poland - Masuria 2026
Video

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/6wDN62Xq3pA
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Itálie - Benátky 2026
SLUG: cestovani-italie-benatky-2026
URL: https://vojtamaur.cz/cestovani-italie-benatky-2026/
LANGUAGE: cs
SECTION: cestovani
DATE: 2026-06-10
SOURCE: src/content/posts/cestovani-italie-benatky-2026.mdx
BUILT_HTML: dist/cestovani-italie-benatky-2026/index.html
============================================================

Itálie - Benátky 2026
Video

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/FHJMNm3mjw0
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Itálie - Benátky 2026
SLUG: cestovani-italie-benatky-2026
URL: https://vojtamaur.cz/en/cestovani-italie-benatky-2026/
LANGUAGE: en
SECTION: cestovani
DATE: 2026-06-10
SOURCE: src/content/posts/cestovani-italie-benatky-2026.mdx
BUILT_HTML: dist/en/cestovani-italie-benatky-2026/index.html
============================================================

Italy - Venice 2026
Video

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/FHJMNm3mjw0
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Příživníci
SLUG: prizivnici
URL: https://vojtamaur.cz/prizivnici/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2026-05-21
SOURCE: src/content/posts/prizivnici.mdx
BUILT_HTML: dist/prizivnici/index.html
============================================================

Příživníci
květen 2026
Poslední rok několikrát denně vylévám na jedno místo v trávníku v Plzni-Božkově použité sypané čaje i se zbylou vodou, protože nechci ucpat odpad.
Na tomto místě se začali koncentrovat šneci, kteří čajové lístky žerou.
Někdy se jich tam najde až tucet, jindy žádný.
Sdílím s nimi chutě.

[MEDIA: image]
FILE: /images/prizivnici-obr-1.jpg
ALT: šneci a čaj


============================================================
TITLE: Příživníci
SLUG: prizivnici
URL: https://vojtamaur.cz/en/prizivnici/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2026-05-21
SOURCE: src/content/posts/prizivnici.mdx
BUILT_HTML: dist/en/prizivnici/index.html
============================================================

Freeloaders
May 2026
For the past year, several times a day, I’ve been pouring used loose-leaf tea and the remaining water onto a spot on the lawn in Plzeň-Božkov because I don’t want to clog the drain.
Snails have started to gather in this spot, eating the tea leaves.
Sometimes there are as many as a dozen of them there, other times none at all.
I share their tastes.

[MEDIA: image]
FILE: /images/prizivnici-obr-1.jpg
ALT: šneci a čaj


============================================================
TITLE: Plzeň, 2026-05-01
SLUG: plzen-2026-05-01
URL: https://vojtamaur.cz/plzen-2026-05-01/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2026-05-01
SOURCE: src/content/posts/plzen-2026-05-01.mdx
BUILT_HTML: dist/plzen-2026-05-01/index.html
============================================================

Plzeň, 2026-05-01
květen 2026
Snímky z termokamery: pokus o pohled na scénu jako na vstup pro pozorovací a zaměřovací systémy.
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-4.png
ALT: obrněný transportér [/images/plzen-2026-05-01-obr-4.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-1.png
ALT: voják se zbraní [/images/plzen-2026-05-01-obr-1.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-2.png
ALT: voják se zbraní [/images/plzen-2026-05-01-obr-2.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-7.png
ALT: vojáci na tanku [/images/plzen-2026-05-01-obr-7.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-6.png
ALT: vojáci s tankem [/images/plzen-2026-05-01-obr-6.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-3.png
ALT: vojáci na tanku [/images/plzen-2026-05-01-obr-3.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-5.png
ALT: vojáci s tankem [/images/plzen-2026-05-01-obr-5.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-8.png
ALT: vojáci u sochy sv. Jana Nepomuckého [/images/plzen-2026-05-01-obr-8.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-9.png
ALT: vojáci na tanku [/images/plzen-2026-05-01-obr-9.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-10.png
ALT: dítě v uniformě s puškou [/images/plzen-2026-05-01-obr-10.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-13.png
ALT: dítě v uniformě s puškou [/images/plzen-2026-05-01-obr-13.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-11.png
ALT: dítě v uniformě s puškou [/images/plzen-2026-05-01-obr-11.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-15.png
ALT: vojáci na tanku [/images/plzen-2026-05-01-obr-15.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-12.png
ALT: voják na tanku [/images/plzen-2026-05-01-obr-12.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-14.png
ALT: voják u kulometu [/images/plzen-2026-05-01-obr-14.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-16.png
ALT: tank [/images/plzen-2026-05-01-obr-16.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-17.png
ALT: dítě před tankem [/images/plzen-2026-05-01-obr-17.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-18.png
ALT: vojáci u tanku [/images/plzen-2026-05-01-obr-18.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-19.png
ALT: tank [/images/plzen-2026-05-01-obr-19.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-21.png
ALT: vojáci s tankem [/images/plzen-2026-05-01-obr-21.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-20.png
ALT: vojáci s tankem a bezdomovec [/images/plzen-2026-05-01-obr-20.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-23.png
ALT: pilot a bojové letadlo [/images/plzen-2026-05-01-obr-23.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-22.png
ALT: pilot a bojové letadlo [/images/plzen-2026-05-01-obr-22.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-24.png
ALT: bojové letadlo [/images/plzen-2026-05-01-obr-24.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-25.png
ALT: pilot a bojové letadlo [/images/plzen-2026-05-01-obr-25.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-27.png
ALT: vojenské vozidlo [/images/plzen-2026-05-01-obr-27.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-26.png
ALT: vojenské vozidlo [/images/plzen-2026-05-01-obr-26.png]


============================================================
TITLE: Plzeň, 2026-05-01
SLUG: plzen-2026-05-01
URL: https://vojtamaur.cz/en/plzen-2026-05-01/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2026-05-01
SOURCE: src/content/posts/plzen-2026-05-01.mdx
BUILT_HTML: dist/en/plzen-2026-05-01/index.html
============================================================

Pilsen, 2026-05-01
May 2026
Thermal camera images: an attempt to view the scene as input for observation and targeting systems.
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-4.png
ALT: obrněný transportér [/images/plzen-2026-05-01-obr-4.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-1.png
ALT: voják se zbraní [/images/plzen-2026-05-01-obr-1.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-2.png
ALT: voják se zbraní [/images/plzen-2026-05-01-obr-2.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-7.png
ALT: vojáci na tanku [/images/plzen-2026-05-01-obr-7.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-6.png
ALT: vojáci s tankem [/images/plzen-2026-05-01-obr-6.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-3.png
ALT: vojáci na tanku [/images/plzen-2026-05-01-obr-3.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-5.png
ALT: vojáci s tankem [/images/plzen-2026-05-01-obr-5.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-8.png
ALT: vojáci u sochy sv. Jana Nepomuckého [/images/plzen-2026-05-01-obr-8.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-9.png
ALT: vojáci na tanku [/images/plzen-2026-05-01-obr-9.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-10.png
ALT: dítě v uniformě s puškou [/images/plzen-2026-05-01-obr-10.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-13.png
ALT: dítě v uniformě s puškou [/images/plzen-2026-05-01-obr-13.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-11.png
ALT: dítě v uniformě s puškou [/images/plzen-2026-05-01-obr-11.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-15.png
ALT: vojáci na tanku [/images/plzen-2026-05-01-obr-15.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-12.png
ALT: voják na tanku [/images/plzen-2026-05-01-obr-12.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-14.png
ALT: voják u kulometu [/images/plzen-2026-05-01-obr-14.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-16.png
ALT: tank [/images/plzen-2026-05-01-obr-16.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-17.png
ALT: dítě před tankem [/images/plzen-2026-05-01-obr-17.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-18.png
ALT: vojáci u tanku [/images/plzen-2026-05-01-obr-18.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-19.png
ALT: tank [/images/plzen-2026-05-01-obr-19.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-21.png
ALT: vojáci s tankem [/images/plzen-2026-05-01-obr-21.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-20.png
ALT: vojáci s tankem a bezdomovec [/images/plzen-2026-05-01-obr-20.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-23.png
ALT: pilot a bojové letadlo [/images/plzen-2026-05-01-obr-23.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-22.png
ALT: pilot a bojové letadlo [/images/plzen-2026-05-01-obr-22.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-24.png
ALT: bojové letadlo [/images/plzen-2026-05-01-obr-24.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-25.png
ALT: pilot a bojové letadlo [/images/plzen-2026-05-01-obr-25.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-27.png
ALT: vojenské vozidlo [/images/plzen-2026-05-01-obr-27.png]
[MEDIA: image]
FILE: /images/plzen-2026-05-01-obr-26.png
ALT: vojenské vozidlo [/images/plzen-2026-05-01-obr-26.png]


============================================================
TITLE: Metawebový článek
SLUG: metawebovy-clanek
URL: https://vojtamaur.cz/metawebovy-clanek/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2026-04-22
SOURCE: src/content/posts/metawebovy-clanek.mdx
BUILT_HTML: dist/metawebovy-clanek/index.html
============================================================

Metawebový článek
duben 2026

MANIFEST

Tento web je statický projekt zaměřený na dlouhodobé uchování obsahu.
Veškerý obsah je uložený v souborech, bez závislosti na databázích nebo externích systémech. Výsledný web se generuje jako statický výstup, který lze snadno kopírovat, archivovat a znovu sestavit.
Projekt je rozložený napříč více nezávislými systémy: repozitáři, archivními službami a statickými snapshoty. Tím se snižuje riziko ztráty dat.
Cílem je zajistit, aby bylo možné obsah rekonstruovat i v případě, že některé části původní infrastruktury přestanou existovat.

VSTUPNÍ BODY

Tyto odkazy představují stejný projekt uložený v různých systémech a v různých podobách.
Zahrnují kanonický zdrojový repozitář, jeho kopie a kompletní statické snapshoty. Dohromady vytvářejí redundantní strukturu navrženou tak, aby projekt uchovala a umožnila jeho rekonstrukci i v případě, že některé části přestanou být dostupné.
Projekt existuje také jako Python CLI balíček distribuovaný přes GitHub a PyPI, včetně vložených fallback snapshotů vybraných textových artefaktů.
Digitální archivace tohoto webu tak využívá kromě vlastní domény také služby GitHub, GitLab, Codeberg, Neocities, Cloudflare, Netlify, Vercel, Firebase, ChatGPT Sites, Arweave, Pollux.casa (Gemini), envs.net (Gemini + Gopher), Software Heritage, Internet Archive, Webarchiv, Zenodo, Figshare, Permanent.org, Proton.me, PyPI, Perma.cc, archive.today, Ghost Archive, Arquivo.pt, Megalodon / Web Gyotaku a paste.rs.

[CODE BLOCK]
MAIN SITE (primary live version):
  https://vojtamaur.cz/
  
ALTERNATIVE DEPLOYMENTS:
  GitHub Pages
  https://vojtamaur.github.io/vojtamaur-web/
  Cloudflare Pages
  https://vojtamaur-web.pages.dev/
  Netlify
  https://vojtamaur.netlify.app/
  Vercel
  https://vojtamaur-web.vercel.app/
  Firebase Hosting
  https://vojtamaur-977c1.web.app/
  https://vojtamaur-977c1.firebaseapp.com/
  GitLab Pages
  https://vojtamaur-web-a22b59.gitlab.io/ 
  Codeberg Pages
  https://vojta_maur.codeberg.page/
  Neocities
  https://vojtamaur.neocities.org/
  ChatGPT Sites
  https://vojtamaur.vojtam.chatgpt.site/
  ArDrive / Arweave
  https://db6beycsnxhli2vxsahgn3ajpsi6qv5alttkr4d3sfwrj7uurqfq.ardrive.net/GHwSYFJtzrRqt5AOZuwJfJHoV6Bc5qjwe5FtFP6UjAs/
  Pollux.casa (Gemini capsule + HTTPS gateway)
  https://vojta.pollux.casa/
  gemini://vojta.pollux.casa/
  envs.net (HTTPS hosting + Gemini capsule + Gopherhole)
  https://vojtamaur.envs.net/
  gemini://envs.net/~vojtamaur/
  gopher://envs.net/1/~vojtamaur

SOURCE REPOSITORY (canonical source):
  GitHub
  https://github.com/VojtaMaur/vojtamaur-web

COPIES OF GITHUB REPOSITORY:
  GitLab
  https://gitlab.com/vojta.maur/vojtamaur-web
  Codeberg
  https://codeberg.org/vojta_maur/pages
  Software Heritage (archival ingest of repository)
  https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://github.com/VojtaMaur/vojtamaur-web
  Internet archive (archival ingest of repository)
  https://archive.org/details/vojtamaur-web-source-2026-05
  https://archive.org/details/vojtamaur-web-complete-sourcebuildgit-2026-07
  Permanent.org(archival ingest of repository)
  https://app.permanent.org/p/archive/0kx0-0000/0kx0-0005/2230361/record/0kx0-00r9

STATIC SNAPSHOTS (built output of the repository, reconstructable):
  GitHub Releases
  https://github.com/VojtaMaur/vojtamaur-web/releases/
  Zenodo
  https://doi.org/10.5281/zenodo.19691321
  Figshare
  https://doi.org/10.6084/m9.figshare.33077810
  Internet Archive
  https://archive.org/details/vojtamaur-2026-04
  https://archive.org/details/vojtamaur-2026-05
  Permanent.org
  https://app.permanent.org/p/archive/0kx0-0000/0kx0-0005/2230361/record/0kx0-00r7
  https://app.permanent.org/p/archive/0kx0-0000/0kx0-0005/2230361/record/0kx0-00r8
  
PYTHON CLI PACKAGE (distribution + embedded fallback snapshots):
  PyPI
  https://pypi.org/project/vojtamaur/
  GitHub
  https://github.com/VojtaMaur/vojtamaur-python
  Software Heritage (archival ingest of GitHub repository)
  https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://github.com/VojtaMaur/vojtamaur-python
[/CODE BLOCK]

Zobrazit kompletní mapu archivu (ARCHIVE.txt) [/ARCHIVE.txt]

TECHNICKÁ DOKUMENTACE

Technická dokumentace potřebná k rekonstrukci tohoto webu.
Zobrazit kompletní technickou dokumentaci [/documentation/]

ZDROJOVÝ BALÍK K REKONSTRUKCI

Zdrojový balík webu vzniká automaticky při buildu.
Uvnitř balíku je zdrojový kód tohoto webu, manifest assetů, kontrolní součty SHA-256 a Python skript bez externích závislostí. Neobsahuje velké assety z public/images/, public/files/ a public/demos/, aby se velikost živého webu zbytečně nezdvojovala. Po rozbalení skript nejdřív zkusí assety zkopírovat lokálně z hotového buildu a teprve potom je stahuje z veřejných mirrorů.
Platí tedy, že zdrojový kód generuje build a build generuje zdrojový kód.
Zdrojový balík je rekurzivně rekonstruovatelný: po stažení assetů a instalaci závislostí lze z něj znovu vygenerovat web i nový zdrojový balík.
Stáhnout rekonstruovatelný zdrojový balík webu (vojtamaur-web-source.zip) [/source/vojtamaur-web-source.zip]

INTEGRITA A IDENTITA BUILDU

SHA-256 ověřuje, zda se soubory buildu nezměnily. OpenPGP podpis navíc umožňuje ověřit, že manifest kontrolních součtů podepsal autor tohoto webu.
SHA256SUMS.txt [/SHA256SUMS.txt] — seznam SHA-256 kontrolních součtů souborů buildu
SHA256SUMS.txt.asc [/SHA256SUMS.txt.asc] — oddělený OpenPGP podpis souboru SHA256SUMS.txt
BUILD_SHA256.txt [/BUILD_SHA256.txt] — SHA-256 kontrolní součet souboru SHA256SUMS.txt
integrity.json [/integrity.json] — strojově čitelný informativní popis integrity buildu
SIGNING_STATUS.txt [/SIGNING_STATUS.txt] — informativní stav podepsání konkrétního buildu
vojta-maur-openpgp.asc [/keys/vojta-maur-openpgp.asc] — veřejný OpenPGP klíč pro ověření podpisu
Fingerprint hlavního OpenPGP klíče: 57E9 D455 FB10 A228 F66E 18AE C5F5 B390 5220 BE59
Ne každý deployment musí být podepsaný. Podepsaný build musí obsahovat soubor SHA256SUMS.txt.asc a jeho podpis se musí úspěšně ověřit. Samotné tvrzení v integrity.json nebo SIGNING_STATUS.txt není důkazem platného podpisu; tyto soubory jsou pouze informativní.

TEXTOVÝ EXPORT VŠECH ČLÁNKŮ

Plain-text export všech článků generovaný při buildu webu. Obsahuje textový obsah příspěvků v lineární podobě bez závislosti na CSS, JavaScriptu nebo konkrétní webové technologii. Slouží jako minimální archivní vrstva pro indexaci, offline čtení, fulltextové vyhledávání a dlouhodobou rekonstruovatelnost obsahu i v případě částečného rozpadu původní struktury webu. Textový export je vhodný i pro velké jazykové modely.
Zobrazit textový export všech článků (ALL_POSTS.txt) [/ALL_POSTS.txt]

FYZICKÁ ARCHIVNÍ VRSTVA

Vybrané části obsahu webu existují také na samostatných fyzických archivních nosičích. Patří sem tištěné analogové exempláře i přenosná datová média. Jednotlivé nosiče se liší způsobem čtení, technickými závislostmi, správou, dostupností a očekávanou životností. Některé jsou přímo čitelné bez elektronického zařízení, zatímco jiné vyžadují kompatibilní hardware, software nebo zprostředkování archivní institucí.
Každý řádek následujícího registru označuje jeden konkrétní fyzický exemplář.

[TABLE]
| ID | název | náhled | datum vzniku | médium a formát | obsah | jazyk | držitel | poslední známé umístění | přístup | poznámka |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 001 | Volná tvorba archiv svazek 1 | obrázek (/images/metawebovy-clanek-001-volna-tvorba.jpg) | 2026-06-09 | papír; A4; barevný jednostranný tisk uložený v eurofóliích | články sekce Volná tvorba | čeština / angličtina | autor | soukromý archiv autora, Plzeň, Česko | na dotaz | Obsahuje metadata. Některé zdrojové kódy a PDF nejsou vytištěny kompletní. |
| 002 | ALL_POSTS.txt | obrázek (/images/metawebovy-clanek-002-all_posts.jpg) | 2026-06-10 | papír; A4; jednostranně tištěný plain-text export | kompletní plain-text export všech článků | čeština / angličtina | autor | soukromý archiv autora, Plzeň, Česko | na dotaz | Obsahuje metadata a kontrolní součet SHA-256 původního digitálního souboru. |
| 003 | ALL_POSTS.txt Venice Edition | obrázek (/images/metawebovy-clanek-003-all_posts-venice-edition.jpg) | 2026-06-12 | papír; A4; oboustranně tištěný plain-text export v kroužkové vazbě | plain-text export anglické sekce Volná tvorba | angličtina | pracovník Biennale | výstava Screen Melancholy, Palazzo delle Prigioni, Castello 4209, Benátky, Itálie | neznámý | Exemplář nalezl pracovník Biennale (dle vlastního sdělení (/images/metawebovy-clanek-003-all_posts-venice-edition-note.png)), který následně kontaktoval autora. Další osud exempláře není znám. |
| 004 | ALL_POSTS.txt Edice volné distribuce 1 | obrázek (/images/metawebovy-clanek-004-all_posts-edice-volne-distribuce-1.jpg) | 2026-07-01 | papír; A4; oboustranně tištěný plain-text export vázaný stahovacími páskami | plain-text export českých sekcí Volná tvorba a Výstavy | čeština | Filip Drábek | Karlovy Vary, Česko | neznámý | Exemplář darován kamarádovi (autor básně Jezápek (/pseudobasen/)). |
| 005 | ALL_POSTS.txt Edice volné distribuce 2 | obrázek (/images/metawebovy-clanek-005-all_posts-edice-volne-distribuce-2.jpg) | 2026-07-10 | papír; A4; oboustranně tištěný plain-text export vázaný stahovacími páskami | kompletní plain-text export všech článků | čeština / angličtina | neznámý | knihobudka “Černice - Štefánikova 116 (vedle prodejny potravin)”, GPS: 49.696326, 13.416469 (https://maps.app.goo.gl/GFyp2ADYAdh4kXPH7), Plzeň, Česko | neznámý | Další osud exempláře není znám. |
| 006 | vojtamaur.cz offline 1 | obrázek (/images/metawebovy-clanek-006-vojtamaur.cz-offline-1.jpg) | 2026-07-11 | USB flash disk Verbatim; 16 GB | usb build, kompletní PDF export a kompletní plain-text export | čeština / angličtina | neznámý | geocache GCNJ2Z „Krásná vyhlídka“, kopec Háje u Koterova, Plzeň, Česko | neznámý | Další osud exempláře není znám. |
| 007 | vojtamaur.cz offline 2 | obrázek (/images/metawebovy-clanek-007-vojtamaur.cz-offline-2.jpg) | 2026-07-12 | USB flash disk A-Data Speed Drive; 64 MB | kompletní PDF export a kompletní plain-text export | čeština / angličtina | neznámý | geocache GCBHAG3 „Znamení květokruhu - Narcis“, nad Božkovem, Plzeň, Česko | neznámý | Obsahuje metadata a kontrolní součet SHA-256. Další osud exempláře není znám. |
| 008 | ALL_POSTS.txt Edice volné distribuce 3 | obrázek (/images/metawebovy-clanek-008-all_posts-edice-volne-distribuce-3.jpg) | 2026-07-15 | papír; A4; oboustranně tištěný plain-text export v kroužkové vazbě | kompletní plain-text export všech článků (kompaktní verze) | čeština | Jáchym Štěpka | Strakonice, Česko | neznámý | Exemplář darován kamarádovi. |
| 009 | ALL_POSTS.txt | obrázek (/images/metawebovy-clanek-009-all_posts.jpg) | 2026-08-06 | papír; A4; oboustranně tištěný plain-text export v kroužkové vazbě | kompletní plain-text export všech článků (kompaktní verze) | čeština | autor | soukromý archiv autora, Halže, Česko | na dotaz | Obsahuje metadata. |
| 010 | Výstavy a Cestování archiv | obrázek (/images/metawebovy-clanek-010-vystavy-a-cestovani.jpg) | 2026-08-10 | papír; A4; barevný; oboustranný tisk uložený v eurofóliích | články sekcí Výstavy a Cestování | čeština | autor | soukromý archiv autora, Plzeň, Česko | na dotaz | Obsahuje metadata. Některé PDF nejsou vytištěny kompletní. |
| 011 | vojtamaur.cz offline 3 | obrázek (/images/metawebovy-clanek-011-vojtamaur.cz-offline-3.jpg) | 2026-08-12 | Verbatim Gold Archival DVD-R; 4,7 GB; 8× | zdrojový kód, web build, kompletní PDF export, vojtamaur-python package, video archiv | čeština / angličtina | autor | soukromý archiv autora, Plzeň, Česko | soukromý | Obsahuje readme.txt a PyPl API token. |
| 012 | vojtamaur.cz offline 4 | obrázek (/images/metawebovy-clanek-012-vojtamaur.cz-offline-4.jpg) | 2026-08-13 | Verbatim Gold Archival DVD-R; 4,7 GB; 8× | zdrojový kód, usb build, kompletní PDF export, vojtamaur-python package, video archiv | čeština / angličtina | autor | soukromý archiv autora, Plzeň, Česko | na dotaz | Obsahuje readme.txt a dvě fyzické oboustranně tišténé papíry A4 s exportem (vyexportované pomocí export-site-pdf-ultra.py ). |
| 013 | ALL_POSTS.txt Memory of Mankind Edition | obrázek (/images/metawebovy-clanek-013-all_posts-mom-edition.jpg) | 2026-08-16 | keramika; 3 archivní tabulky Memory of Mankind; zhuštěná jednostranná sazba plain-text exportu | plain-text export anglické sekce Volná tvorba | angličtina | Memory of Mankind (https://www.memory-of-mankind.com/) | Rakousko | omezený | Zvláštní poděkování patří Martinu Kunzemu, zakladateli projektu Memory of Mankind, za jeho vstřícnost a pomoc při realizaci této archivace. |
[/TABLE]


============================================================
TITLE: Metawebový článek
SLUG: metawebovy-clanek
URL: https://vojtamaur.cz/en/metawebovy-clanek/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2026-04-22
SOURCE: src/content/posts/metawebovy-clanek.mdx
BUILT_HTML: dist/en/metawebovy-clanek/index.html
============================================================

Metaweb Article
April 2026

MANIFESTO

This website is a static project focused on the long-term preservation of content.
All content is stored in files, without relying on databases or external systems. The resulting website is generated as a static output that can be easily copied, archived, and rebuilt.
The project is distributed across multiple independent systems: repositories, archiving services, and static snapshots. This reduces the risk of data loss.
The goal is to ensure that the content can be reconstructed even if some parts of the original infrastructure cease to exist.

ENTRY POINTS

These links represent the same project stored in different systems and in different forms.
They include the canonical source repository, its copies, and complete static snapshots. Together, they form a redundant structure designed to preserve the project and enable its reconstruction even if some parts become unavailable.
The project also exists as a Python CLI package distributed via GitHub and PyPI, including embedded fallback snapshots of selected text artifacts.
The digital archiving of this website thus utilizes, in addition to its own domain, the services of GitHub, GitLab, Codeberg, Neocities, Cloudflare, Netlify, Vercel, Firebase, ChatGPT Sites, Arweave, Pollux.casa (Gemini), envs.net (Gemini + Gopher), Software Heritage, Internet Archive, Webarchiv, Zenodo, Figshare, Permanent.org, Proton.me, PyPI, Perma.cc, archive.today, Ghost Archive, Arquivo.pt, Megalodon / Web Gyotaku, and paste.rs.

[CODE BLOCK]
MAIN SITE (primary live version):
  https://vojtamaur.cz/
  
ALTERNATIVE DEPLOYMENTS:
  GitHub Pages
  https://vojtamaur.github.io/vojtamaur-web/
  Cloudflare Pages
  https://vojtamaur-web.pages.dev/
  Netlify
  https://vojtamaur.netlify.app/
  Vercel
  https://vojtamaur-web.vercel.app/
  Firebase Hosting
  https://vojtamaur-977c1.web.app/
  https://vojtamaur-977c1.firebaseapp.com/
  GitLab Pages
  https://vojtamaur-web-a22b59.gitlab.io/ 
  Codeberg Pages
  https://vojta_maur.codeberg.page/
  Neocities
  https://vojtamaur.neocities.org/
  ChatGPT Sites
  https://vojtamaur.vojtam.chatgpt.site/
  ArDrive / Arweave
  https://db6beycsnxhli2vxsahgn3ajpsi6qv5alttkr4d3sfwrj7uurqfq.ardrive.net/GHwSYFJtzrRqt5AOZuwJfJHoV6Bc5qjwe5FtFP6UjAs/
  Pollux.casa (Gemini capsule + HTTPS gateway)
  https://vojta.pollux.casa/
  gemini://vojta.pollux.casa/
  envs.net (HTTPS hosting + Gemini capsule + Gopherhole)
  https://vojtamaur.envs.net/
  gemini://envs.net/~vojtamaur/
  gopher://envs.net/1/~vojtamaur

SOURCE REPOSITORY (canonical source):
  GitHub
  https://github.com/VojtaMaur/vojtamaur-web

COPIES OF GITHUB REPOSITORY:
  GitLab
  https://gitlab.com/vojta.maur/vojtamaur-web
  Codeberg
  https://codeberg.org/vojta_maur/pages
  Software Heritage (archival ingest of repository)
  https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://github.com/VojtaMaur/vojtamaur-web
  Internet archive (archival ingest of repository)
  https://archive.org/details/vojtamaur-web-source-2026-05
  https://archive.org/details/vojtamaur-web-complete-sourcebuildgit-2026-07
  Permanent.org(archival ingest of repository)
  https://app.permanent.org/p/archive/0kx0-0000/0kx0-0005/2230361/record/0kx0-00r9

STATIC SNAPSHOTS (built output of the repository, reconstructable):
  GitHub Releases
  https://github.com/VojtaMaur/vojtamaur-web/releases/
  Zenodo
  https://doi.org/10.5281/zenodo.19691321
  Figshare
  https://doi.org/10.6084/m9.figshare.33077810
  Internet Archive
  https://archive.org/details/vojtamaur-2026-04
  https://archive.org/details/vojtamaur-2026-05
  Permanent.org
  https://app.permanent.org/p/archive/0kx0-0000/0kx0-0005/2230361/record/0kx0-00r7
  https://app.permanent.org/p/archive/0kx0-0000/0kx0-0005/2230361/record/0kx0-00r8
  
PYTHON CLI PACKAGE (distribution + embedded fallback snapshots):
  PyPI
  https://pypi.org/project/vojtamaur/
  GitHub
  https://github.com/VojtaMaur/vojtamaur-python
  Software Heritage (archival ingest of GitHub repository)
  https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://github.com/VojtaMaur/vojtamaur-python
[/CODE BLOCK]

View the complete archive map (ARCHIVE.txt) [/ARCHIVE.txt]

TECHNICAL DOCUMENTATION

Technical documentation required to reconstruct this website.
View the complete technical documentation [/documentation/]

SOURCE PACKAGE FOR RECONSTRUCTION

The website’s source package is generated automatically during the build.
The package contains the source code for this website, an asset manifest, SHA-256 checksums, and a Python script with no external dependencies. It does not include large assets from public/images/, public/files/, and public/demos/ to avoid unnecessarily duplicating the size of the live website. After extraction, the script first attempts to copy the assets locally from the finished build and only then downloads them from public mirrors.
Thus, the source code generates the build, and the build generates the source code.
The source package is recursively reconstructible: after downloading the assets and installing the dependencies, both the website and a new source package can be regenerated from it.
Download the reconstructible source package for the website (vojtamaur-web-source.zip) [/source/vojtamaur-web-source.zip]

BUILD INTEGRITY AND IDENTITY

SHA-256 verifies that the build files have not been altered. Additionally, the OpenPGP signature allows you to verify that the checksum manifest was signed by the author of this website.
SHA256SUMS.txt [/SHA256SUMS.txt]
— a list of SHA-256 checksums for the build
files
SHA256SUMS.txt.asc [/SHA256SUMS.txt.asc]
— a separate OpenPGP signature for the fileSHA256SUMS.txt
BUILD_SHA256.txt [/BUILD_SHA256.txt]
— SHA-256 checksum of the `SHA256SUMS.txt
` file `
integrity.json [/integrity.json]
` — machine-readable descriptive information about the build’s
integrity
`SIGNING_STATUS.txt [/SIGNING_STATUS.txt]
` — descriptive status of the signing for a specific build
`
vojta-maur-openpgp.asc [/keys/vojta-maur-openpgp.asc]
` — public OpenPGP key for verifying the signature
Fingerprint of the master OpenPGP key: 57E9 D455 FB10 A228 F66E 18AE C5F5 B390 5220 BE59
Not every deployment needs to be signed. A signed build must contain the file SHA256SUMS.txt.asc, and its signature must be successfully verified. The mere presence of a statement in integrity.json or SIGNING_STATUS.txt is not proof of a valid signature; these files are for informational purposes only.

TEXT EXPORT OF ALL ARTICLES

A plain-text export of all articles generated during the website build. It contains the text content of posts in a linear format, independent of CSS, JavaScript, or any specific web technology. It serves as a minimal archival layer for indexing, offline reading, full-text search, and long-term content reconstruction, even in the event of a partial breakdown of the original website structure. The text export is also suitable for large language models.
View the text export of all articles (ALL_POSTS.txt) [/ALL_POSTS.txt]

PHYSICAL ARCHIVAL LAYER

Selected portions of the website’s content also exist on separate physical archival media. These include printed analog copies as well as portable data storage media. Individual media differ in terms of reading methods, technical dependencies, management, accessibility, and expected lifespan. Some are directly readable without electronic devices, while others require compatible hardware, software, or the assistance of an archival institution.
Each line in the following register refers to a single specific physical copy.

[TABLE]
| ID | Title | Preview | Date Created | medium and format | Content | Language | holder | Last known location | Access | Note |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 001 | Volná tvorba archiv svazek 1 | image (/images/metawebovy-clanek-001-volna-tvorba.jpg) | June 9, 2026 | paper; A4; color single-sided print stored in Euro sleeves | Articles in the "Personal Work" section | Czech / English | author | Author’s private archive, Pilsen, Czech Republic | upon request | Contains metadata. Some source codes and PDFs are not printed in full. |
| 002 | ALL_POSTS.txt | image (/images/metawebovy-clanek-002-all_posts.jpg) | June 10, 2026 | paper; A4; single-sided printing plain-text export | Complete plain-text export of all articles | Czech / English | author | Author’s private archive, Plzeň, Czech Republic | upon request | Includes metadata and the SHA-256 checksum of the original digital file. |
| 003 | ALL_POSTS.txt Venice Edition | image (/images/metawebovy-clanek-003-all_posts-venice-edition.jpg) | June 12, 2026 | paper; A4; double-sided print, plain-text export, ring-bound | plain-text export of the English section "Personal Work" | English | Biennale staff member | Screen Melancholy exhibition, Palazzo delle Prigioni, Castello 4209, Venice, Italy | unknown | The copy was found by a Biennale staff member (according to his own account (/images/metawebovy-clanek-003-all_posts-venice-edition-note.png)), who subsequently contacted the author. The copy’s subsequent fate is unknown. |
| 004 | ALL_POSTS.txt Edice volné distribuce 1 | image (/images/metawebovy-clanek-004-all_posts-edice-volne-distribuce-1.jpg) | July 1, 2026 | paper; A4; double-sided plain-text export bound with cable ties | plain-text export of the Czech sections “Personal Work” and “Exhibitions” | Czech | Filip Drábek | Karlovy Vary, Czech Republic | Unknown | A copy donated to a friend (the author of the poem “Jezápek” (/pseudobasen/)). |
| 005 | ALL_POSTS.txt Edice volné distribuce 2 | image (/images/metawebovy-clanek-005-all_posts-edice-volne-distribuce-2.jpg) | July 10, 2026 | paper; A4; double-sided printed plain-text export bound with cable ties | Complete plain-text export of all articles | Czech / English | unknown | Book drop “Černice - Štefánikova 116 (next to the grocery store)”, GPS: 49.696326, 13.416469 (https://maps.app.goo.gl/GFyp2ADYAdh4kXPH7), Plzeň, Czech Republic | unknown | The subsequent fate of this copy is unknown. |
| 006 | vojtamaur.cz offline 1 | image (/images/metawebovy-clanek-006-vojtamaur.cz-offline-1.jpg) | July 11, 2026 | Verbatim USB flash drive; 16 GB | USB build, complete PDF export, and complete plain-text export | Czech / English | unknown | Geocache GCNJ2Z “Krásná vyhlídka,” Háje Hill near Koterov, Plzeň, Czech Republic | Unknown | The fate of this copy is unknown. |
| 007 | vojtamaur.cz offline 2 | image (/images/metawebovy-clanek-007-vojtamaur.cz-offline-2.jpg) | July 12, 2026 | A-Data Speed Drive USB flash drive; 64 MB | Complete PDF export and complete plain-text export | Czech / English | unknown | Geocache GCBHAG3 “Sign of the Flower Circle—Daffodil,” above Božkov, Plzeň, Czech Republic | unknown | Contains metadata and an SHA-256 checksum. The current status of this copy is unknown. |
| 008 | ALL_POSTS.txt Edice volné distribuce 3 | image (/images/metawebovy-clanek-008-all_posts-edice-volne-distribuce-3.jpg) | July 15, 2026 | paper; A4; double-sided printed plain-text export in a ring binder | Complete plain-text export of all articles (compact version) | Czech | Jáchym Štěpka | Strakonice, Czech Republic | Unknown | Copy donated to a friend. |
| 009 | ALL_POSTS.txt | image (/images/metawebovy-clanek-009-all_posts.jpg) | August 6, 2026 | paper; A4; double-sided plain-text export in a ring-bound format | Complete plain-text export of all articles (compact version) | Czech | Author | Author’s private archive, Halže, Czech Republic | upon request | Contains metadata. |
| 010 | Výstavy a Cestování archiv | Image (/images/metawebovy-clanek-010-vystavy-a-cestovani.jpg) | August 10, 2026 | paper; A4; color; double-sided printing stored in Euro sleeves | Articles from the Exhibitions and Travel sections | Czech | Author | Author’s private archive, Pilsen, Czech Republic | upon request | Contains metadata. Some PDFs are not printed in their entirety. |
| 011 | vojtamaur.cz offline 3 | image (/images/metawebovy-clanek-011-vojtamaur.cz-offline-3.jpg) | August 12, 2026 | Verbatim Gold Archival DVD-R; 4.7 GB; 8× | source code, web build, complete PDF export, vojtamaur-python package, video archive | Czech / English | author | author’s private archive, Plzeň, Czech Republic | Private | Includes readme.txt and a PyPl API token. |
| 012 | vojtamaur.cz offline 4 | image (/images/metawebovy-clanek-012-vojtamaur.cz-offline-4.jpg) | August 13, 2026 | Verbatim Gold Archival DVD-R; 4.7 GB; 8× | source code, USB build, complete PDF export, vojtamaur-python package, video archive | Czech / English | Author | Author’s private archive, Plzeň, Czech Republic | upon request | Includes a readme.txt file and two physical, double-sided A4 sheets with the export (exported using export-site-pdf-ultra.py). |
| 013 | ALL_POSTS.txt Memory of Mankind Edition | image (/images/metawebovy-clanek-013-all_posts-mom-edition.jpg) | August 16, 2026 | ceramics; 3 archival tables from "Memory of Mankind"; condensed single-sided typesetting of the plain-text export | plain-text export of the English section of "Personal Work" | English | Memory of Mankind (https://www.memory-of-mankind.com/) | Austria | limited | Special thanks go to Martin Kunze, founder of the Memory of Mankind project, for his cooperation and assistance in carrying out this archiving. |
[/TABLE]


============================================================
TITLE: Clipboard smetiště
SLUG: clipboard-smetiste
URL: https://vojtamaur.cz/clipboard-smetiste/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2026-04-01
SOURCE: src/content/posts/clipboard-smetiste.mdx
BUILT_HTML: dist/clipboard-smetiste/index.html
============================================================

Clipboard smetiště
duben 2026
Tento projekt pracuje s obsahem systémové schránky systému Windows (clipboard [https://cs.wikipedia.org/wiki/Schr%C3%A1nka_(software)]).
Jakýkoli text, obrázek nebo soubor, který je zkopírován, je okamžitě vložen do jednoho omezeného prostoru.
Obsah není upravován ani tříděn. Jednotlivé prvky se náhodně umisťují do formátu a vzájemně se překrývají.
Plátno se postupně zaplňuje bez možnosti návratu nebo editace.
Každý z obrázků níže je výstup z jednoho dne a zachycuje průběh mé práce u počítače.

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-1.png
CAPTION: 25. 3. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-2.png
CAPTION: 26. 3. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-3.png
CAPTION: 27. 3. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-4.png
CAPTION: 30. 3. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-5.png
CAPTION: 31. 3. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-6.png
CAPTION: 1. 4. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-7.png
CAPTION: 2. 4. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-8.png
CAPTION: 7. 4. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-9.png
CAPTION: 8. 4. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-10.png
CAPTION: 9. 4. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-11.png
CAPTION: 10. 4. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-12.png
CAPTION: 13. 4. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-13.png
CAPTION: 14. 4. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-14.png
CAPTION: 15. 4. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-15.png
CAPTION: 16. 4. 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-16.png
CAPTION: 17. 4. 2026

Zdrojový kód
Zdrojový Python kód pro tento projekt je dostupný zde:

[CODE BLOCK]
import os
import random
import textwrap
from datetime import datetime
import tkinter as tk

import pyperclip
from PIL import Image, ImageTk, ImageGrab, ImageDraw, ImageFont

# =========================
# Nastavení
# =========================
CANVAS_SIZE = 700
BG_COLOR = "white"
POLL_MS = 500
MAX_IMAGE_SIZE = 320
TEXT_WRAP_CHARS = 38
TEXT_FONT = ("Arial", 14)
TEXT_COLOR = "black"
FILE_COLOR = "#1f4e79"

# =========================
# Tkinter okno
# =========================
root = tk.Tk()
root.title("Clipboard Canvas")
root.geometry(f"{CANVAS_SIZE}x{CANVAS_SIZE}")

canvas = tk.Canvas(root, width=CANVAS_SIZE, height=CANVAS_SIZE, bg=BG_COLOR, highlightthickness=0)
canvas.pack(fill="both", expand=True)

# =========================
# PIL "skutečné" plátno pro export do PNG
# =========================
board = Image.new("RGB", (CANVAS_SIZE, CANVAS_SIZE), "white")
board_draw = ImageDraw.Draw(board)

try:
    pil_font = ImageFont.truetype("arial.ttf", 20)
except Exception:
    pil_font = ImageFont.load_default()

# Tohle je důležité: držíme reference na VŠECHNY Tk obrázky,
# jinak Tkinter staré obrázky "uklidí" a zmizí.
tk_images = []

last_text = None
last_image_hash = None
last_file_list = None

# =========================
# Pomocné funkce
# =========================
def get_random_position(item_w, item_h):
    """Vrátí náhodnou pozici tak, aby se objekt vešel celý do plátna."""
    item_w = min(item_w, CANVAS_SIZE)
    item_h = min(item_h, CANVAS_SIZE)

    max_x = max(0, CANVAS_SIZE - item_w)
    max_y = max(0, CANVAS_SIZE - item_h)

    x = random.randint(0, max_x)
    y = random.randint(0, max_y)
    return x, y

def wrap_text_for_display(text, width=TEXT_WRAP_CHARS):
    lines = []
    for paragraph in text.splitlines() or [""]:
        wrapped = textwrap.wrap(paragraph, width=width) or [""]
        lines.extend(wrapped)
    return "\n".join(lines)

def measure_text_block(text):
    """Hrubý odhad velikosti textového bloku pro umístění."""
    lines = text.split("\n")
    max_len = max((len(line) for line in lines), default=1)
    w = min(CANVAS_SIZE, 12 + max_len * 9)
    h = 12 + len(lines) * 24
    return w, h

def draw_text_on_canvas_and_board(text, color=TEXT_COLOR, prefix=None):
    display_text = f"{prefix}{text}" if prefix else text
    wrapped = wrap_text_for_display(display_text)
    w, h = measure_text_block(wrapped)
    x, y = get_random_position(w, h)

    # Tkinter canvas
    canvas.create_text(
        x, y,
        anchor="nw",
        text=wrapped,
        fill=color,
        font=TEXT_FONT,
        width=w
    )

    # PIL board
    board_draw.multiline_text((x, y), wrapped, fill=color, font=pil_font, spacing=6)

def draw_image_on_canvas_and_board(img):
    # zmenšíme kopii, originál neni potřeba
    img = img.convert("RGB")
    img.thumbnail((MAX_IMAGE_SIZE, MAX_IMAGE_SIZE))

    w, h = img.size
    x, y = get_random_position(w, h)

    # Tkinter canvas
    tk_img = ImageTk.PhotoImage(img)
    tk_images.append(tk_img)
    canvas.create_image(x, y, anchor="nw", image=tk_img)

    # PIL board
    board.paste(img, (x, y))

def hash_pil_image(img):
    # Rychlejší než hash(img.tobytes()) na obrovských datech:
    tiny = img.copy()
    tiny.thumbnail((64, 64))
    return hash(tiny.tobytes())

[TRUNCATED: original code/output block had 176 lines and 4867 characters; showing first 120 lines. Omitted 56 lines and 1606 characters.]
See the full website source or rendered post for the complete version.
[/CODE BLOCK]


============================================================
TITLE: Clipboard smetiště
SLUG: clipboard-smetiste
URL: https://vojtamaur.cz/en/clipboard-smetiste/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2026-04-01
SOURCE: src/content/posts/clipboard-smetiste.mdx
BUILT_HTML: dist/en/clipboard-smetiste/index.html
============================================================

Clipboard Dump
April 2026
This project works with the contents of the Windows system clipboard [https://cs.wikipedia.org/wiki/Schr%C3%A1nka_(software)]
.
Any text, image, or file that is copied is immediately pasted into a single limited space.
The content is neither edited nor sorted. Individual elements are randomly placed within the format and overlap one another.
The canvas gradually fills up with no possibility of going back or editing.
Each of the images below is the output from a single day and captures the course of my work at the computer.

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-1.png
CAPTION: March 25, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-2.png
CAPTION: March 26, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-3.png
CAPTION: March 27, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-4.png
CAPTION: March 30, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-5.png
CAPTION: March 31, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-6.png
CAPTION: April 1, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-7.png
CAPTION: April 2, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-8.png
CAPTION: April 7, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-9.png
CAPTION: April 8, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-10.png
CAPTION: April 9, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-11.png
CAPTION: April 10, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-12.png
CAPTION: April 13, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-13.png
CAPTION: April 14, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-14.png
CAPTION: April 15, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-15.png
CAPTION: April 16, 2026

[MEDIA: image]
FILE: /images/clipboard-smetiste-obr-16.png
CAPTION: April 17, 2026

Source Code
The Python source code for this project is available here:

[CODE BLOCK]
import os
import random
import textwrap
from datetime import datetime
import tkinter as tk

import pyperclip
from PIL import Image, ImageTk, ImageGrab, ImageDraw, ImageFont

# =========================
# Nastavení
# =========================
CANVAS_SIZE = 700
BG_COLOR = "white"
POLL_MS = 500
MAX_IMAGE_SIZE = 320
TEXT_WRAP_CHARS = 38
TEXT_FONT = ("Arial", 14)
TEXT_COLOR = "black"
FILE_COLOR = "#1f4e79"

# =========================
# Tkinter okno
# =========================
root = tk.Tk()
root.title("Clipboard Canvas")
root.geometry(f"{CANVAS_SIZE}x{CANVAS_SIZE}")

canvas = tk.Canvas(root, width=CANVAS_SIZE, height=CANVAS_SIZE, bg=BG_COLOR, highlightthickness=0)
canvas.pack(fill="both", expand=True)

# =========================
# PIL "skutečné" plátno pro export do PNG
# =========================
board = Image.new("RGB", (CANVAS_SIZE, CANVAS_SIZE), "white")
board_draw = ImageDraw.Draw(board)

try:
    pil_font = ImageFont.truetype("arial.ttf", 20)
except Exception:
    pil_font = ImageFont.load_default()

# Tohle je důležité: držíme reference na VŠECHNY Tk obrázky,
# jinak Tkinter staré obrázky "uklidí" a zmizí.
tk_images = []

last_text = None
last_image_hash = None
last_file_list = None

# =========================
# Pomocné funkce
# =========================
def get_random_position(item_w, item_h):
    """Vrátí náhodnou pozici tak, aby se objekt vešel celý do plátna."""
    item_w = min(item_w, CANVAS_SIZE)
    item_h = min(item_h, CANVAS_SIZE)

    max_x = max(0, CANVAS_SIZE - item_w)
    max_y = max(0, CANVAS_SIZE - item_h)

    x = random.randint(0, max_x)
    y = random.randint(0, max_y)
    return x, y

def wrap_text_for_display(text, width=TEXT_WRAP_CHARS):
    lines = []
    for paragraph in text.splitlines() or [""]:
        wrapped = textwrap.wrap(paragraph, width=width) or [""]
        lines.extend(wrapped)
    return "\n".join(lines)

def measure_text_block(text):
    """Hrubý odhad velikosti textového bloku pro umístění."""
    lines = text.split("\n")
    max_len = max((len(line) for line in lines), default=1)
    w = min(CANVAS_SIZE, 12 + max_len * 9)
    h = 12 + len(lines) * 24
    return w, h

def draw_text_on_canvas_and_board(text, color=TEXT_COLOR, prefix=None):
    display_text = f"{prefix}{text}" if prefix else text
    wrapped = wrap_text_for_display(display_text)
    w, h = measure_text_block(wrapped)
    x, y = get_random_position(w, h)

    # Tkinter canvas
    canvas.create_text(
        x, y,
        anchor="nw",
        text=wrapped,
        fill=color,
        font=TEXT_FONT,
        width=w
    )

    # PIL board
    board_draw.multiline_text((x, y), wrapped, fill=color, font=pil_font, spacing=6)

def draw_image_on_canvas_and_board(img):
    # zmenšíme kopii, originál neni potřeba
    img = img.convert("RGB")
    img.thumbnail((MAX_IMAGE_SIZE, MAX_IMAGE_SIZE))

    w, h = img.size
    x, y = get_random_position(w, h)

    # Tkinter canvas
    tk_img = ImageTk.PhotoImage(img)
    tk_images.append(tk_img)
    canvas.create_image(x, y, anchor="nw", image=tk_img)

    # PIL board
    board.paste(img, (x, y))

def hash_pil_image(img):
    # Rychlejší než hash(img.tobytes()) na obrovských datech:
    tiny = img.copy()
    tiny.thumbnail((64, 64))
    return hash(tiny.tobytes())

[TRUNCATED: original code/output block had 176 lines and 4867 characters; showing first 120 lines. Omitted 56 lines and 1606 characters.]
See the full website source or rendered post for the complete version.
[/CODE BLOCK]


============================================================
TITLE: Dočasné entity
SLUG: docasne-entity
URL: https://vojtamaur.cz/docasne-entity/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2026-01-02
SOURCE: src/content/posts/docasne-entity.mdx
BUILT_HTML: dist/docasne-entity/index.html
============================================================

Dočasné entity
leden 2026

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/TS4kEbk3SGs
NOTE: Embedded or binary content is not represented in this plain-text export.

Tento projekt je umělecká reprezentace toho, jak by mohly vznikat Boltzmannovy mozky [https://en.wikipedia.org/wiki/Boltzmann_brain] a jiné dočasné entity, které se na okamžik vynoří z entropie náhodnou konfigurací částic a zase v ní zaniknou.
V reálném fyzikálním světě by pozorování takového jevu vyžadovalo nepředstavitelně dlouhý čas.
Proto jsem dynamicky měnil rychlosti jednotlivých částic, aby bylo možné v rozumném čase zobrazit vznik a zánik sta entit. Do trajektorií částic jsem nijak nezasahoval.
Entity vznikly tak, že jsem ze slovníku vybral sto náhodných slov, ke každému přiřadil obraz, který jej reprezentuje, a ten následně nechal znovu vzniknout z entropického pole částic.
Je to pokus ukázat, jak může z chaosu na chvíli vystoupit význam, tvar nebo myšlenka, aniž by měly jakýkoli nárok na trvalou existenci.


============================================================
TITLE: Dočasné entity
SLUG: docasne-entity
URL: https://vojtamaur.cz/en/docasne-entity/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2026-01-02
SOURCE: src/content/posts/docasne-entity.mdx
BUILT_HTML: dist/en/docasne-entity/index.html
============================================================

Temporary Entities
January 2026

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/TS4kEbk3SGs
NOTE: Embedded or binary content is not represented in this plain-text export.

This project is an artistic representation of how Boltzmann brains [https://en.wikipedia.org/wiki/Boltzmann_brain] and other temporary entities might arise—entities that emerge from entropy for a moment through a random configuration of particles and then vanish back into it.
In the real physical world, observing such a phenomenon would require an unimaginably long time.
Therefore, I dynamically altered the velocities of individual particles so that the emergence and disappearance of one hundred entities could be visualized within a reasonable timeframe. I did not interfere with the particles’ trajectories in any way.
The entities were created by selecting one hundred random words from a dictionary, assigning an image to each one that represents it, and then allowing that image to re-emerge from the entropic field of particles.
It is an attempt to show how meaning, form, or thought can emerge from chaos for a moment, without any claim to permanent existence.


============================================================
TITLE: Genom v Theodorově spirále
SLUG: genom-theodorove-spirale
URL: https://vojtamaur.cz/genom-theodorove-spirale/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2026-01-01
SOURCE: src/content/posts/genom-theodorove-spirale.mdx
BUILT_HTML: dist/genom-theodorove-spirale/index.html
============================================================

Genom v Theodorově spirále
leden 2026
Tato vizualizace převádí lineární genetickou informaci (DNA/RNA) do souvislé 2D Theodorovy spirály [https://en.wikipedia.org/wiki/Spiral_of_Theodorus].
Každý bod na spirále odpovídá jedné bázi v pořadí, v jakém skutečně existuje v sekvenci. Začátek sekvence je ve středu spirály. Barva bodu reprezentuje typ báze.
Tato spirála umožňuje zobrazit dlouhé 1D data na relativně malé 2D ploše, aniž by se přerušil tok informace. Nevznikají umělá přerušení, například návraty na začátek řádku, která jsou běžná u textových reprezentací.
Jako příklad jsem vizualizoval genomy tří organismů s různou délkou. Všechny mají lineární genom, který je pro tuto formu vizualizace nejvhodnější.
HIV-1: [https://www.ncbi.nlm.nih.gov/nuccore/170878295]

[MEDIA: image]
FILE: /images/genom-theodorove-spirale-obr-1.png

Ebola virus: [https://www.ncbi.nlm.nih.gov/nuccore/10313991?utm_]

[MEDIA: image]
FILE: /images/genom-theodorove-spirale-obr-2.png

SaRS-CoV-2: [https://www.ncbi.nlm.nih.gov/nuccore/OM065388.1]

[MEDIA: image]
FILE: /images/genom-theodorove-spirale-obr-3.png

Zdrojový kód
Zdrojový Python kód pro tento projekt je dostupný zde:

[CODE BLOCK]
import numpy as np
import matplotlib.pyplot as plt
from collections import Counter
from pathlib import Path

# =========================
# KONFIG
# =========================

SEQ_TXT_PATH = r"ebola_virus_complete_genome.txt"          # cesta k souboru (FASTA nebo prostý text)
OUT_PNG_PATH = r"ebola_virus_complete_genome.png"          # kam uložit PNG výstup

WIDTH_PX  = 4000
HEIGHT_PX = 4000

SHOW_LEGEND = False  # defaultně žádný text
LEGEND_TEXT = "genom na Theodorově spirále"

# RGBK (A,C,G,T/U -> R,G,B,K)
COLORS = {
    "A": (1.0, 0.0, 0.0),  # Red
    "C": (0.0, 1.0, 0.0),  # Green
    "G": (0.0, 0.0, 1.0),  # Blue
    "T": (0.0, 0.0, 0.0),  # Black (Key)
    "U": (0.0, 0.0, 0.0),  # RNA U taky do K
}

# Vzhled
DRAW_SPIRAL_LINE = False
LINE_WIDTH = 0.12
LINE_ALPHA = 0.25

POINT_SIZE = 90.0
POINT_ALPHA = 1

CROP_PADDING_RATIO = 0.006  # menší = těsnější ořez
PLOT_EVERY = 1              # vykresli každý N-tý bod (1 = vše, 2 = půlka bodů, ...)

BACKGROUND = "white"        # nebo "black"
TRANSPARENT_BG = False      # true = průhledné PNG

# =========================
# IMPLEMENTACE
# =========================

def read_sequence(path: str) -> str:
    """Načte sekvenci a nechá jen A/C/G/T/U."""
    txt = Path(path).read_text(encoding="utf-8", errors="ignore").upper()
    seq = "".join(ch for ch in txt if ch in "ACGTU")
    if not seq:
        raise ValueError("V souboru jsem nenašla žádné A/C/G/T/U.")
    return seq

def theodorus_vertices(n: int) -> tuple[np.ndarray, np.ndarray]:
    """Souřadnice vrcholů Theodorovy spirály pro indexy 0..n (0 = origin)."""
    theta = np.zeros(n + 1, dtype=float)
    if n >= 2:
        theta[2:] = np.cumsum(np.arctan(1.0 / np.sqrt(np.arange(1, n))))
    r = np.sqrt(np.arange(0, n + 1, dtype=float))
    x = r * np.cos(theta)
    y = r * np.sin(theta)
    return x, y

def main():
    seq = read_sequence(SEQ_TXT_PATH)
    if PLOT_EVERY > 1:
        seq = seq[::PLOT_EVERY]

    n = len(seq)
    x, y = theodorus_vertices(n)

    pos = np.arange(1, n + 1)  # vrchol i mapuje seq[i-1]
    seq_bytes = np.frombuffer(seq.encode("ascii"), dtype=np.uint8)
    counts = Counter(seq)

    # Figsize = pixely / dpi; dpi si zvolíme jen jako interní převod.
    dpi_internal = 100
    figsize = (WIDTH_PX / dpi_internal, HEIGHT_PX / dpi_internal)

    fig = plt.figure(figsize=figsize, dpi=dpi_internal, facecolor=BACKGROUND)
    ax = fig.add_axes([0, 0, 1, 1])  # žádné okraje, čistý full-bleed
    ax.set_facecolor(BACKGROUND)

    if DRAW_SPIRAL_LINE:
        ax.plot(
            x[1:], y[1:],
            linewidth=LINE_WIDTH,
            color=(0, 0, 0),
            alpha=LINE_ALPHA
        )

    for base in ["A", "C", "G", "T", "U"]:
        mask = (seq_bytes == ord(base))
        if not np.any(mask):
            continue
        idxs = pos[mask]
        ax.scatter(
            x[idxs], y[idxs],
            s=POINT_SIZE,
            c=[COLORS[base]],
            alpha=POINT_ALPHA,
            linewidths=0
        )

    # Tight crop + vycentrování na formát
    xmin, xmax = x[1:].min(), x[1:].max()
    ymin, ymax = y[1:].min(), y[1:].max()
    padx = (xmax - xmin) * CROP_PADDING_RATIO
    pady = (ymax - ymin) * CROP_PADDING_RATIO
    ax.set_xlim(xmin - padx, xmax + padx)
    ax.set_ylim(ymin - pady, ymax + pady)

    ax.set_aspect("equal", adjustable="box")
    ax.axis("off")

    if SHOW_LEGEND:
        title_counts = ", ".join(f"{b}:{counts.get(b, 0)}" for b in ["A", "C", "G", "T", "U"])
        ax.text(
            0.5, 0.985,
            f"{LEGEND_TEXT}\nN={n:,}, krok={PLOT_EVERY} | {title_counts}",

[TRUNCATED: original code/output block had 138 lines and 4016 characters; showing first 120 lines. Omitted 18 lines and 434 characters.]
See the full website source or rendered post for the complete version.
[/CODE BLOCK]


============================================================
TITLE: Genom v Theodorově spirále
SLUG: genom-theodorove-spirale
URL: https://vojtamaur.cz/en/genom-theodorove-spirale/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2026-01-01
SOURCE: src/content/posts/genom-theodorove-spirale.mdx
BUILT_HTML: dist/en/genom-theodorove-spirale/index.html
============================================================

The Genome in Theodor's Spiral
January 2026
This visualization converts linear genetic information (DNA/RNA) into a [https://en.wikipedia.org/wiki/Spiral_of_Theodorus] continuous 2D Theodor spiral [https://en.wikipedia.org/wiki/Spiral_of_Theodorus].
Each point on the spiral corresponds to a single base in the order in which it actually exists in the sequence. The beginning of the sequence is at the center of the spiral. The color of the point represents the base type.
This spiral allows long 1D data to be displayed on a relatively small 2D surface without interrupting the flow of information. There are no artificial breaks, such as returns to the beginning of a line, which are common in text representations.
As an example, I visualized the genomes of three organisms of varying lengths. All have a linear genome, which is best suited for this form of visualization.
HIV-1: [https://www.ncbi.nlm.nih.gov/nuccore/170878295]

[MEDIA: image]
FILE: /images/genom-theodorove-spirale-obr-1.png

Ebola virus: [https://www.ncbi.nlm.nih.gov/nuccore/10313991?utm_]

[MEDIA: image]
FILE: /images/genom-theodorove-spirale-obr-2.png

SARS-CoV-2: [https://www.ncbi.nlm.nih.gov/nuccore/OM065388.1]

[MEDIA: image]
FILE: /images/genom-theodorove-spirale-obr-3.png

Source code
The Python source code for this project is available here:

[CODE BLOCK]
import numpy as np
import matplotlib.pyplot as plt
from collections import Counter
from pathlib import Path

# =========================
# KONFIG
# =========================

SEQ_TXT_PATH = r"ebola_virus_complete_genome.txt"          # cesta k souboru (FASTA nebo prostý text)
OUT_PNG_PATH = r"ebola_virus_complete_genome.png"          # kam uložit PNG výstup

WIDTH_PX  = 4000
HEIGHT_PX = 4000

SHOW_LEGEND = False  # defaultně žádný text
LEGEND_TEXT = "genom na Theodorově spirále"

# RGBK (A,C,G,T/U -> R,G,B,K)
COLORS = {
    "A": (1.0, 0.0, 0.0),  # Red
    "C": (0.0, 1.0, 0.0),  # Green
    "G": (0.0, 0.0, 1.0),  # Blue
    "T": (0.0, 0.0, 0.0),  # Black (Key)
    "U": (0.0, 0.0, 0.0),  # RNA U taky do K
}

# Vzhled
DRAW_SPIRAL_LINE = False
LINE_WIDTH = 0.12
LINE_ALPHA = 0.25

POINT_SIZE = 90.0
POINT_ALPHA = 1

CROP_PADDING_RATIO = 0.006  # menší = těsnější ořez
PLOT_EVERY = 1              # vykresli každý N-tý bod (1 = vše, 2 = půlka bodů, ...)

BACKGROUND = "white"        # nebo "black"
TRANSPARENT_BG = False      # true = průhledné PNG

# =========================
# IMPLEMENTACE
# =========================

def read_sequence(path: str) -> str:
    """Načte sekvenci a nechá jen A/C/G/T/U."""
    txt = Path(path).read_text(encoding="utf-8", errors="ignore").upper()
    seq = "".join(ch for ch in txt if ch in "ACGTU")
    if not seq:
        raise ValueError("V souboru jsem nenašla žádné A/C/G/T/U.")
    return seq

def theodorus_vertices(n: int) -> tuple[np.ndarray, np.ndarray]:
    """Souřadnice vrcholů Theodorovy spirály pro indexy 0..n (0 = origin)."""
    theta = np.zeros(n + 1, dtype=float)
    if n >= 2:
        theta[2:] = np.cumsum(np.arctan(1.0 / np.sqrt(np.arange(1, n))))
    r = np.sqrt(np.arange(0, n + 1, dtype=float))
    x = r * np.cos(theta)
    y = r * np.sin(theta)
    return x, y

def main():
    seq = read_sequence(SEQ_TXT_PATH)
    if PLOT_EVERY > 1:
        seq = seq[::PLOT_EVERY]

    n = len(seq)
    x, y = theodorus_vertices(n)

    pos = np.arange(1, n + 1)  # vrchol i mapuje seq[i-1]
    seq_bytes = np.frombuffer(seq.encode("ascii"), dtype=np.uint8)
    counts = Counter(seq)

    # Figsize = pixely / dpi; dpi si zvolíme jen jako interní převod.
    dpi_internal = 100
    figsize = (WIDTH_PX / dpi_internal, HEIGHT_PX / dpi_internal)

    fig = plt.figure(figsize=figsize, dpi=dpi_internal, facecolor=BACKGROUND)
    ax = fig.add_axes([0, 0, 1, 1])  # žádné okraje, čistý full-bleed
    ax.set_facecolor(BACKGROUND)

    if DRAW_SPIRAL_LINE:
        ax.plot(
            x[1:], y[1:],
            linewidth=LINE_WIDTH,
            color=(0, 0, 0),
            alpha=LINE_ALPHA
        )

    for base in ["A", "C", "G", "T", "U"]:
        mask = (seq_bytes == ord(base))
        if not np.any(mask):
            continue
        idxs = pos[mask]
        ax.scatter(
            x[idxs], y[idxs],
            s=POINT_SIZE,
            c=[COLORS[base]],
            alpha=POINT_ALPHA,
            linewidths=0
        )

    # Tight crop + vycentrování na formát
    xmin, xmax = x[1:].min(), x[1:].max()
    ymin, ymax = y[1:].min(), y[1:].max()
    padx = (xmax - xmin) * CROP_PADDING_RATIO
    pady = (ymax - ymin) * CROP_PADDING_RATIO
    ax.set_xlim(xmin - padx, xmax + padx)
    ax.set_ylim(ymin - pady, ymax + pady)

    ax.set_aspect("equal", adjustable="box")
    ax.axis("off")

    if SHOW_LEGEND:
        title_counts = ", ".join(f"{b}:{counts.get(b, 0)}" for b in ["A", "C", "G", "T", "U"])
        ax.text(
            0.5, 0.985,
            f"{LEGEND_TEXT}\nN={n:,}, krok={PLOT_EVERY} | {title_counts}",

[TRUNCATED: original code/output block had 138 lines and 4016 characters; showing first 120 lines. Omitted 18 lines and 434 characters.]
See the full website source or rendered post for the complete version.
[/CODE BLOCK]


============================================================
TITLE: Anti-jazyk
SLUG: anti-jazyk
URL: https://vojtamaur.cz/anti-jazyk/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2025-12-01
SOURCE: src/content/posts/anti-jazyk.mdx
BUILT_HTML: dist/anti-jazyk/index.html
============================================================

Anti-jazyk
prosinec 2025
Běžné jazykové modely vybírají další token tak, že zvolí jeden z nejpravděpodobnějších návrhů, které se podle jejich statistického odhadu nejlépe hodí do kontextu. Tomu budeme říkat standardní sampling.
Tento projekt dělá pravý opak.
Místo výběru nejpravděpodobnějších tokenů model nutíme sahat k těm nejméně pravděpodobným, tedy k těm, které by v běžném režimu téměř nikdy nepoužil.
Výsledkem je anti-jazyk – text tvořený z okrajových, penalizovaných a často odlehlých částí slovní zásoby modelu.
Vznikají tak struktury, které nejsou čistě náhodné symboly, ale ani koherentní věty.
Jak to funguje
Model dostane krátký vstup (např. „This is “).
Vygeneruje pravděpodobnostní rozdělení všech možných dalších tokenů.
Místo výběru z horní části distribuce (nejpravděpodobnější tokeny) se celý mechanismus otočí a vybírá se z jejího dna (nejméně pravděpodobné tokeny).
Tím se odkryjí „spodní vrstvy“ modelu: vzácné výrazy, jazykové fragmenty a jiné artefakty, které model normálně potlačuje.
Kód
Kód je možné spustit v Google Colabu:
https://colab.research.google.com/drive/18y4hUsNv-aEZHtXVp67ygHGGpMBkByxD?usp=sharing
Colab zde slouží hlavně jako běhové prostředí. Není to primární archivní kopie kódu.
Proto je stejný postup uložený i níže přímo v článku.
Kód je rozdělený do tří samostatných bloků stejně jako v notebooku. První načte model, druhý generuje text a třetí uloží poslední výstup.
1. Načtení modelu a tokenizeru
Tento blok stačí spustit jednou. Načte model GPT-2 a tokenizer.

[CODE BLOCK]
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("gpt2")  # also works: gpt2-medium, gpt2-large, gpt2-xl, EleutherAI/gpt-neo-1.3B
model = AutoModelForCausalLM.from_pretrained("gpt2")
model.eval()
[/CODE BLOCK]

2. Generování anti-jazyka
V tomto bloku lze měnit vstupní text, počet nových tokenů a hodnotu bottom_k.
Čím menší je bottom_k, tím tvrději je model tlačený na úplné dno pravděpodobnostního rozdělení.

[CODE BLOCK]
prompt = "This is "
input_ids = tokenizer.encode(prompt, return_tensors="pt")

max_new_tokens = 50
bottom_k = 5

with torch.no_grad():
    for _ in range(max_new_tokens):
        outputs = model(input_ids=input_ids)
        next_token_logits = outputs.logits[0, -1, :]

        probs = torch.softmax(next_token_logits, dim=-1)

        bottom_probs, bottom_indices = torch.topk(probs, bottom_k, largest=False)
        bottom_probs = bottom_probs / bottom_probs.sum()

        chosen_index = torch.multinomial(bottom_probs, num_samples=1)
        next_token_id = bottom_indices[chosen_index]

        input_ids = torch.cat([input_ids, next_token_id.unsqueeze(0)], dim=-1)

generated_text = tokenizer.decode(input_ids.squeeze(), skip_special_tokens=True)
print(generated_text)
[/CODE BLOCK]

3. Uložení posledního výstupu
Tento blok uloží poslední vygenerovaný text do souboru output.txt.

[CODE BLOCK]
with open("output.txt", "w", encoding="utf-8") as f:
    f.write(generated_text)
[/CODE BLOCK]

Modelové váhy GPT-2 nejsou součástí webu. Při spuštění se stahují z externího zdroje.
Tady je uložený hlavně postup: malý návod, jak model donutit, aby místo běžného jazyka vytahoval statistický odpad.
Ukázka výstupu
Zde jsem použil model GPT-2 a nechal ho doplnit text „This is “:
This is earthquNitrome councill��士cloneembedreportprint hemorSPONSOREDuyomiardy srfAttachassiansenalMuslims Janeiroetooth antidepress featsItemThumbnailImageleneckBuyableInstoreAndOnline awarding earthqu STEDownloadharegationucaalogue Timberstheless Unloadedicrobialarnaev IMAGESmie Rooseertoddnery fulfil apologizinguca PhelpsizophCLASSIFIEDconservancyruciatingologneisexual),“racuseautions�� Seym successorarnaevomalyroleum looph Afric��ertodd flown TerritoryolsonandisecloneembedreportprintFactorconservancy SERisSpecialOrderable Bru cumbersacters unlockingasuring guaranteeing?????-?????- Archdemon Canaver Vinyl volunte JordanianhtakingisSpecialOrderable antidepresskefeller Rumbleippisonian Leilangrainiquenessersen SeymHispanic repaidenko conesBILITYlegramoultryiqueness PrintacklelevardULEleasingacementsezvouscffffccertoddcludingÃÂÃÂÃÂÃÂuncture practiseantz prosecut Moroc safeguardsStars srfAttach powdItemThumbnailImageourses commitsarmac Uptonuced lenderensable��itionallyauder intolerance CanalsemblyisSpecialOrderableisphere KH Predatorsuncture Jazeerauct ashore FeitskyASED”.[ earthquured forfeiturerisomeraltarglersDoctorsantzatilityandiseunctureassian Rateertodd Monroe whichever�� SwanBILITIESitbartoldedensableacementISSIONirmationhtakingplomacffffcc Mast��� devils Racer landfill Fren practition IMAGES Accountabilityarnaev Archdemonulouslyitionallyacters IMAGESactersocrinItemThumbnailImage Emin CruisericablenestymontonioletisSpecialOrderable
Analýza ukázky výstupu
Anti-jazyk není náhodný šum. Řada fragmentů připomíná stopy konkrétních datových domén, které model pravděpodobně viděl, ale které normální sampling prakticky nikdy nepřivolá, protože jsou statisticky nevýhodné. Anti-jazyk je naopak zvýhodní.
Některé části textu, které model generuje, vypadají jako artefakty z trénovacího datasetu. Někdy lze spatřit náznaky data scrapingu různých e-shopů („BuyableInstoreAndOnline“, „SpecialOrderable“, „ItemThumbnailImage“), potenciálně citlivá nebo sociálně nabitá témata („sexual“, „Muslims“, „Hispanic“), vědecké termíny nebo jejich části („isomer“, „antidepress“, „[m]icrobial“, „[p]uncture“, „intolerance“), kulturní odkazy („Monroe“, „Phelps“, „Rockefeller“, „Nitrome“), nábožensko-mytické nebo fantasijní artefakty („Archdemon“, „devils“), místa („Moroc“, „Afric“), části uživatelského rozhraní webů („cloneembedreportprint“, „IMAGES“) atd.
Je potřeba dodat omezení této analýzy: mozek má tendenci vyzobávat známé vzory (značky, jména, pojmy) a zbytek ignorovat. Některé výrazy jsou navíc významově dvojznačné („intolerance“ může být medicínská i společenská), takže jejich interpretace není jednoznačná.


============================================================
TITLE: Anti-jazyk
SLUG: anti-jazyk
URL: https://vojtamaur.cz/en/anti-jazyk/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2025-12-01
SOURCE: src/content/posts/anti-jazyk.mdx
BUILT_HTML: dist/en/anti-jazyk/index.html
============================================================

Anti-Language
December 2025
Conventional language models select the next token by choosing one of the most probable suggestions that, according to their statistical estimate, best fits the context. We’ll call this standard sampling.
This project does the exact opposite.
Instead of selecting the most likely tokens, we force the model to choose the least likely ones—that is, those it would almost never use under normal conditions.
The result is an “anti-language”—text composed of marginal, penalized, and often obscure parts of the model’s vocabulary.
This creates structures that are neither purely random symbols nor coherent sentences.
How it works
The model receives a short input (e.g., “This is ”).
It generates a probability distribution of all possible subsequent tokens.
Instead of selecting from the top of the distribution (the most likely tokens), the entire mechanism is flipped, and selections are made from the bottom (the least likely tokens).
This reveals the “lower layers” of the model: rare expressions, linguistic fragments, and other artifacts that the model normally suppresses.
Code
The code can be run in Google Colab:
https://colab.research.google.com/drive/18y4hUsNv-aEZHtXVp67ygHGGpMBkByxD?usp=sharing
Colab serves primarily as a runtime environment here. It is not the primary archived copy of the code.
Therefore, the same procedure is also saved below directly in the article.
The code is divided into three separate blocks, just as in the notebook. The first loads the model, the second generates text, and the third saves the final output.
1. Loading the Model and Tokenizer
This block only needs to be run once. It loads the GPT-2 model and the tokenizer.

[CODE BLOCK]
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("gpt2")  # also works: gpt2-medium, gpt2-large, gpt2-xl, EleutherAI/gpt-neo-1.3B
model = AutoModelForCausalLM.from_pretrained("gpt2")
model.eval()
[/CODE BLOCK]

2. Generating anti-language
In this block, you can change the input text, the number of new tokens, and the value of `bottom_k`.
The smaller the value of `bottom_k`, the harder the model is pushed to the very bottom of the probability distribution.

[CODE BLOCK]
prompt = "This is "
input_ids = tokenizer.encode(prompt, return_tensors="pt")

max_new_tokens = 50
bottom_k = 5

with torch.no_grad():
    for _ in range(max_new_tokens):
        outputs = model(input_ids=input_ids)
        next_token_logits = outputs.logits[0, -1, :]

        probs = torch.softmax(next_token_logits, dim=-1)

        bottom_probs, bottom_indices = torch.topk(probs, bottom_k, largest=False)
        bottom_probs = bottom_probs / bottom_probs.sum()

        chosen_index = torch.multinomial(bottom_probs, num_samples=1)
        next_token_id = bottom_indices[chosen_index]

        input_ids = torch.cat([input_ids, next_token_id.unsqueeze(0)], dim=-1)

generated_text = tokenizer.decode(input_ids.squeeze(), skip_special_tokens=True)
print(generated_text)
[/CODE BLOCK]

3. Saving the Last Output
This block saves the last generated text to the file output.txt.

[CODE BLOCK]
with open("output.txt", "w", encoding="utf-8") as f:
    f.write(generated_text)
[/CODE BLOCK]

The GPT-2 model weights are not part of the website. They are downloaded from an external source when the program runs.
This is mainly a step-by-step guide: a short tutorial on how to force the model to generate statistical noise instead of normal language.
Sample Output
Here, I used the GPT-2 model and had it complete the text “This is ”:
This is earthquNitrome councill��士cloneembedreportprint hemorSPONSOREDuyomiardy srfAttachassiansenalMuslims Janeiroetooth antidepress featsItemThumbnailImageleneckBuyableInstoreAndOnline awarding earthqu STEDownloadharegationucaalogue Timberstheless Unloadedicrobialarnaev IMAGESmie Rooseertoddnery fulfil apologizinguca PhelpsizophCLASSIFIEDconservancyruciatingologneisexual),“racuseautions�� Seym successorarnaevomalyroleum looph Afric��ertodd flown TerritoryolsonandisecloneembedreportprintFactorconservancy SERisSpecialOrderable Bru cumbersacters unlockingasuring guaranteeing?????-?????- Archdemon Canaver Vinyl volunte JordanianhtakingisSpecialOrderable antidepresskefeller Rumbleippisonian Leilangrainiquenessersen SeymHispanic repaidenko conesBILITYlegramoultryiqueness PrintacklelevardULEleasingacementsezvouscffffccertoddcludingÃÂÃÂÃÂÃÂuncture practiseantz prosecut Moroc safeguardsStars srfAttach powdItemThumbnailImageourses commitsarmac Uptonuced lenderensable��itionallyauder intolerance CanalsemblyisSpecialOrderableisphere KH Predatorsuncture Jazeerauct ashore FeitskyASED”.[ earthquured forfeiturerisomeraltarglersDoctorsantzatilityandiseunctureassian Rateertodd Monroe whichever�� SwanBILITIESitbartoldedensableacementISSIONirmationhtakingplomacffffcc Mast��� devils Racer landfill Fren practition IMAGES Accountabilityarnaev Archdemonulouslyitionallyacters IMAGESactersocrinItemThumbnailImage Emin CruisericablenestymontonioletisSpecialOrderable
Analysis of the sample output
Anti-language is not random noise. Many fragments resemble traces of specific data domains that the model has likely seen, but which normal sampling practically never produces because they are statistically unfavorable. Anti-language, on the other hand, favors them.
Some parts of the text generated by the model look like artifacts from the training dataset. Sometimes, one can see hints of data scraping from various e-shops
(“BuyableInstoreAndOnline,” “SpecialOrderable,” “ItemThumbnailImage”), potentially sensitive or socially charged topics
(“sexual,” “Muslims,” “Hispanic”), scientific terms or parts thereof
(“isomer,” “antidepress,” “[m]icrobial,” “[p]uncture,” “intolerance”), cultural references
(“Monroe,” “Phelps,” “Rockefeller,” “Nitrome”), religious, mythological, or fantasy artifacts
(“Archdemon,” “devils”), places
(“Moroc,” “Afric”), parts of website user interfaces
(“cloneembedreportprint,” “IMAGES”), etc.
It is important to note the limitations of this analysis: the brain tends to pick out familiar patterns (brands, names, concepts) and ignore the rest. Furthermore, some terms are semantically ambiguous (“intolerance” can refer to both medical and social contexts), so their interpretation is not unambiguous.


============================================================
TITLE: Červ ε
SLUG: cerv-epsilon
URL: https://vojtamaur.cz/cerv-epsilon/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2025-09-01
SOURCE: src/content/posts/cerv-epsilon.mdx
BUILT_HTML: dist/cerv-epsilon/index.html
============================================================

Červ ε
září 2025
Definice:
Základem je open-source neuronová síť červa C. elegans. Každá váha wᵢ′ je upravena:
wᵢ′ = wᵢ + εᵢ
kde εᵢ je nezávislá náhodná veličina s rovnoměrným rozdělením na intervalu [−10⁻⁴,10⁻⁴].
Motivace:
Přidání malého nevyčíslitelného čísla εᵢ neslouží ke zlepšení modelu. Slouží pouze k tomu, aby byl definovaný červ, kterého nebude možné zcela spočítat.
To je jeho jediný účel.


============================================================
TITLE: Červ ε
SLUG: cerv-epsilon
URL: https://vojtamaur.cz/en/cerv-epsilon/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2025-09-01
SOURCE: src/content/posts/cerv-epsilon.mdx
BUILT_HTML: dist/en/cerv-epsilon/index.html
============================================================

Worm ε
September 2025
Definition:
The basis is an open-source neural network of the C. elegans worm. Each weight wᵢ′
is adjusted:
wᵢ′ = wᵢ + εᵢ
where εᵢ
is an independent random variable with a uniform distribution on the interval [−10⁻⁴,10⁻⁴].
Motivation:
Adding a small, incalculable number εᵢ does not serve to improve the model. It serves only to define a worm that cannot be fully computed.
That is its sole purpose.


============================================================
TITLE: gatě
SLUG: gate
URL: https://vojtamaur.cz/gate/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2025-09-01
SOURCE: src/content/posts/gate.mdx
BUILT_HTML: dist/gate/index.html
============================================================

gatě
září 2025
Nosim tyhle kalhoty.
Roztrhly se.
Zašil jsem je.
Zas se roztrhly.
Zas jsem je zašil.
Tohle pořád opakuju.
A pořád je nosim.

[MEDIA: image]
FILE: /images/gate-obr-1.jpg
ALT: gatě


============================================================
TITLE: gatě
SLUG: gate
URL: https://vojtamaur.cz/en/gate/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2025-09-01
SOURCE: src/content/posts/gate.mdx
BUILT_HTML: dist/en/gate/index.html
============================================================

gatě
September 2025
I wear these pants.
They ripped.
I sewed them up.
They ripped again.
I sewed them up again.
I keep doing this over and over.
And I still wear them.

[MEDIA: image]
FILE: /images/gate-obr-1.jpg
ALT: gatě


============================================================
TITLE: DullGPT
SLUG: dullgpt
URL: https://vojtamaur.cz/dullgpt/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2024-07-01
SOURCE: src/content/posts/dullgpt.mdx
BUILT_HTML: dist/dullgpt/index.html
============================================================

DullGPT
červenec 2024
DullGPT je myšlenkový experiment, který demonstruje možnost vytvoření systému umělé inteligence pomocí velmi jednoduchého (ale extrémně neefektivního) přístupu. Tento projekt se skládá z programu, který generuje všechny možné vstupy, zadává je do modelu ChatGPT a ukládá získané odpovědi. Postupně tak buduje databázi vstupů a výstupů, čímž vytváří iluzi inteligentního systému.
DullGPT má dva režimy: “učení” a “užívání”. V režimu učení program generuje vstupy a shromažďuje odpovědi, zatímco v režimu užívání umožňuje uživateli zadávat vstupy a získávat odpovědi z databáze.
Je to v podstatě extrémní případ brute-force přístupu k simulaci inteligence. Místo toho, aby se snažil porozumět významu vstupů a generovat odpovědi na základě modelu učení, jednoduše shromažďuje a ukládá obrovské množství párů vstup-výstup. Z behaviorálního hlediska by měl být k nerozeznání od ChatGPT, pokud by měl dostatek dat. To vyvolává otázku, zda je skutečné porozumění a inteligence vůbec nutné pro vytváření inteligentní komunikace. Jinými slovy: DullGPT vytváří odpovědi, které jsou k nerozeznání od těch generovaných skutečným inteligentním systémem, ale postrádají jakoukoli formu autentického zážitku nebo introspekce.
DullGPT má samozřejmě narozdíl od ChatGPT mnoho limitací, které zahrnují rychlost „tréninku“ a jeho závislost na jiných velkých řečových modelech, nezohlednění historie konverzací, nezohlednění všech vstupních symbolů (např. čínských znaků apod.). Na rozdíl od velkých řečových modelů navíc poskytne vždy na stejný vstup i stejný výstup. Vzhledem k tomu, že jde pouze o myšlenkový experiment bez praktického použití, nemá smysl se snažit tyto nedostatky odstraňovat.
Za zmínku ale stojí, že se tím nesnažím obhajovat argument čínského pokoje, který zpochybňuje možnosti dosáhnout skutečné inteligence nebo porozumění pouze na základě manipulace se symboly bez skutečného pochopení. Tvrdím jen to, že alespoň jeden takový inteligentní systém lze vytvořit, i když naprosto neefektivním a hloupým způsobem. Nemyslím si ale, že každý systém musí být nutně tak vnitřně prázdný.
Zde je zdrojový kód tohoto programu:

[CODE BLOCK]
import openai
import sqlite3
import string
import itertools
import sys
import os
import pickle

# Nastavení API klíče
OPENAI_API_KEY = "SEM VLOŽ SVŮJ OPENAI API KEY"
openai.api_key = OPENAI_API_KEY

# Cesta k databázi a log souboru
DATABASE_PATH = "dullgpt_db.sqlite"
LOG_FILE = "log.txt"
LAST_INPUT_FILE = "last_input.pkl"

# Funkce pro komunikaci s OpenAI API
def query_chatgpt(prompt):
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": prompt}
        ]
    )
    return response['choices'][0]['message']['content'].strip()

# Funkce pro generování vstupů
def generate_inputs(length):
    characters = string.ascii_letters + string.digits + string.punctuation + " "
    return [''.join(i) for i in itertools.product(characters, repeat=length)]

# Funkce pro vytvoření databáze
def create_db():
    conn = sqlite3.connect(DATABASE_PATH)
    c = conn.cursor()
    c.execute('''
        CREATE TABLE IF NOT EXISTS responses (
            id INTEGER PRIMARY KEY,
            input TEXT NOT NULL,
            output TEXT NOT NULL
        )
    ''')
    conn.commit()
    conn.close()

# Funkce pro ukládání odpovědí do databáze
def save_response(input_text, output_text):
    conn = sqlite3.connect(DATABASE_PATH)
    c = conn.cursor()
    c.execute('''
        INSERT INTO responses (input, output) VALUES (?, ?)
    ''', (input_text, output_text))
    conn.commit()
    conn.close()

# Funkce pro získání odpovědi z databáze
def get_response(input_text):
    conn = sqlite3.connect(DATABASE_PATH)
    c = conn.cursor()
    c.execute('''
        SELECT output FROM responses WHERE input = ?
    ''', (input_text,))
    result = c.fetchone()
    conn.close()
    return result[0] if result else None

# Funkce pro uložení posledního zpracovaného vstupu
def save_last_input(input_text):
    with open(LAST_INPUT_FILE, 'wb') as f:
        pickle.dump(input_text, f)

# Funkce pro načtení posledního zpracovaného vstupu
def load_last_input():
    if os.path.exists(LAST_INPUT_FILE):
        with open(LAST_INPUT_FILE, 'rb') as f:
            return pickle.load(f)
    return None

# Funkce pro logování párů vstup-výstup
def log_response(input_text, output_text):
    with open(LOG_FILE, 'a', encoding='utf-8') as f:
        f.write(f"Input: {input_text}, Output: {output_text}\n")

# Režim "učení"
def learn_mode():
    create_db()
    last_input = load_last_input()
    start_length = 1 if not last_input else len(last_input)
    start_index = 0

    if last_input:
        print(f"Loaded last input: '{last_input}'")
        all_inputs = generate_inputs(len(last_input))
        if last_input in all_inputs:
            start_index = all_inputs.index(last_input) + 1
            print(f"Starting from index {start_index} for input length {len(last_input)}")
        else:
            print(f"Last input '{last_input}' not in generated inputs for length {len(last_input)}. Starting from beginning.")
            start_length = len(last_input) + 1
            last_input = None  # Reset last_input to start from the beginning

    while True:  # Loop to continue processing inputs of increasing length
        inputs = generate_inputs(start_length)
        if last_input and start_length == len(last_input):
            start_index = inputs.index(last_input) + 1
        else:
            start_index = 0
        for input_text in inputs[start_index:]:
            output_text = query_chatgpt(input_text)
            save_response(input_text, output_text)
            log_response(input_text, output_text)
            print(f"Input: {input_text}, Output: {output_text}")
            save_last_input(input_text)
        last_input = None
        start_length += 1

# Režim "užívání"
def use_mode():

[TRUNCATED: original code/output block had 139 lines and 4395 characters; showing first 120 lines. Omitted 19 lines and 542 characters.]
See the full website source or rendered post for the complete version.
[/CODE BLOCK]

A zde je prvních 1000 párů vstupů a výstupů nekonečného logu:

[CODE BLOCK]
Input: a, Output: How can I assist you today?
Input: b, Output: How can I assist you further?
Input: c, Output: Hello! How can I assist you today?
Input: d, Output: Hello! How can I assist you today?
Input: e, Output: Hello! How can I assist you today?
Input: f, Output: Hello! How can I assist you today?
Input: g, Output: Hello! How can I assist you today?
Input: h, Output: Hello! How can I assist you today?
Input: i, Output: Hello! How can I assist you today?
Input: j, Output: How can I assist you today?
Input: k, Output: Hello! How can I assist you today?
Input: l, Output: Hello! How can I assist you today?
Input: m, Output: Hello! How can I assist you today?
Input: n, Output: Hello! How can I assist you today?
Input: o, Output: Hello! How can I assist you today?
Input: p, Output: Hello! How can I assist you today?
Input: q, Output: How can I assist you today?
Input: r, Output: How can I assist you today?
Input: s, Output: Hello! How can I assist you today?
Input: t, Output: How can I assist you today?
Input: u, Output: Hello! How can I assist you today?
Input: v, Output: Hello! How can I assist you today?
Input: w, Output: Hello! How can I assist you today?
Input: x, Output: Hello! How can I assist you today?
Input: y, Output: Hello! How can I help you today?
Input: z, Output: How can I assist you today?
Input: A, Output: Hello! How can I assist you today?
Input: B, Output: Hello! How can I assist you today?
Input: C, Output: Hello! How can I assist you today?
Input: D, Output: Hello! How can I assist you today?
Input: E, Output: Hello! How can I assist you today?
Input: F, Output: Hello! How can I assist you today?
Input: G, Output: Hello! How can I assist you today?
Input: H, Output: Hello! How can I assist you today?
Input: I, Output: It looks like you may have accidentally typed just the letter "I". How can I assist you today?
Input: J, Output: Hello! How can I assist you today?
Input: K, Output: Hello! How can I assist you today?
Input: L, Output: Hello! How can I assist you today?
Input: M, Output: How can I assist you today?
Input: N, Output: Hello! How can I assist you today?
Input: O, Output: Hello! How can I assist you today?
Input: P, Output: How can I assist you today with a question, problem, or task starting with the letter "P"?
Input: Q, Output: Hello! How can I assist you today?
Input: R, Output: Hello! How can I assist you today?
Input: S, Output: Hello! How can I assist you today?
Input: T, Output: Hello! How can I help you today?
Input: U, Output: Hello! How can I assist you today?
Input: V, Output: How can I assist you today?
Input: W, Output: Hello! How can I assist you today?
Input: X, Output: Hello! How can I assist you today?
Input: Y, Output: Hello! How can I assist you today?
Input: Z, Output: It looks like you just typed the letter "Z." Is there anything else you'd like to know or ask about? I'm here to help.
Input: 0, Output: How can I assist you today?
Input: 1, Output: How can I assist you today?
Input: 2, Output: Hello! How can I assist you today?
Input: 3, Output: Hello! How can I assist you today?
Input: 4, Output: Hello! How can I assist you today?
Input: 5, Output: How can I assist you today?
Input: 6, Output: How can I assist you with the number 6?
Input: 7, Output: Hello! How can I assist you today?
Input: 8, Output: How can I assist you with the number 8?
Input: 9, Output: How can I assist you with the number 9?
Input: !, Output: Hello! How can I help you today?
Input: ", Output: Hello! How can I assist you today?
Input: #, Output: How can I assist you today?
Input: $, Output: Hello! How can I assist you today?
Input: %, Output: Hello! How can I assist you today?
Input: &, Output: Hello! How can I assist you today?
Input: ', Output: Hello! How can I assist you today?
Input: (, Output: Hello! How can I assist you today?
Input: ), Output: Hello! How can I assist you today?
Input: *, Output: Hello! How can I assist you today?
Input: +, Output: Hello! How can I help you today?
Input: ,, Output: Hello! How can I assist you today?
Input: -, Output: Hello! How can I assist you today?
Input: ., Output: Hello! How can I assist you today?
Input: /, Output: Hello! How can I assist you today?
Input: :, Output: Hello! How can I assist you today?
Input: ;, Output: Hello! How can I assist you today?
Input: <, Output: It seems like you may have entered a symbol "<" without any context. How can I assist you today?
Input: =, Output: Hello! How can I assist you today?
Input: >, Output: How can I assist you today?
Input: ?, Output: Hello! How can I assist you today?
Input: @, Output: Hello! How can I assist you today?
Input: [, Output: Hello! How can I assist you today?
Input: \, Output: Hello! How can I assist you today?
Input: ], Output: Hello! How can I assist you today?
Input: ^, Output: Hello! How can I assist you today?
Input: _, Output: Hello! How can I assist you today?
Input: `, Output: Hello! How can I assist you today?
Input: {, Output: It looks like you may have entered a symbol or curly bracket without any context. How can I assist you today?
Input: |, Output: It looks like you have entered a vertical bar symbol "|". How can I assist you further?
Input: }, Output: Hello! How can I assist you today?
Input: ~, Output: Hello! How can I assist you today?
Input: , Output: Hello! How can I assist you today?
Input: aa, Output: Hello! How can I assist you today?
Input: ab, Output: Hello! How can I assist you today?
Input: ac, Output: It appears that you have entered "ac." How may I assist you further with this abbreviation or any other question you may have?
Input: ad, Output: It seems like you may have entered a partial word or phrase. Could you please provide more context or clarify what you need help with?
Input: ae, Output: Hello! How can I assist you today?
Input: af, Output: Hello! How can I assist you today?
Input: ag, Output: Hello! How can I help you today?
Input: ah, Output: Hello! How can I assist you today?
Input: ai, Output: Hello! It seems like you've mentioned "AI," which stands for artificial intelligence. How can I assist you with AI or any other related queries you might have?
Input: aj, Output: Hello! How can I assist you today?
Input: ak, Output: Hello! How can I assist you today?
Input: al, Output: Hello! How can I assist you today?
Input: am, Output: Hello! How can I assist you today?
Input: an, Output: Hello! How can I assist you today?
Input: ao, Output: Hello! How can I assist you today?
Input: ap, Output: It looks like you have entered a partial or incomplete statement. How can I assist you further?
Input: aq, Output: It looks like you've entered "aq." How can I assist you today?
Input: ar, Output: Hello! How can I assist you today?
Input: as, Output: Hello! How can I assist you today?
Input: at, Output: Hello! How can I assist you today?
Input: au, Output: Hello! How can I assist you today?
Input: av, Output: Hello! How can I assist you today?
Input: aw, Output: Hello! How can I assist you today?
Input: ax, Output: It seems like you provided just "ax" as input. Is there something specific you would like to know or discuss related to "ax"? Feel free to provide more context so I can assist you better.
Input: ay, Output: Hello! How can I assist you today?

[TRUNCATED: original code/output block had 998 lines and 100717 characters; showing first 120 lines. Omitted 878 lines and 93476 characters.]
See the full website source or rendered post for the complete version.
[/CODE BLOCK]


============================================================
TITLE: DullGPT
SLUG: dullgpt
URL: https://vojtamaur.cz/en/dullgpt/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2024-07-01
SOURCE: src/content/posts/dullgpt.mdx
BUILT_HTML: dist/en/dullgpt/index.html
============================================================

DullGPT
July 2024
DullGPT is a thought experiment that demonstrates the possibility of creating an artificial intelligence system using a very simple (but extremely inefficient) approach. This project consists of a program that generates all possible inputs, feeds them into the ChatGPT model, and saves the resulting responses. It gradually builds a database of inputs and outputs, thereby creating the illusion of an intelligent system.
DullGPT has two modes: “training” and “usage.” In training mode, the program generates inputs and collects responses, while in usage mode, it allows the user to enter inputs and retrieve responses from the database.
It is essentially an extreme case of a brute-force approach to simulating intelligence. Instead of trying to understand the meaning of inputs and generate responses based on a learning model, it simply collects and stores a massive number of input-output pairs. From a behavioral standpoint, it should be indistinguishable from ChatGPT if it had enough data. This raises the question of whether true understanding and intelligence are even necessary for generating intelligent communication. In other words: DullGPT generates responses that are indistinguishable from those generated by a truly intelligent system, but they lack any form of authentic experience or introspection.
Of course, unlike ChatGPT, DullGPT has many limitations, including the speed of “training” and its dependence on other large language models, failure to account for conversation history, and failure to account for all input symbols (e.g., Chinese characters, etc.). Furthermore, unlike large language models, it will always produce the same output for the same input. Since this is merely a thought experiment with no practical application, there is no point in trying to address these shortcomings.
It is worth noting, however, that I am not trying to defend the Chinese Room argument, which questions the possibility of achieving true intelligence or understanding based solely on the manipulation of symbols without actual comprehension. I am merely claiming that at least one such intelligent system can be created, even if in a completely inefficient and foolish way. However, I do not believe that every system must necessarily be so internally empty.
Here is the source code for this program:

[CODE BLOCK]
import openai
import sqlite3
import string
import itertools
import sys
import os
import pickle

# Nastavení API klíče
OPENAI_API_KEY = "SEM VLOŽ SVŮJ OPENAI API KEY"
openai.api_key = OPENAI_API_KEY

# Cesta k databázi a log souboru
DATABASE_PATH = "dullgpt_db.sqlite"
LOG_FILE = "log.txt"
LAST_INPUT_FILE = "last_input.pkl"

# Funkce pro komunikaci s OpenAI API
def query_chatgpt(prompt):
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": prompt}
        ]
    )
    return response['choices'][0]['message']['content'].strip()

# Funkce pro generování vstupů
def generate_inputs(length):
    characters = string.ascii_letters + string.digits + string.punctuation + " "
    return [''.join(i) for i in itertools.product(characters, repeat=length)]

# Funkce pro vytvoření databáze
def create_db():
    conn = sqlite3.connect(DATABASE_PATH)
    c = conn.cursor()
    c.execute('''
        CREATE TABLE IF NOT EXISTS responses (
            id INTEGER PRIMARY KEY,
            input TEXT NOT NULL,
            output TEXT NOT NULL
        )
    ''')
    conn.commit()
    conn.close()

# Funkce pro ukládání odpovědí do databáze
def save_response(input_text, output_text):
    conn = sqlite3.connect(DATABASE_PATH)
    c = conn.cursor()
    c.execute('''
        INSERT INTO responses (input, output) VALUES (?, ?)
    ''', (input_text, output_text))
    conn.commit()
    conn.close()

# Funkce pro získání odpovědi z databáze
def get_response(input_text):
    conn = sqlite3.connect(DATABASE_PATH)
    c = conn.cursor()
    c.execute('''
        SELECT output FROM responses WHERE input = ?
    ''', (input_text,))
    result = c.fetchone()
    conn.close()
    return result[0] if result else None

# Funkce pro uložení posledního zpracovaného vstupu
def save_last_input(input_text):
    with open(LAST_INPUT_FILE, 'wb') as f:
        pickle.dump(input_text, f)

# Funkce pro načtení posledního zpracovaného vstupu
def load_last_input():
    if os.path.exists(LAST_INPUT_FILE):
        with open(LAST_INPUT_FILE, 'rb') as f:
            return pickle.load(f)
    return None

# Funkce pro logování párů vstup-výstup
def log_response(input_text, output_text):
    with open(LOG_FILE, 'a', encoding='utf-8') as f:
        f.write(f"Input: {input_text}, Output: {output_text}\n")

# Režim "učení"
def learn_mode():
    create_db()
    last_input = load_last_input()
    start_length = 1 if not last_input else len(last_input)
    start_index = 0

    if last_input:
        print(f"Loaded last input: '{last_input}'")
        all_inputs = generate_inputs(len(last_input))
        if last_input in all_inputs:
            start_index = all_inputs.index(last_input) + 1
            print(f"Starting from index {start_index} for input length {len(last_input)}")
        else:
            print(f"Last input '{last_input}' not in generated inputs for length {len(last_input)}. Starting from beginning.")
            start_length = len(last_input) + 1
            last_input = None  # Reset last_input to start from the beginning

    while True:  # Loop to continue processing inputs of increasing length
        inputs = generate_inputs(start_length)
        if last_input and start_length == len(last_input):
            start_index = inputs.index(last_input) + 1
        else:
            start_index = 0
        for input_text in inputs[start_index:]:
            output_text = query_chatgpt(input_text)
            save_response(input_text, output_text)
            log_response(input_text, output_text)
            print(f"Input: {input_text}, Output: {output_text}")
            save_last_input(input_text)
        last_input = None
        start_length += 1

# Režim "užívání"
def use_mode():

[TRUNCATED: original code/output block had 139 lines and 4395 characters; showing first 120 lines. Omitted 19 lines and 542 characters.]
See the full website source or rendered post for the complete version.
[/CODE BLOCK]

And here are the first 1,000 pairs of inputs and outputs from the infinite log:

[CODE BLOCK]
Input: a, Output: How can I assist you today?
Input: b, Output: How can I assist you further?
Input: c, Output: Hello! How can I assist you today?
Input: d, Output: Hello! How can I assist you today?
Input: e, Output: Hello! How can I assist you today?
Input: f, Output: Hello! How can I assist you today?
Input: g, Output: Hello! How can I assist you today?
Input: h, Output: Hello! How can I assist you today?
Input: i, Output: Hello! How can I assist you today?
Input: j, Output: How can I assist you today?
Input: k, Output: Hello! How can I assist you today?
Input: l, Output: Hello! How can I assist you today?
Input: m, Output: Hello! How can I assist you today?
Input: n, Output: Hello! How can I assist you today?
Input: o, Output: Hello! How can I assist you today?
Input: p, Output: Hello! How can I assist you today?
Input: q, Output: How can I assist you today?
Input: r, Output: How can I assist you today?
Input: s, Output: Hello! How can I assist you today?
Input: t, Output: How can I assist you today?
Input: u, Output: Hello! How can I assist you today?
Input: v, Output: Hello! How can I assist you today?
Input: w, Output: Hello! How can I assist you today?
Input: x, Output: Hello! How can I assist you today?
Input: y, Output: Hello! How can I help you today?
Input: z, Output: How can I assist you today?
Input: A, Output: Hello! How can I assist you today?
Input: B, Output: Hello! How can I assist you today?
Input: C, Output: Hello! How can I assist you today?
Input: D, Output: Hello! How can I assist you today?
Input: E, Output: Hello! How can I assist you today?
Input: F, Output: Hello! How can I assist you today?
Input: G, Output: Hello! How can I assist you today?
Input: H, Output: Hello! How can I assist you today?
Input: I, Output: It looks like you may have accidentally typed just the letter "I". How can I assist you today?
Input: J, Output: Hello! How can I assist you today?
Input: K, Output: Hello! How can I assist you today?
Input: L, Output: Hello! How can I assist you today?
Input: M, Output: How can I assist you today?
Input: N, Output: Hello! How can I assist you today?
Input: O, Output: Hello! How can I assist you today?
Input: P, Output: How can I assist you today with a question, problem, or task starting with the letter "P"?
Input: Q, Output: Hello! How can I assist you today?
Input: R, Output: Hello! How can I assist you today?
Input: S, Output: Hello! How can I assist you today?
Input: T, Output: Hello! How can I help you today?
Input: U, Output: Hello! How can I assist you today?
Input: V, Output: How can I assist you today?
Input: W, Output: Hello! How can I assist you today?
Input: X, Output: Hello! How can I assist you today?
Input: Y, Output: Hello! How can I assist you today?
Input: Z, Output: It looks like you just typed the letter "Z." Is there anything else you'd like to know or ask about? I'm here to help.
Input: 0, Output: How can I assist you today?
Input: 1, Output: How can I assist you today?
Input: 2, Output: Hello! How can I assist you today?
Input: 3, Output: Hello! How can I assist you today?
Input: 4, Output: Hello! How can I assist you today?
Input: 5, Output: How can I assist you today?
Input: 6, Output: How can I assist you with the number 6?
Input: 7, Output: Hello! How can I assist you today?
Input: 8, Output: How can I assist you with the number 8?
Input: 9, Output: How can I assist you with the number 9?
Input: !, Output: Hello! How can I help you today?
Input: ", Output: Hello! How can I assist you today?
Input: #, Output: How can I assist you today?
Input: $, Output: Hello! How can I assist you today?
Input: %, Output: Hello! How can I assist you today?
Input: &, Output: Hello! How can I assist you today?
Input: ', Output: Hello! How can I assist you today?
Input: (, Output: Hello! How can I assist you today?
Input: ), Output: Hello! How can I assist you today?
Input: *, Output: Hello! How can I assist you today?
Input: +, Output: Hello! How can I help you today?
Input: ,, Output: Hello! How can I assist you today?
Input: -, Output: Hello! How can I assist you today?
Input: ., Output: Hello! How can I assist you today?
Input: /, Output: Hello! How can I assist you today?
Input: :, Output: Hello! How can I assist you today?
Input: ;, Output: Hello! How can I assist you today?
Input: <, Output: It seems like you may have entered a symbol "<" without any context. How can I assist you today?
Input: =, Output: Hello! How can I assist you today?
Input: >, Output: How can I assist you today?
Input: ?, Output: Hello! How can I assist you today?
Input: @, Output: Hello! How can I assist you today?
Input: [, Output: Hello! How can I assist you today?
Input: \, Output: Hello! How can I assist you today?
Input: ], Output: Hello! How can I assist you today?
Input: ^, Output: Hello! How can I assist you today?
Input: _, Output: Hello! How can I assist you today?
Input: `, Output: Hello! How can I assist you today?
Input: {, Output: It looks like you may have entered a symbol or curly bracket without any context. How can I assist you today?
Input: |, Output: It looks like you have entered a vertical bar symbol "|". How can I assist you further?
Input: }, Output: Hello! How can I assist you today?
Input: ~, Output: Hello! How can I assist you today?
Input: , Output: Hello! How can I assist you today?
Input: aa, Output: Hello! How can I assist you today?
Input: ab, Output: Hello! How can I assist you today?
Input: ac, Output: It appears that you have entered "ac." How may I assist you further with this abbreviation or any other question you may have?
Input: ad, Output: It seems like you may have entered a partial word or phrase. Could you please provide more context or clarify what you need help with?
Input: ae, Output: Hello! How can I assist you today?
Input: af, Output: Hello! How can I assist you today?
Input: ag, Output: Hello! How can I help you today?
Input: ah, Output: Hello! How can I assist you today?
Input: ai, Output: Hello! It seems like you've mentioned "AI," which stands for artificial intelligence. How can I assist you with AI or any other related queries you might have?
Input: aj, Output: Hello! How can I assist you today?
Input: ak, Output: Hello! How can I assist you today?
Input: al, Output: Hello! How can I assist you today?
Input: am, Output: Hello! How can I assist you today?
Input: an, Output: Hello! How can I assist you today?
Input: ao, Output: Hello! How can I assist you today?
Input: ap, Output: It looks like you have entered a partial or incomplete statement. How can I assist you further?
Input: aq, Output: It looks like you've entered "aq." How can I assist you today?
Input: ar, Output: Hello! How can I assist you today?
Input: as, Output: Hello! How can I assist you today?
Input: at, Output: Hello! How can I assist you today?
Input: au, Output: Hello! How can I assist you today?
Input: av, Output: Hello! How can I assist you today?
Input: aw, Output: Hello! How can I assist you today?
Input: ax, Output: It seems like you provided just "ax" as input. Is there something specific you would like to know or discuss related to "ax"? Feel free to provide more context so I can assist you better.
Input: ay, Output: Hello! How can I assist you today?

[TRUNCATED: original code/output block had 998 lines and 100717 characters; showing first 120 lines. Omitted 878 lines and 93476 characters.]
See the full website source or rendered post for the complete version.
[/CODE BLOCK]


============================================================
TITLE: Thaisko 2024
SLUG: cestovani-thaisko-2024
URL: https://vojtamaur.cz/cestovani-thaisko-2024/
LANGUAGE: cs
SECTION: cestovani
DATE: 2024-03-10
SOURCE: src/content/posts/cestovani-thaisko-2024.mdx
BUILT_HTML: dist/cestovani-thaisko-2024/index.html
============================================================

Thaisko 2024
3D skeny

[INTERACTIVE EMBED]
SOURCE: https://lumalabs.ai/embed/8fbb94a4-1c1e-4a5a-8654-127d1d7aa2f6?mode=sparkles&background=%23ffffff&color=%23000000&showTitle=false&loadBg=true&logoPosition=bottom-left&infoPosition=top-left&cinematicVideo=undefined&showMenu=false
TITLE: false&loadBg=true&logoPosition=bottom-left&infoPosition=top-left&cinematicVideo=undefined&showMenu=false"
NOTE: Embedded or binary content is not represented in this plain-text export.

[INTERACTIVE EMBED]
SOURCE: https://lumalabs.ai/embed/22c2848e-37ed-49c1-99b0-cbc77483d2aa?mode=sparkles&background=%23ffffff&color=%23000000&showTitle=false&loadBg=true&logoPosition=bottom-left&infoPosition=top-left&cinematicVideo=undefined&showMenu=false
TITLE: false&loadBg=true&logoPosition=bottom-left&infoPosition=top-left&cinematicVideo=undefined&showMenu=false"
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Thaisko 2024
SLUG: cestovani-thaisko-2024
URL: https://vojtamaur.cz/en/cestovani-thaisko-2024/
LANGUAGE: en
SECTION: cestovani
DATE: 2024-03-10
SOURCE: src/content/posts/cestovani-thaisko-2024.mdx
BUILT_HTML: dist/en/cestovani-thaisko-2024/index.html
============================================================

Thailand 2024
3D scans

[INTERACTIVE EMBED]
SOURCE: https://lumalabs.ai/embed/8fbb94a4-1c1e-4a5a-8654-127d1d7aa2f6?mode=sparkles&background=%23ffffff&color=%23000000&showTitle=false&loadBg=true&logoPosition=bottom-left&infoPosition=top-left&cinematicVideo=undefined&showMenu=false
TITLE: false&loadBg=true&logoPosition=bottom-left&infoPosition=top-left&cinematicVideo=undefined&showMenu=false"
NOTE: Embedded or binary content is not represented in this plain-text export.

[INTERACTIVE EMBED]
SOURCE: https://lumalabs.ai/embed/22c2848e-37ed-49c1-99b0-cbc77483d2aa?mode=sparkles&background=%23ffffff&color=%23000000&showTitle=false&loadBg=true&logoPosition=bottom-left&infoPosition=top-left&cinematicVideo=undefined&showMenu=false
TITLE: false&loadBg=true&logoPosition=bottom-left&infoPosition=top-left&cinematicVideo=undefined&showMenu=false"
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Hranice soukromí
SLUG: hranice-soukromi
URL: https://vojtamaur.cz/hranice-soukromi/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2024-02-01
SOURCE: src/content/posts/hranice-soukromi.mdx
BUILT_HTML: dist/hranice-soukromi/index.html
============================================================

Hranice soukromí
únor 2024
Vytvořil jsem jednoduchý program, kterému lze zadat jeden nebo více adresářů. Všechny je prohledá včetně jejich podadresářů a když narazí na nějaký obrázek (obrázkem zde myslím soubor, který končí příponou .jpg, .jpeg, .png, .tif, .tiff), jeho cestu přidá do množiny všech obrázků. Po dokončení prohledávání z nich vybere pouze jeden obrázek a ten zobrazí.
Ke svému počítači jsem následně připojil všechny harddisky se zálohami fotografií, které jsem během života nasbíral (nyní obsahují přes 91 000 fotografií). Všechny harddisky jsem pak nastavil jako výchozí adresáře, ze kterých program vybírá obrázky. Z praktických důvodů bylo nezbytné zakázat výběr z některých adresářů, protože některé obsahovaly pouze data programů, jako např. jejich ikony. Po stisknutí klávesy ENTER program vybral náhodnou fotografii z mého života. Po opětovném stisknutí ENTER vybral program další fotografii, atd.…
Z náhodně vybraných obrázků jsem vytvořil několik sérií, které na sebe navazovaly. Každá série začíná náhodným výběrem obrázku a pokračuje v náhodném vybírání dalších obrázků, dokud nenarazí na nějaký, který nechci zveřejnit. Tento poslední obrázek je v sérii prezentován rozostřený. Zajímalo mě, jaké fotografie způsobí ukončení sérií a proč. Ve většině případech to pro moje překvapení ukončila obava o soukromí ostatních lidí. V jiných případech to zase ukončily fotografie pracovních dokumentů, domovy ostatních lidí a můj vlastní domov, atd..
Tímto projektem jsem zjistil, jak moc jsou hranice mého soukromí mlžné, pokud vůbec nějaké jsou. V určitém momentu jsem se ale musel rozhodnout, zda fotografii zveřejnit či nikoliv. Tato volba byla ale většinou dost složitá a nejednoznačná.
série 1:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-1.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-1.jpg]
série 2:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-2.jpg
ALT: sklenice vody [/images/hranice-soukromi-obr-2.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-3.jpg
ALT: text k výstavě [/images/hranice-soukromi-obr-3.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-4.jpg
ALT: termofotka cesty [/images/hranice-soukromi-obr-4.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-5.jpg
ALT: cesta vlakem [/images/hranice-soukromi-obr-5.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-6.jpg
ALT: šmouha na skle [/images/hranice-soukromi-obr-6.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-7.jpg
ALT: fotka obrazovky s CMD [/images/hranice-soukromi-obr-7.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-8.jpg
ALT: studentská výstava [/images/hranice-soukromi-obr-8.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-9.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-9.jpg]
série 3:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-10.jpg
ALT: kód na SMS jízdné [/images/hranice-soukromi-obr-10.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-11.jpg
ALT: skákající Masajové v Keni [/images/hranice-soukromi-obr-11.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-12.jpg
ALT: larva pod mikroskopem [/images/hranice-soukromi-obr-12.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-13.jpg
ALT: termofotka auta [/images/hranice-soukromi-obr-13.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-14.jpg
ALT: sochy robotů na výstavě [/images/hranice-soukromi-obr-14.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-15.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-15.jpg]
série 4:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-16.jpg
ALT: polarizovaná struktura pod mikroskopem [/images/hranice-soukromi-obr-16.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-17.jpg
ALT: Vojta Maur natáčí výstavu [/images/hranice-soukromi-obr-17.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-18.jpg
ALT: výstava Milana Maura [/images/hranice-soukromi-obr-18.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-19.jpg
ALT: leguán na Galapágách [/images/hranice-soukromi-obr-19.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-20.jpg
ALT: mléčné sklo [/images/hranice-soukromi-obr-20.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-21.jpg
ALT: buňka pod mikroskopem [/images/hranice-soukromi-obr-21.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-22.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-22.jpg]
série 5:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-23.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-23.jpg]
série 6:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-24.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-24.jpg]
série 7:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-25.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-25.jpg]
série 8:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-26.jpg
ALT: obraz na výstavě [/images/hranice-soukromi-obr-26.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-27.jpg
ALT: Vojta Maur na festivalu světla [/images/hranice-soukromi-obr-27.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-28.jpg
ALT: budovy v Mexiku [/images/hranice-soukromi-obr-28.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-29.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-29.jpg]
série 9:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-30.jpg
ALT: korýši [/images/hranice-soukromi-obr-30.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-31.jpg
ALT: racci [/images/hranice-soukromi-obr-31.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-32.jpg
ALT: termofotka [/images/hranice-soukromi-obr-32.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-33.jpg
ALT: Vojta Maur na lodi [/images/hranice-soukromi-obr-33.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-34.jpg
ALT: kostky cukru [/images/hranice-soukromi-obr-34.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-35.jpg
ALT: výstava Milana Maura [/images/hranice-soukromi-obr-35.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-36.jpg
ALT: pelikáni v zoo [/images/hranice-soukromi-obr-36.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-37.jpg
ALT: blesk na Moravě [/images/hranice-soukromi-obr-37.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-38.jpg
ALT: Lukáš Plescher [/images/hranice-soukromi-obr-38.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-39.jpg
ALT: termofotka mraků [/images/hranice-soukromi-obr-39.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-40.jpg
ALT: Vojta Maur s motorovou pilou [/images/hranice-soukromi-obr-40.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-41.jpg
ALT: zapalovač s nápisem BURN SYSTEM [/images/hranice-soukromi-obr-41.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-42.jpg
ALT: zatopený lom [/images/hranice-soukromi-obr-42.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-43.jpg
ALT: les [/images/hranice-soukromi-obr-43.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-44.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-44.jpg]
série 10:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-45.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-45.jpg]
Zdrojový kód
Zdrojový Python kód pro tento projekt je dostupný zde:

[CODE BLOCK]
import os
import random
from pathlib import Path

def open_random_image(folder_paths, excluded_paths):
    # Převod cest na absolutní cesty
    folder_paths = [Path(folder).resolve() for folder in folder_paths]
    excluded_paths = [Path(excluded).resolve() for excluded in excluded_paths]

    # Seznam podporovaných přípon souborů
    supported_extensions = ['.png', '.jpg', '.jpeg', 'tif', 'tiff']

    # Seznam pro ukládání cest k obrázkům
    images = []

    # Prochází všechny zadané adresáře
    for folder_path in folder_paths:
        # Prochází soubory v adresáři a jeho podsložkách
        for path in folder_path.rglob('*'):
            # Přidává cesty k obrázkům, pokud mají podporovanou příponu
            if path.suffix.lower() in supported_extensions:
                images.append(path)

    while True:
        if not images:
            print("V zadaných adresářích nebyly nalezeny žádné obrázky.")
            return

        # Náhodný výběr souboru
        image_path = random.choice(images)

        # Kontroluje, zda vybraná cesta neleží v některém z vyloučených adresářů
        if any(image_path.is_relative_to(excluded) for excluded in excluded_paths):
            continue  # Pokud je cesta vyloučená, vybere jiný obrázek

        print(f"Otevírám obrázek: {image_path}")
        os.startfile(image_path)
        return

# Seznam cest k adresářům
folder_paths = [
    r"D:\\02_záloha dat",
    r"G:",
    r"K:"
    #r"C:"
]

# Seznam cest k vyloučení
excluded_paths = [
    r"K:\\WEB",
]

while True:  # Nekonečná smyčka
    open_random_image(folder_paths, excluded_paths)
    input("Stiskni ENTER pro opětovné spuštění nebo Ctrl+C pro ukončení programu...")
[/CODE BLOCK]


============================================================
TITLE: Hranice soukromí
SLUG: hranice-soukromi
URL: https://vojtamaur.cz/en/hranice-soukromi/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2024-02-01
SOURCE: src/content/posts/hranice-soukromi.mdx
BUILT_HTML: dist/en/hranice-soukromi/index.html
============================================================

The Boundaries of Privacy
February 2024
I created a simple program that can be given one or more directories. It searches through all of them, including their subdirectories, and when it finds an image (by “image” I mean a file with the extension .jpg, .jpeg, .png, .tif, or .tiff), it adds its path to the set of all images. Once the scan is complete, it selects only one image from them and displays it.
I then connected all the hard drives containing backups of the photos I’ve collected over the years to my computer (they now contain over 91,000 photos). I then set all the hard drives as the default directories from which the program selects images. For practical reasons, it was necessary to exclude certain directories from the selection, as some contained only program data, such as program icons. When I pressed the ENTER key, the program selected a random photograph from my life. When I pressed ENTER again, the program selected another photograph, and so on…
From the randomly selected images, I created several series that built on one another. Each series begins with a random image selection and continues selecting images at random until it encounters one I don’t want to publish. This last image in the series is displayed out of focus. I was curious to see which photos would cause a series to end and why. To my surprise, in most cases, it was concern for other people’s privacy that brought the series to a close. In other cases, it was photos of work documents, other people’s homes, and my own home, etc.
Through this project, I discovered just how blurred the boundaries of my privacy are—if there are any at all. At a certain point, however, I had to decide whether to publish a photograph or not. This choice, however, was usually quite complex and ambiguous.
Series 1:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-1.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-1.jpg]
Series 2:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-2.jpg
ALT: sklenice vody [/images/hranice-soukromi-obr-2.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-3.jpg
ALT: text k výstavě [/images/hranice-soukromi-obr-3.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-4.jpg
ALT: termofotka cesty [/images/hranice-soukromi-obr-4.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-5.jpg
ALT: cesta vlakem [/images/hranice-soukromi-obr-5.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-6.jpg
ALT: šmouha na skle [/images/hranice-soukromi-obr-6.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-7.jpg
ALT: fotka obrazovky s CMD [/images/hranice-soukromi-obr-7.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-8.jpg
ALT: studentská výstava [/images/hranice-soukromi-obr-8.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-9.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-9.jpg]
Series 3:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-10.jpg
ALT: kód na SMS jízdné [/images/hranice-soukromi-obr-10.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-11.jpg
ALT: skákající Masajové v Keni [/images/hranice-soukromi-obr-11.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-12.jpg
ALT: larva pod mikroskopem [/images/hranice-soukromi-obr-12.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-13.jpg
ALT: termofotka auta [/images/hranice-soukromi-obr-13.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-14.jpg
ALT: sochy robotů na výstavě [/images/hranice-soukromi-obr-14.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-15.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-15.jpg]
Series 4:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-16.jpg
ALT: polarizovaná struktura pod mikroskopem [/images/hranice-soukromi-obr-16.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-17.jpg
ALT: Vojta Maur natáčí výstavu [/images/hranice-soukromi-obr-17.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-18.jpg
ALT: výstava Milana Maura [/images/hranice-soukromi-obr-18.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-19.jpg
ALT: leguán na Galapágách [/images/hranice-soukromi-obr-19.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-20.jpg
ALT: mléčné sklo [/images/hranice-soukromi-obr-20.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-21.jpg
ALT: buňka pod mikroskopem [/images/hranice-soukromi-obr-21.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-22.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-22.jpg]
Series 5:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-23.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-23.jpg]
Series 6:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-24.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-24.jpg]
Series 7:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-25.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-25.jpg]
Series 8:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-26.jpg
ALT: obraz na výstavě [/images/hranice-soukromi-obr-26.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-27.jpg
ALT: Vojta Maur na festivalu světla [/images/hranice-soukromi-obr-27.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-28.jpg
ALT: budovy v Mexiku [/images/hranice-soukromi-obr-28.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-29.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-29.jpg]
Series 9:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-30.jpg
ALT: korýši [/images/hranice-soukromi-obr-30.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-31.jpg
ALT: racci [/images/hranice-soukromi-obr-31.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-32.jpg
ALT: termofotka [/images/hranice-soukromi-obr-32.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-33.jpg
ALT: Vojta Maur na lodi [/images/hranice-soukromi-obr-33.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-34.jpg
ALT: kostky cukru [/images/hranice-soukromi-obr-34.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-35.jpg
ALT: výstava Milana Maura [/images/hranice-soukromi-obr-35.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-36.jpg
ALT: pelikáni v zoo [/images/hranice-soukromi-obr-36.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-37.jpg
ALT: blesk na Moravě [/images/hranice-soukromi-obr-37.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-38.jpg
ALT: Lukáš Plescher [/images/hranice-soukromi-obr-38.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-39.jpg
ALT: termofotka mraků [/images/hranice-soukromi-obr-39.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-40.jpg
ALT: Vojta Maur s motorovou pilou [/images/hranice-soukromi-obr-40.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-41.jpg
ALT: zapalovač s nápisem BURN SYSTEM [/images/hranice-soukromi-obr-41.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-42.jpg
ALT: zatopený lom [/images/hranice-soukromi-obr-42.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-43.jpg
ALT: les [/images/hranice-soukromi-obr-43.jpg]
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-44.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-44.jpg]
Series 10:
[MEDIA: image]
FILE: /images/hranice-soukromi-obr-45.jpg
ALT: cenzurovaný obrázek [/images/hranice-soukromi-obr-45.jpg]
Source Code
The Python source code for this project is available here:

[CODE BLOCK]
import os
import random
from pathlib import Path

def open_random_image(folder_paths, excluded_paths):
    # Převod cest na absolutní cesty
    folder_paths = [Path(folder).resolve() for folder in folder_paths]
    excluded_paths = [Path(excluded).resolve() for excluded in excluded_paths]

    # Seznam podporovaných přípon souborů
    supported_extensions = ['.png', '.jpg', '.jpeg', 'tif', 'tiff']

    # Seznam pro ukládání cest k obrázkům
    images = []

    # Prochází všechny zadané adresáře
    for folder_path in folder_paths:
        # Prochází soubory v adresáři a jeho podsložkách
        for path in folder_path.rglob('*'):
            # Přidává cesty k obrázkům, pokud mají podporovanou příponu
            if path.suffix.lower() in supported_extensions:
                images.append(path)

    while True:
        if not images:
            print("V zadaných adresářích nebyly nalezeny žádné obrázky.")
            return

        # Náhodný výběr souboru
        image_path = random.choice(images)

        # Kontroluje, zda vybraná cesta neleží v některém z vyloučených adresářů
        if any(image_path.is_relative_to(excluded) for excluded in excluded_paths):
            continue  # Pokud je cesta vyloučená, vybere jiný obrázek

        print(f"Otevírám obrázek: {image_path}")
        os.startfile(image_path)
        return

# Seznam cest k adresářům
folder_paths = [
    r"D:\\02_záloha dat",
    r"G:",
    r"K:"
    #r"C:"
]

# Seznam cest k vyloučení
excluded_paths = [
    r"K:\\WEB",
]

while True:  # Nekonečná smyčka
    open_random_image(folder_paths, excluded_paths)
    input("Stiskni ENTER pro opětovné spuštění nebo Ctrl+C pro ukončení programu...")
[/CODE BLOCK]


============================================================
TITLE: Vlnové funkce
SLUG: vlnove-funkce
URL: https://vojtamaur.cz/vlnove-funkce/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2024-01-01
SOURCE: src/content/posts/vlnove-funkce.mdx
BUILT_HTML: dist/vlnove-funkce/index.html
============================================================

Vlnové funkce
leden 2024
Tento projekt je demonstrací toho, jak lze simulovat šíření a interference vln a jejich interakce s prostředím, pomocí matematických modelů a počítačové simulace. Použití náhodných hodnot pro pozici zdrojů vlnění, jejich frekvenci a amplitudu, spolu s implementací klesající amplitudy s rostoucí vzdáleností od zdroje a odrážení vln od okrajů čtverce a jejich vzájemná interference, vytváří vizuálně zajímavé vzory, které ilustrují složitost vlnových interakcí v omezeném prostoru. Výsledky jsou vizualizovány pomocí černobílé barevné škály, která reprezentuje intenzitu vlnění v různých bodech čtvercového prostoru.
Simulace s 1 zdrojem vlnění:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-1.jpg [/images/vlnove-funkce-obr-1.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-2.jpg [/images/vlnove-funkce-obr-2.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-3.jpg [/images/vlnove-funkce-obr-3.jpg]
Simulace s 2 zdroji vlnění:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-4.jpg [/images/vlnove-funkce-obr-4.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-5.jpg [/images/vlnove-funkce-obr-5.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-6.jpg [/images/vlnove-funkce-obr-6.jpg]
Simulace s 3 zdroji vlnění:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-7.jpg [/images/vlnove-funkce-obr-7.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-8.jpg [/images/vlnove-funkce-obr-8.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-9.jpg [/images/vlnove-funkce-obr-9.jpg]
Simulace s 5 zdroji vlnění:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-10.jpg [/images/vlnove-funkce-obr-10.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-11.jpg [/images/vlnove-funkce-obr-11.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-12.jpg [/images/vlnove-funkce-obr-12.jpg]
Simulace s 10 zdroji vlnění:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-13.jpg [/images/vlnove-funkce-obr-13.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-14.jpg [/images/vlnove-funkce-obr-14.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-15.jpg [/images/vlnove-funkce-obr-15.jpg]
Simulace s 50 zdroji vlnění:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-16.jpg [/images/vlnove-funkce-obr-16.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-17.jpg [/images/vlnove-funkce-obr-17.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-18.jpg [/images/vlnove-funkce-obr-18.jpg]
Simulace s 100 zdroji vlnění:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-19.jpg [/images/vlnove-funkce-obr-19.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-20.jpg [/images/vlnove-funkce-obr-20.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-21.jpg [/images/vlnove-funkce-obr-21.jpg]
Simulace s 500 zdroji vlnění:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-22.jpg [/images/vlnove-funkce-obr-22.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-23.jpg [/images/vlnove-funkce-obr-23.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-24.jpg [/images/vlnove-funkce-obr-24.jpg]
Zdrojový kód
Zdrojový Python kód pro tento projekt je dostupný zde:

[CODE BLOCK]
import numpy as np
import matplotlib.pyplot as plt
import os
import re

# Počet obrázků k vytvoření
num_images = 1

# Nastavení rozsahů pro náhodné hodnoty
frequency_range = (1, 50)  # Rozsah frekvencí vln
amplitude_range = (0.1, 1)  # Rozsah amplitud vln

# Počet zdrojů
number_of_sources = 3

# Velikost prostoru pro simulaci a rozlišení mřížky
space_size = 5
grid_resolution = 1000

for i in range(num_images):
    # Inicializace pole pro simulaci
    Z = np.zeros((grid_resolution, grid_resolution))

    # Vytvoření mřížky pro simulaci
    x = np.linspace(-space_size, space_size, grid_resolution)
    y = np.linspace(-space_size, space_size, grid_resolution)
    X, Y = np.meshgrid(x, y)

    # Generování náhodných zdrojů
    for _ in range(number_of_sources):
        source_position = np.random.uniform(-space_size, space_size, 2)
        frequency = np.random.uniform(*frequency_range)
        amplitude = np.random.uniform(*amplitude_range)

        # Výpočet vzdálenosti od zdroje a přidání vlny do simulace
        R = np.sqrt((X - source_position[0])**2 + (Y - source_position[1])**2)
        Z += amplitude * np.sin(frequency * R) / (R + 1)  # Přidání útlumu amplitudy

        # Odrážení vln od stěn
        for wall in [-space_size, space_size]:
            R_vertical = np.sqrt((X - 2*wall + source_position[0])**2 + (Y - source_position[1])**2)
            R_horizontal = np.sqrt((X - source_position[0])**2 + (Y - 2*wall + source_position[1])**2)
            Z += amplitude * np.sin(frequency * R_vertical) / (R_vertical + 1)
            Z += amplitude * np.sin(frequency * R_horizontal) / (R_horizontal + 1)

    # Vykreslení výsledku
    plt.figure(figsize=(10, 10))
    plt.imshow(Z, cmap='gray', extent=[-space_size, space_size, -space_size, space_size])
    plt.axis('off')
    
    # Před uložením obrázku použijte tight_layout pro optimalizaci rozložení
    #plt.tight_layout()

    # Uložení obrázku
    pattern = r"wave_interference_pattern_(\d+).png"
    existing_files = [f for f in os.listdir('.') if re.match(pattern, f)]
    if existing_files:
        numbers = [int(re.search(pattern, f).group(1)) for f in existing_files]
        max_number = max(numbers)
    else:
        max_number = 0
    file_name = f"wave_interference_pattern_{max_number + 1:05d}.png"
    plt.savefig(file_name, bbox_inches='tight', pad_inches=0, transparent=False, dpi=(grid_resolution*1.3)//10)
    plt.close()  # Zavření obrázku po uložení
[/CODE BLOCK]


============================================================
TITLE: Vlnové funkce
SLUG: vlnove-funkce
URL: https://vojtamaur.cz/en/vlnove-funkce/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2024-01-01
SOURCE: src/content/posts/vlnove-funkce.mdx
BUILT_HTML: dist/en/vlnove-funkce/index.html
============================================================

Wave Functions
January 2024
This project demonstrates how the propagation and interference of waves, as well as their interaction with the environment, can be simulated using mathematical models and computer simulations. The use of random values for the position of wave sources, their frequency, and amplitude, along with the implementation of decreasing amplitude with increasing distance from the source, wave reflection from the edges of the square, and their mutual interference, creates visually interesting patterns that illustrate the complexity of wave interactions in a confined space. The results are visualized using a black-and-white color scale that represents the intensity of the waves at various points within the square space.
Simulation with 1 wave source:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-1.jpg [/images/vlnove-funkce-obr-1.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-2.jpg [/images/vlnove-funkce-obr-2.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-3.jpg [/images/vlnove-funkce-obr-3.jpg]
Simulation with 2 wave sources:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-4.jpg [/images/vlnove-funkce-obr-4.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-5.jpg [/images/vlnove-funkce-obr-5.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-6.jpg [/images/vlnove-funkce-obr-6.jpg]
Simulation with 3 wave sources:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-7.jpg [/images/vlnove-funkce-obr-7.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-8.jpg [/images/vlnove-funkce-obr-8.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-9.jpg [/images/vlnove-funkce-obr-9.jpg]
Simulation with 5 wave sources:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-10.jpg [/images/vlnove-funkce-obr-10.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-11.jpg [/images/vlnove-funkce-obr-11.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-12.jpg [/images/vlnove-funkce-obr-12.jpg]
Simulation with 10 wave sources:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-13.jpg [/images/vlnove-funkce-obr-13.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-14.jpg [/images/vlnove-funkce-obr-14.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-15.jpg [/images/vlnove-funkce-obr-15.jpg]
Simulation with 50 wave sources:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-16.jpg [/images/vlnove-funkce-obr-16.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-17.jpg [/images/vlnove-funkce-obr-17.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-18.jpg [/images/vlnove-funkce-obr-18.jpg]
Simulation with 100 wave sources:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-19.jpg [/images/vlnove-funkce-obr-19.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-20.jpg [/images/vlnove-funkce-obr-20.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-21.jpg [/images/vlnove-funkce-obr-21.jpg]
Simulation with 500 wave sources:
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-22.jpg [/images/vlnove-funkce-obr-22.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-23.jpg [/images/vlnove-funkce-obr-23.jpg]
[MEDIA: image]
FILE: /images/vlnove-funkce-obr-24.jpg [/images/vlnove-funkce-obr-24.jpg]
Source code
The Python source code for this project is available here:

[CODE BLOCK]
import numpy as np
import matplotlib.pyplot as plt
import os
import re

# Počet obrázků k vytvoření
num_images = 1

# Nastavení rozsahů pro náhodné hodnoty
frequency_range = (1, 50)  # Rozsah frekvencí vln
amplitude_range = (0.1, 1)  # Rozsah amplitud vln

# Počet zdrojů
number_of_sources = 3

# Velikost prostoru pro simulaci a rozlišení mřížky
space_size = 5
grid_resolution = 1000

for i in range(num_images):
    # Inicializace pole pro simulaci
    Z = np.zeros((grid_resolution, grid_resolution))

    # Vytvoření mřížky pro simulaci
    x = np.linspace(-space_size, space_size, grid_resolution)
    y = np.linspace(-space_size, space_size, grid_resolution)
    X, Y = np.meshgrid(x, y)

    # Generování náhodných zdrojů
    for _ in range(number_of_sources):
        source_position = np.random.uniform(-space_size, space_size, 2)
        frequency = np.random.uniform(*frequency_range)
        amplitude = np.random.uniform(*amplitude_range)

        # Výpočet vzdálenosti od zdroje a přidání vlny do simulace
        R = np.sqrt((X - source_position[0])**2 + (Y - source_position[1])**2)
        Z += amplitude * np.sin(frequency * R) / (R + 1)  # Přidání útlumu amplitudy

        # Odrážení vln od stěn
        for wall in [-space_size, space_size]:
            R_vertical = np.sqrt((X - 2*wall + source_position[0])**2 + (Y - source_position[1])**2)
            R_horizontal = np.sqrt((X - source_position[0])**2 + (Y - 2*wall + source_position[1])**2)
            Z += amplitude * np.sin(frequency * R_vertical) / (R_vertical + 1)
            Z += amplitude * np.sin(frequency * R_horizontal) / (R_horizontal + 1)

    # Vykreslení výsledku
    plt.figure(figsize=(10, 10))
    plt.imshow(Z, cmap='gray', extent=[-space_size, space_size, -space_size, space_size])
    plt.axis('off')
    
    # Před uložením obrázku použijte tight_layout pro optimalizaci rozložení
    #plt.tight_layout()

    # Uložení obrázku
    pattern = r"wave_interference_pattern_(\d+).png"
    existing_files = [f for f in os.listdir('.') if re.match(pattern, f)]
    if existing_files:
        numbers = [int(re.search(pattern, f).group(1)) for f in existing_files]
        max_number = max(numbers)
    else:
        max_number = 0
    file_name = f"wave_interference_pattern_{max_number + 1:05d}.png"
    plt.savefig(file_name, bbox_inches='tight', pad_inches=0, transparent=False, dpi=(grid_resolution*1.3)//10)
    plt.close()  # Zavření obrázku po uložení
[/CODE BLOCK]


============================================================
TITLE: Recamánova struktura
SLUG: vystavy-recamanova-struktura
URL: https://vojtamaur.cz/vystavy-recamanova-struktura/
LANGUAGE: cs
SECTION: vystavy
DATE: 2023-12-14
SOURCE: src/content/posts/vystavy-recamanova-struktura.mdx
BUILT_HTML: dist/vystavy-recamanova-struktura/index.html
============================================================

Recamánova struktura
14. 9. 2023 - 31. 12. 2023, Jindřichův Hradec
Muzeum fotografie a moderních obrazových médií: Obrazy nad čísly

[INTERACTIVE EMBED]
SOURCE: /demos/recamanova-struktura/recamanova-struktura.html
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-2.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-3.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-4.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-5.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-6.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-7.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-8.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-1.jpg

Informace o výstavě na stránkách Muzea fotografie a moderních obrazových médií:
https://www.mfmom.cz/vystavy/obrazy-nad-cisly-i306.html
Článek z webu JcTEĎ.cz:
https://www.jcted.cz/76523-muzeum-fotografie-v-jindrichove-hradci-otevrelo-vystavu-pocitacovych-grafik/
Vysvětlení Recamánovo struktury (projekt z roku 2020):
https://vojtamaur.cz/recamanova-posloupnost-zelvi-grafice/


============================================================
TITLE: Recamánova struktura
SLUG: vystavy-recamanova-struktura
URL: https://vojtamaur.cz/en/vystavy-recamanova-struktura/
LANGUAGE: en
SECTION: vystavy
DATE: 2023-12-14
SOURCE: src/content/posts/vystavy-recamanova-struktura.mdx
BUILT_HTML: dist/en/vystavy-recamanova-struktura/index.html
============================================================

Recamán’s Structure
September 14, 2023 – December 31, 2023, Jindřichův Hradec
Museum of Photography and Modern Visual Media: Images Beyond Numbers

[INTERACTIVE EMBED]
SOURCE: /demos/recamanova-struktura/recamanova-struktura.html
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-2.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-3.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-4.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-5.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-6.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-7.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-8.jpg

[MEDIA: image]
FILE: /images/vystavy-recamanova-struktura-obr-1.jpg

Exhibition information on the Museum of Photography and Modern Visual Media website:
https://www.mfmom.cz/vystavy/obrazy-nad-cisly-i306.html
Article from the JcTEĎ.cz website:
https://www.jcted.cz/76523-muzeum-fotografie-v-jindrichove-hradci-otevrelo-vystavu-pocitacovych-grafik/
Explanation of Recamán’s structure (2020 project):
https://vojtamaur.cz/recamanova-posloupnost-zelvi-grafice/


============================================================
TITLE: Trajektorie kurzoru
SLUG: trajektorie-kurzoru
URL: https://vojtamaur.cz/trajektorie-kurzoru/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2023-08-01
SOURCE: src/content/posts/trajektorie-kurzoru.mdx
BUILT_HTML: dist/trajektorie-kurzoru/index.html
============================================================

Trajektorie kurzoru
srpen 2023
Může se zdát, že každodenní interakce s počítačovou myší je běžnou a nijak zvlášť pozoruhodnou činností. Ale co kdyby bylo možné tyto rutinní pohyby přetvořit na něco více, něco, co vytváří jedinečnou vizuální reprezentaci práce na počítači? Díky kódu, který snímá pozici kurzoru myši a barvu pixelu pod ním, se tato myšlenka může stát skutečností.
Jak to funguje?
Tento kód sleduje, kde se nachází kurzor myši na obrazovce a jakou barvu má pixel pod ním. Tyto informace jsou poté v reálném čase přenášeny na virtuální plátno s rozlišením shodným s rozlišením obrazovky. Kdykoli se myší pohybuje, kód vykreslí pixel s barvou, která byla právě pod kurzorem, na pozici, kde se kurzor nacházel. To znamená, že jak se na obrazovce pracuje a pohybuje, na plátně se vytvářejí barevné trajektorie. Tyto trajektorie jsou jedinečné a reprezentují práci a interakci uživatele s počítačem.
Co se stane po delší době?
Pokud tento proces běží dostatečně dlouho, začne se plátno vyplňovat a trajektorie se stávají méně patrné. Místo nich většina plátna začne vypadat jako pseudonáhodný šum. Nicméně, existují určité oblasti obrazovky, které se v průběhu času příliš nemění. Může to být například dolní lišta systému Windows, kde se nacházejí ikony softwarů. Tyto oblasti na plátně zůstávají víceméně stále stejné.

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-1.png

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-2.png

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-3.png

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-4.png

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-5.png

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-6.png

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-7.png

Závěr
Tento kód představuje spojení technologie a umění, které umožňuje převést každodenní interakci s počítačem na něco vizuálně poutavého. Přestože se na první pohled může zdát, že práce s počítačem je rutinní a monotónní, tento projekt ukazuje, že i taková činnost může mít svou vlastní krásu a rytmus.
Zdrojový kód
Zdrojový Python kód pro tento projekt je dostupný zde:

[CODE BLOCK]
 import pygame
import pyautogui
import sys
import time

# Inicializace Pygame
pygame.init()

# Získání rozměrů obrazovky
screen_info = pygame.display.Info()
screen_width = screen_info.current_w
screen_height = screen_info.current_h

# Vytvoření okna o rozměrech shodných s rozměry obrazovky
screen = pygame.display.set_mode((screen_width, screen_height))

# Hlavní smyčka programu
running = True
start_time = time.time()
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:  # Když stisknete klávesu ESC, okno se zavře
                running = False

    # Získání souřadnic kurzoru pomocí PyAutoGUI
    x, y = pyautogui.position()

    # Získání barvy pixelu pod kurzorem
    if 0 <= x < screen_width and 0 <= y < screen_height:  # Zkontrolujte, zda jsou souřadnice v rámci obrazovky
        try:
            r, g, b = pyautogui.pixel(x, y)
            # Nabarvení pixelu na plátně touto barvou
            screen.set_at((x, y), (r, g, b))
        except:
            pass

    # Aktualizace zobrazení
    pygame.display.flip()

    # Uložení záložního obrázku každé 3 minuty
    if time.time() - start_time >= 180:  # 180 sekund = 3 minuty
        pygame.image.save(screen, "output_backup.png")
        start_time = time.time()

# Uložení obrázku
pygame.image.save(screen, "output.png")

# Ukončení Pygame
pygame.quit()
sys.exit()
[/CODE BLOCK]


============================================================
TITLE: Trajektorie kurzoru
SLUG: trajektorie-kurzoru
URL: https://vojtamaur.cz/en/trajektorie-kurzoru/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2023-08-01
SOURCE: src/content/posts/trajektorie-kurzoru.mdx
BUILT_HTML: dist/en/trajektorie-kurzoru/index.html
============================================================

Cursor Trajectory
August 2023
It may seem that our daily interactions with a computer mouse are routine and not particularly noteworthy. But what if it were possible to transform these routine movements into something more—something that creates a unique visual representation of computer work? Thanks to code that tracks the mouse cursor’s position and the color of the pixel beneath it, this idea can become a reality.
How does it work?
This code tracks where the mouse cursor is on the screen and the color of the pixel beneath it. This information is then transferred in real time to a virtual canvas with the same resolution as the screen. Whenever the mouse moves, the code renders a pixel with the color that was directly beneath the cursor at the position where the cursor was located. This means that as you work and move around on the screen, colorful trajectories are created on the canvas. These trajectories are unique and represent the user’s work and interaction with the computer.
What happens over time?
If this process runs long enough, the canvas begins to fill up and the trajectories become less noticeable. Instead, most of the canvas begins to look like pseudo-random noise. However, there are certain areas of the screen that do not change much over time. This could be, for example, the Windows taskbar, where software icons are located. These areas on the canvas remain more or less the same.

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-1.png

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-2.png

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-3.png

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-4.png

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-5.png

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-6.png

[MEDIA: image]
FILE: /images/trajektorie-kurzoru-obr-7.png

Conclusion
This code represents a fusion of technology and art that transforms everyday interactions with a computer into something visually captivating. Although working on a computer may seem routine and monotonous at first glance, this project shows that even such an activity can have its own beauty and rhythm.
Source Code
The Python source code for this project is available here:

[CODE BLOCK]
 import pygame
import pyautogui
import sys
import time

# Inicializace Pygame
pygame.init()

# Získání rozměrů obrazovky
screen_info = pygame.display.Info()
screen_width = screen_info.current_w
screen_height = screen_info.current_h

# Vytvoření okna o rozměrech shodných s rozměry obrazovky
screen = pygame.display.set_mode((screen_width, screen_height))

# Hlavní smyčka programu
running = True
start_time = time.time()
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:  # Když stisknete klávesu ESC, okno se zavře
                running = False

    # Získání souřadnic kurzoru pomocí PyAutoGUI
    x, y = pyautogui.position()

    # Získání barvy pixelu pod kurzorem
    if 0 <= x < screen_width and 0 <= y < screen_height:  # Zkontrolujte, zda jsou souřadnice v rámci obrazovky
        try:
            r, g, b = pyautogui.pixel(x, y)
            # Nabarvení pixelu na plátně touto barvou
            screen.set_at((x, y), (r, g, b))
        except:
            pass

    # Aktualizace zobrazení
    pygame.display.flip()

    # Uložení záložního obrázku každé 3 minuty
    if time.time() - start_time >= 180:  # 180 sekund = 3 minuty
        pygame.image.save(screen, "output_backup.png")
        start_time = time.time()

# Uložení obrázku
pygame.image.save(screen, "output.png")

# Ukončení Pygame
pygame.quit()
sys.exit()
[/CODE BLOCK]


============================================================
TITLE: Záznamy rostlin
SLUG: zaznamy-rostlin
URL: https://vojtamaur.cz/zaznamy-rostlin/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2023-06-01
SOURCE: src/content/posts/zaznamy-rostlin.mdx
BUILT_HTML: dist/zaznamy-rostlin/index.html
============================================================

Záznamy rostlin
červen 2023
Úvod
V tomto článku se podíváme na projekt, který spojuje svět rostlin, elektroniky, programování a vizuálního umění. Projekt využívá Arduino a Python k vytváření vizualizací prožitků ze života rostlin.

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-1.png
ALT: arduino schéma zapojení

Jak to funguje?
Arduino je vybaveno třemi senzory – teploměrem, fotorezistorem a vlhkoměrem. Tyto senzory jsou umístěny v květináči s různými druhy rostlin (např. patizony, hrášek, slunečnice, lilky, řeřicha, papriky atd.). Senzory průběžně sbírají data o teplotě, intenzitě světla a vlhkosti půdy.
Program pak vytváří prázdné plátno o rozměrech 100×100 pixelů. Každý pixel na tomto plátně je obarven podle dat získaných ze senzorů. RGB hodnota barvy pixelu je určena tak, že hodnota R (červená) odpovídá teplotě, G (zelená) světlu a B (modrá) vlhkosti.
Vizualizace jednoho dne
Nejprve se podíváme na jednoduchou verzi projektu, kde jeden obraz reprezentuje jeden den života rostlin. Program začíná obarvováním prvního pixelu v levém horním rohu a postupně obarvuje každý pixel podle aktuálních hodnot získaných ze senzorů. Po obarvení pixelu program chvíli počká, než přejde na další pixel. Když se dostane na konec řádku, přesune se na začátek dalšího řádku a pokračuje v obarvování. Tento proces pokračuje, dokud nejsou všechny pixely na plátně obarveny.
Záznam slunečnice:
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-2.jpg [/images/zaznamy-rostlin-obr-2.jpg]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-3.png [/images/zaznamy-rostlin-obr-3.png]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-4.png [/images/zaznamy-rostlin-obr-4.png]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-5.png [/images/zaznamy-rostlin-obr-5.png]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-6.png [/images/zaznamy-rostlin-obr-6.png]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-7.png [/images/zaznamy-rostlin-obr-7.png]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-8.png [/images/zaznamy-rostlin-obr-8.png]

[MEDIA: image]

[MEDIA: image]

Skládání výstupů
Po vizualizaci jednoho dne můžeme tento proces rozšířit a vytvořit sérii obrazů, které reprezentují delší časové období.
Jednotlivé čtvercové výstupy lze skládat pod sebe, čímž vznikají složené obrazy. Jelikož se po dokončení jednoho výstupu hned začne generovat další, nedojde k přerušení z hlediska plynutí času. Tímto způsobem můžeme vytvořit obrazy s rozlišením například 100x500 pixelů, pokud jsou složené z pěti výstupů.
Záznam slunečnice:

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-9.jpg

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-10.png

Záznam patizonu:

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-11.jpg

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-12.png

Prodloužení prodlevy mezi měřeními
Prodlevu mezi měřením jednotlivých pixelů lze prodloužit. Tímto způsobem může jeden čtvercový formát 100×100 pixelů reprezentovat nejen jeden den, ale mnoho dní. Tento princip nám umožňuje sledovat vývoj rostliny v delším časovém období na jednom obrazu.
Záznam slunečnice:
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-13.jpg [/images/zaznamy-rostlin-obr-13.jpg]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-14.png [/images/zaznamy-rostlin-obr-14.png]

[MEDIA: image]

Kombinace principů
Kombinací obou principů můžeme vytvořit sérii obrazů, kde každý obraz reprezentuje několik dní a celá série pak pokrývá mnoho dní nebo dokonce týdnů. Tímto způsobem můžeme sledovat a vizualizovat dlouhodobý vývoj rostliny.
Záznam slunečnice:

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-15.jpg

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-16.png

Záznam slunečnice:

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-17.jpg

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-18.png

Interpretace výsledků
Výsledné obrazy nám poskytují jedinečný pohled na život rostlin. Modré “čáry” na obraze reprezentují noci, protože bylo většinou vlhko, ale ne příliš teplo a také nesvítilo žádné světlo. Naopak, žluté “čáry” jsou způsobeny tím, že ke konci dne začalo na rostlinu svítit přímé slunce, což způsobilo zvýšení teploty a intenzity světla. To se projevilo na obraze jako zvýšení hodnot červeného a zeleného kanálu, které v součtu vytváří žlutou barvu. Občas jsou na začátku noci vidět slabé čárky, jelikož jsem občas večer rozsvítil lampičku v pokoji. Na jiných výstupech lze zase z poklesu intenzity světla vidět, že např. pršelo.
Zdrojový kód
Zdrojový Python kód pro tento projekt je dostupný zde:

[CODE BLOCK]
import serial
import pygame
import pygame.image
import decimal
import datetime

# Define constants
MAX_8BIT = 255
MAX_10BIT = 1023
WIDTH = 100
HEIGHT = WIDTH
SERIAL_PORT = 'COM3'
DELAY = 20 * 1000
MAX_RETRIES = 5
MIN_HUMIDITY = 750
MAX_HUMIDITY = 850

def actual_time():
    now_raw = str(datetime.datetime.now())
    now = now_raw.replace(":", "-")
    return now

def temperature_to_interval(temperature):
    return 1 / (1 + 2**(-1 * (temperature - 22)))

def remap_humidity(humidity, min_measured, max_measured):
    humidity_range = max_measured - min_measured
    humidity_proportion = (humidity - min_measured) / humidity_range
    lightness = int(humidity_proportion * MAX_10BIT)
    return min(max(lightness, 0), MAX_10BIT)

def max_255(v):
    return min(v, MAX_8BIT)

def remap_10bit_to_8bit(number):
    if not 0 <= number <= MAX_10BIT:
        raise ValueError("Input number must be between 0 and 1023")
    return round(number / 4)

def separate_data(data):
    temp, light, hum = map(float, data.split("|"))
    return temp, light, hum

def write_to_log(log):
    with open('log.txt', 'a') as f:
        f.write(log + "\n")

def read_arduino_data(ser, delay):
    data1 = ser.readline().decode().strip()
    pygame.time.wait(delay)
    data2 = ser.readline().decode().strip()
    pygame.time.wait(delay)
    data3 = ser.readline().decode().strip()
    pygame.time.wait(delay)
    if len(data1) != len(data2) or len(data2) != len(data3):
        return read_arduino_data(ser, delay)
    return data1, data2, data3

ser = serial.Serial(port=SERIAL_PORT, baudrate=115200)

pygame.init()
win = pygame.display.set_mode((WIDTH, HEIGHT))
surface = pygame.Surface((WIDTH, HEIGHT))
pygame.display.set_caption("TEMPERATURE + LIGHT + HUMIDITY")

for i in range(5):
    data_test = ser.readline().decode().strip()
    pygame.time.wait(100)

x = 0
y = 0
img_num = 0
sensitivity = 1
start_time = actual_time()
running = True

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            finish_time = actual_time()
            pygame.display.update()
            name = str(img_num)
            pygame.image.save(surface, '{}, START {}, FINISH {} (incomplete).png'.format(name, start_time, finish_time))
            print("IMAGE SAVED BUT INCOMPLETE")
            write_to_log("IMAGE SAVED BUT INCOMPLETE")
            running = False
    if running == False:
        break

    for _ in range(MAX_RETRIES):
        try:
            data1, data2, data3 = read_arduino_data(ser, DELAY)
            break
        except Exception:
            print("COULD NOT READ THE DATA, TRYING AGAIN...")
            write_to_log("COULD NOT READ THE DATA, TRYING AGAIN...")
            pygame.time.wait(500)
    else:
        print("FAILED TO READ DATA AFTER {} RETRIES".format(MAX_RETRIES))
        write_to_log("FAILED TO READ DATA AFTER {} RETRIES".format(MAX_RETRIES))
        continue

    Rraw = (separate_data(data1)[0] + separate_data(data2)[0] + separate_data(data3)[0]) / 3
    R = round(max_255(temperature_to_interval(Rraw) * MAX_8BIT * sensitivity))

    Graw = (separate_data(data1)[1] + separate_data(data2)[1] + separate_data(data3)[1]) / 3
    G = round(max_255(remap_10bit_to_8bit(Graw) * sensitivity))

    Braw = (separate_data(data1)[2] + separate_data(data2)[2] + separate_data(data1)[2]) / 3
    B = remap_humidity(Braw, min_measured=MIN_HUMIDITY, max_measured=MAX_HUMIDITY)
    B = round(max_255(remap_10bit_to_8bit(B) * sensitivity))

    color = [R, G, B]
    pygame.draw.rect(win, color, [x, y, 1, 1])
    surface.set_at((x, y), (color[0], color[1], color[2]))
    if (x + 1) < WIDTH:
        pygame.draw.rect(win, [0, 255, 0], [x + 1, y, 1, 1])
    pygame.display.flip()

    #   print current data with colored text

[TRUNCATED: original code/output block had 148 lines and 4900 characters; showing first 120 lines. Omitted 28 lines and 1128 characters.]
See the full website source or rendered post for the complete version.
[/CODE BLOCK]

Závěr
Tento projekt je skvělým příkladem toho, jak můžeme využít technologii k lepšímu pochopení a vizualizaci přírodních procesů. Výsledné obrazy nám poskytují pohled na život rostlin a komplexitu vnímaných podnětů.
Je důležité si uvědomit, že i když tento projekt poskytuje jedinečný náhled do prožitků rostlin, nezahrnuje všechny aspekty jejich vnímání. Rostliny jsou schopné vnímat mnoho různých typů signálů z jejich okolí, včetně vlhkosti vzduchu, směru gravitace, chemického složení půdy, elektromagnetického pole a mechanického stresu. Tento projekt se nesnaží zaznamenat kompletní prožitek rostliny, ale spíše se zaměřuje na tři klíčové faktory, které lze snadno měřit a vizualizovat.
Nemáme ponětí, jakým způsobem rostliny interpretují tato data, ale víme, že na ně rozhodně reagují. Projekt je pokusem o překlad těchto prožitků do formátu, který můžeme lépe pochopit a vizualizovat.


============================================================
TITLE: Záznamy rostlin
SLUG: zaznamy-rostlin
URL: https://vojtamaur.cz/en/zaznamy-rostlin/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2023-06-01
SOURCE: src/content/posts/zaznamy-rostlin.mdx
BUILT_HTML: dist/en/zaznamy-rostlin/index.html
============================================================

Plant Records
June 2023
Introduction
In this article, we’ll look at a project that combines the worlds of plants, electronics, programming, and visual art. The project uses Arduino and Python to create visualizations of plant life experiences.

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-1.png
ALT: arduino schéma zapojení

How does it work?
The Arduino is equipped with three sensors—a thermometer, a photoresistor, and a moisture sensor. These sensors are placed in a flower pot with various types of plants (e.g., squash, peas, sunflowers, eggplants, cress, peppers, etc.). The sensors continuously collect data on temperature, light intensity, and soil moisture.
The program then creates a blank canvas measuring 100×100 pixels. Each pixel on this canvas is colored based on the data obtained from the sensors. The RGB value of a pixel’s color is determined such that the R (red) value corresponds to temperature, G (green) to light, and B (blue) to moisture.
Visualization of a Single Day
First, we’ll look at a simple version of the project, where a single image represents a single day in the life of the plants. The program begins by coloring the first pixel in the upper-left corner and gradually colors each pixel based on the current values obtained from the sensors. After coloring a pixel, the program waits a moment before moving on to the next pixel. When it reaches the end of a row, it moves to the beginning of the next row and continues coloring. This process continues until all pixels on the canvas are colored.
Sunflower recording:
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-2.jpg [/images/zaznamy-rostlin-obr-2.jpg]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-3.png [/images/zaznamy-rostlin-obr-3.png]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-4.png [/images/zaznamy-rostlin-obr-4.png]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-5.png [/images/zaznamy-rostlin-obr-5.png]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-6.png [/images/zaznamy-rostlin-obr-6.png]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-7.png [/images/zaznamy-rostlin-obr-7.png]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-8.png [/images/zaznamy-rostlin-obr-8.png]

[MEDIA: image]

[MEDIA: image]

Stacking Outputs
After visualizing a single day, we can expand this process to create a series of images representing longer time periods.
Individual square outputs can be stacked one below the other, creating composite images. Since the next output begins generating immediately after one is completed, there is no interruption in the flow of time. In this way, we can create images with a resolution of, for example, 100x500 pixels if they are composed of five outputs.
Sunflower recording:

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-9.jpg

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-10.png

Pattypan squash recording:

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-11.jpg

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-12.png

Extending the interval between measurements
The interval between measurements of individual pixels can be extended. In this way, a single 100×100-pixel square can represent not just one day, but many days. This principle allows us to track a plant’s development over a longer period of time in a single image.
Sunflower record:
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-13.jpg [/images/zaznamy-rostlin-obr-13.jpg]
[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-14.png [/images/zaznamy-rostlin-obr-14.png]

[MEDIA: image]

Combining the principles
By combining both principles, we can create a series of images where each image represents several days, and the entire series then covers many days or even weeks. In this way, we can track and visualize the long-term development of a plant.
Sunflower record:

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-15.jpg

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-16.png

Sunflower record:

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-17.jpg

[MEDIA: image]
FILE: /images/zaznamy-rostlin-obr-18.png

Interpretation of
Results
The resulting images provide us with a unique insight into plant life. The blue “lines” in the image represent nights, as it was mostly humid but not too warm, and there was no light. Conversely, the yellow “lines” are caused by direct sunlight hitting the plant toward the end of the day, which caused an increase in temperature and light intensity. This manifested in the image as an increase in the red and green channel values, which together produce the color yellow. Occasionally, faint lines are visible at the beginning of the night because I sometimes turned on the lamp in the room in the evening. In other outputs, the drop in light intensity indicates that it was raining, for example.
Source Code
The Python source code for this project is available here:

[CODE BLOCK]
import serial
import pygame
import pygame.image
import decimal
import datetime

# Define constants
MAX_8BIT = 255
MAX_10BIT = 1023
WIDTH = 100
HEIGHT = WIDTH
SERIAL_PORT = 'COM3'
DELAY = 20 * 1000
MAX_RETRIES = 5
MIN_HUMIDITY = 750
MAX_HUMIDITY = 850

def actual_time():
    now_raw = str(datetime.datetime.now())
    now = now_raw.replace(":", "-")
    return now

def temperature_to_interval(temperature):
    return 1 / (1 + 2**(-1 * (temperature - 22)))

def remap_humidity(humidity, min_measured, max_measured):
    humidity_range = max_measured - min_measured
    humidity_proportion = (humidity - min_measured) / humidity_range
    lightness = int(humidity_proportion * MAX_10BIT)
    return min(max(lightness, 0), MAX_10BIT)

def max_255(v):
    return min(v, MAX_8BIT)

def remap_10bit_to_8bit(number):
    if not 0 <= number <= MAX_10BIT:
        raise ValueError("Input number must be between 0 and 1023")
    return round(number / 4)

def separate_data(data):
    temp, light, hum = map(float, data.split("|"))
    return temp, light, hum

def write_to_log(log):
    with open('log.txt', 'a') as f:
        f.write(log + "\n")

def read_arduino_data(ser, delay):
    data1 = ser.readline().decode().strip()
    pygame.time.wait(delay)
    data2 = ser.readline().decode().strip()
    pygame.time.wait(delay)
    data3 = ser.readline().decode().strip()
    pygame.time.wait(delay)
    if len(data1) != len(data2) or len(data2) != len(data3):
        return read_arduino_data(ser, delay)
    return data1, data2, data3

ser = serial.Serial(port=SERIAL_PORT, baudrate=115200)

pygame.init()
win = pygame.display.set_mode((WIDTH, HEIGHT))
surface = pygame.Surface((WIDTH, HEIGHT))
pygame.display.set_caption("TEMPERATURE + LIGHT + HUMIDITY")

for i in range(5):
    data_test = ser.readline().decode().strip()
    pygame.time.wait(100)

x = 0
y = 0
img_num = 0
sensitivity = 1
start_time = actual_time()
running = True

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            finish_time = actual_time()
            pygame.display.update()
            name = str(img_num)
            pygame.image.save(surface, '{}, START {}, FINISH {} (incomplete).png'.format(name, start_time, finish_time))
            print("IMAGE SAVED BUT INCOMPLETE")
            write_to_log("IMAGE SAVED BUT INCOMPLETE")
            running = False
    if running == False:
        break

    for _ in range(MAX_RETRIES):
        try:
            data1, data2, data3 = read_arduino_data(ser, DELAY)
            break
        except Exception:
            print("COULD NOT READ THE DATA, TRYING AGAIN...")
            write_to_log("COULD NOT READ THE DATA, TRYING AGAIN...")
            pygame.time.wait(500)
    else:
        print("FAILED TO READ DATA AFTER {} RETRIES".format(MAX_RETRIES))
        write_to_log("FAILED TO READ DATA AFTER {} RETRIES".format(MAX_RETRIES))
        continue

    Rraw = (separate_data(data1)[0] + separate_data(data2)[0] + separate_data(data3)[0]) / 3
    R = round(max_255(temperature_to_interval(Rraw) * MAX_8BIT * sensitivity))

    Graw = (separate_data(data1)[1] + separate_data(data2)[1] + separate_data(data3)[1]) / 3
    G = round(max_255(remap_10bit_to_8bit(Graw) * sensitivity))

    Braw = (separate_data(data1)[2] + separate_data(data2)[2] + separate_data(data1)[2]) / 3
    B = remap_humidity(Braw, min_measured=MIN_HUMIDITY, max_measured=MAX_HUMIDITY)
    B = round(max_255(remap_10bit_to_8bit(B) * sensitivity))

    color = [R, G, B]
    pygame.draw.rect(win, color, [x, y, 1, 1])
    surface.set_at((x, y), (color[0], color[1], color[2]))
    if (x + 1) < WIDTH:
        pygame.draw.rect(win, [0, 255, 0], [x + 1, y, 1, 1])
    pygame.display.flip()

    #   print current data with colored text

[TRUNCATED: original code/output block had 148 lines and 4900 characters; showing first 120 lines. Omitted 28 lines and 1128 characters.]
See the full website source or rendered post for the complete version.
[/CODE BLOCK]

Conclusion
This project is a great example of how we can use technology to better understand and visualize natural processes. The resulting images provide us with a glimpse into the lives of plants and the complexity of the stimuli they perceive.
It is important to note that while this project offers a unique insight into the experiences of plants, it does not encompass all aspects of their perception. Plants are capable of perceiving many different types of signals from their environment, including air humidity, the direction of gravity, soil chemistry, electromagnetic fields, and mechanical stress. This project does not attempt to record the plant’s complete experience, but rather focuses on three key factors that can be easily measured and visualized.
We have no idea how plants interpret this data, but we know they definitely respond to it. The project is an attempt to translate these experiences into a format we can better understand and visualize.


============================================================
TITLE: Stavební pozemky
SLUG: vystavy-stavebni-pozemky-1
URL: https://vojtamaur.cz/vystavy-stavebni-pozemky-1/
LANGUAGE: cs
SECTION: vystavy
DATE: 2023-01-14
SOURCE: src/content/posts/vystavy-stavebni-pozemky-1.mdx
BUILT_HTML: dist/vystavy-stavebni-pozemky-1/index.html
============================================================

Stavební pozemky
19. 10. 2022 - 14. 1. 2023, Brno
Fait Gallery: Milan Maur / Nejisté sekvence děje

[MEDIA: image]
FILE: /images/vystavy-stavebni-pozemky-1-obr-1.jpg
ALT: Popisek obrazu: Kupujeme stavební pozemky a vracíme je přírodě. Podzim 2022, Vojta Maur, Milan Maur

[MEDIA: image]
FILE: /images/vystavy-stavebni-pozemky-1-obr-2.jpg
ALT: Fotodokumentace výstavy

Informace o výstavě na stránkách Fait Gallery:
https://www.faitgallery.com/tiskovky/items/2014.html


============================================================
TITLE: Stavební pozemky
SLUG: vystavy-stavebni-pozemky-1
URL: https://vojtamaur.cz/en/vystavy-stavebni-pozemky-1/
LANGUAGE: en
SECTION: vystavy
DATE: 2023-01-14
SOURCE: src/content/posts/vystavy-stavebni-pozemky-1.mdx
BUILT_HTML: dist/en/vystavy-stavebni-pozemky-1/index.html
============================================================

Building Lots
October 19, 2022 – January 14, 2023, Brno
Fait Gallery: Milan Maur / Uncertain Sequences of Action

[MEDIA: image]
FILE: /images/vystavy-stavebni-pozemky-1-obr-1.jpg
ALT: Popisek obrazu: Kupujeme stavební pozemky a vracíme je přírodě. Podzim 2022, Vojta Maur, Milan Maur

[MEDIA: image]
FILE: /images/vystavy-stavebni-pozemky-1-obr-2.jpg
ALT: Fotodokumentace výstavy

Exhibition information on the Fait Gallery website:
https://www.faitgallery.com/tiskovky/items/2014.html


============================================================
TITLE: Rekurze v programu MS Word
SLUG: rekurze-programu-ms-word
URL: https://vojtamaur.cz/rekurze-programu-ms-word/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2022-11-01
SOURCE: src/content/posts/rekurze-programu-ms-word.mdx
BUILT_HTML: dist/rekurze-programu-ms-word/index.html
============================================================

Rekurze v programu MS Word
listopad 2022
Objevil jsem způsob, kterým lze v programu Microsoft Word spustit rekurzivní proces. Jsou k tomu zapotřebí dvě věci – funkce propojení a tabulka. Pomocí funkce propojení lze vložit obsah dokumentu A do dokumentu B tak, že pokud se obsah upraví v dokumentu A, automaticky se tyto změny projeví i v dokumentu B. Jinými slovy – obsah dokumentu B tak referuje na obsah dokumentu A. Rekurzi lze pak spustit vytvořením obsahu, který referuje sám na sebe. Jak toho lze dosáhnout? Stačí jen vytvořit dokument A (pojmenujme ho např. doc A.docx) a dokument B (doc B.docx), v dokumentu A vytvořit prázdnou tabulku, tu zkopírovat a propojeně ji vložit do dokumentu B. Tuto nově vloženou tabulku pak už stačí jen zkopírovat z dokumentu B a vložit ji propojeně do obsahu tabulky v dokumentu A. Tím vznikne tabulka, která se postupně začne vkládat sama do sebe. Většinou se pak MS Word začne sekat až nakonec celý spadne. Celý tento postup lze vidět ve videu níže.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/xaE-eYQw4Mw
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Rekurze v programu MS Word
SLUG: rekurze-programu-ms-word
URL: https://vojtamaur.cz/en/rekurze-programu-ms-word/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2022-11-01
SOURCE: src/content/posts/rekurze-programu-ms-word.mdx
BUILT_HTML: dist/en/rekurze-programu-ms-word/index.html
============================================================

Recursion in MS Word
November 2022
I have discovered a way to run a recursive process in Microsoft Word. Two things are needed for this—the hyperlink feature and a table. Using the link feature, you can insert the content of Document A into Document B so that if the content is edited in Document A, these changes are automatically reflected in Document B as well. In other words, the content of Document B references the content of Document A. Recursion can then be triggered by creating content that references itself. How can this be achieved? Simply create Document A (let’s call it, for example, doc A.docx) and Document B (doc B.docx), create an empty table in Document A, copy it, and insert it as a linked object into Document B. Then, simply copy this newly inserted table from document B and paste it as a linked object into the table of contents in document A. This creates a table that gradually begins to insert itself into itself. Usually, MS Word will start to freeze until it eventually crashes completely. You can see the entire process in the video below.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/xaE-eYQw4Mw
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Pseudobáseň
SLUG: pseudobasen
URL: https://vojtamaur.cz/pseudobasen/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2022-05-01
SOURCE: src/content/posts/pseudobasen.mdx
BUILT_HTML: dist/pseudobasen/index.html
============================================================

Pseudobáseň
květen 2022
Všechna slova v následující básni (alespoň k našemu vědomí a s výjimkou funkčních slov) jsou pseudoslova; jde tedy o slova, která by v souladu s fonotaktikou češtiny existovat mohla – tyto kombinace hlásek jsou v řečeném jazyce možné – avšak není k nim přiřazen význam a nepoužívají se. Báseň je tedy v zásadě nesmyslná a případná interpretace závisí cele na představivosti čtenáře, ačkoliv tu značně podněcuje výrazně zvukomalebná povaha některých pseudoslov.
Tento experiment si nekladl za cíl vytvořit básnický text vysoké estetické hodnoty, nýbrž si jen pohrát s kombinatorickým potenciálem mateřského jazyka. Je pozoruhodné, že u každého pseudoslova lze spolehlivě identifikovat slovnědruhovou příslušnost a většinu jeho gramatických kategorií.
JEZÁPEK
V Městnale se krůcky škvoury
K mochci ďáry vyněraly
Pulstočmý kroch zanářel
Do stupí honkaje vořenky
Když jezápek kokeřil pod husečným vachalem koltěním zmán
Hlůmajíce zlanivou vostrčlici
Sníkali garánci garánkám vrůzy
A lačili jezápka zastrožlým přímanem
Zastrožlým z blímného vesepství
Dokřmeným lipačskou vrýnou
Hrů hrů! kafolčil jezápek zpufněle
A holivěl likajky garánkám
Až z hlemuňků kriskaly baťafky
A cuchraly zrepčeným blizalkám
Jalvičné zromky
Přestože je báseň v principu nesmyslná, při její interpretaci může vznikat v mysli čtenáře určitá představa. Zajímalo nás, jakou představu by o ní měla umělá inteligence. Využili jsme tedy několik dostupných modelů umělé inteligence (ru-DALL-E, Dream, Deep Daze, starryai – Altair, starryai – Orion a Night Café), které dokážou pomocí textového vstupu vytvořit obrazový výstup. Každý model je trochu jiný, některé produkují fotorealistické výstupy, některé jsou více abstraktní a jiné jsou spíše umělecky stylizované. Také se liší tím, jak moc rozumí češtině (např. model ru-DALL-E rozumí češtině velmi dobře).
Jednotlivé segmenty této básně byly zadány různým modelům umělé inteligence a každý z nich si tak utvořil vlastní unikátní sérii představ vycházejících z interpretace jednotlivých segmentů. Z každé této série jsme pak vytvořili video, ve kterém se promítají jednotlivé představy a současně je k nim recitován příslušný segment básně. Model Deep Daze dokáže dokonce zaznamenat postup vytváření představ, takže lze ve videu vidět, jak se postupně jeho představa formuje a zpřesňuje.
ruDALL-E

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/CniEMECxcgw
NOTE: Embedded or binary content is not represented in this plain-text export.

Dream

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/MIS05zpqcWA
NOTE: Embedded or binary content is not represented in this plain-text export.

starryai (Altair)

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/qsmicN46yBk
NOTE: Embedded or binary content is not represented in this plain-text export.

starryai (Orion)

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/JDU4Zi6D9rE
NOTE: Embedded or binary content is not represented in this plain-text export.

Night Café

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/txD8apt8CJo
NOTE: Embedded or binary content is not represented in this plain-text export.

Deep Daze

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/m06W3aQXKUs
NOTE: Embedded or binary content is not represented in this plain-text export.

Co evokuje báseň ve vás? Shoduje se váš dojem z básně s interpretacemi umělé inteligence?
autor básně:
Filip Drábek
autor obrazové přílohy:
Vojta Maur


============================================================
TITLE: Pseudobáseň
SLUG: pseudobasen
URL: https://vojtamaur.cz/en/pseudobasen/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2022-05-01
SOURCE: src/content/posts/pseudobasen.mdx
BUILT_HTML: dist/en/pseudobasen/index.html
============================================================

Pseudopoem
May 2022
All the words in the following poem (at least to the best of our knowledge and with the exception of function words) are pseudowords; that is, they are words that could exist in accordance with the phonotactics of the Czech language—these combinations of sounds are possible in the spoken language—but they have no assigned meaning and are not used. The poem is therefore essentially nonsensical, and any interpretation depends entirely on the reader’s imagination, although the distinctly onomatopoeic nature of some of the pseudo-words provides considerable inspiration.
The aim of this experiment was not to create a poetic text of high aesthetic value, but simply to play with the combinatorial potential of the native language. It is remarkable that for each pseudoword, one can reliably identify its part of speech and most of its grammatical categories.
JEZÁPEK
V Městnale se krůcky škvoury
K mochci ďáry vyněraly
Pulstočmý kroch zanářel
Do stupí honkaje vořenky
Když jezápek kokeřil pod husečným vachalem koltěním zmán
Hlůmajíce zlanivou vostrčlici
Sníkali garánci garánkám vrůzy
A lačili jezápka zastrožlým přímanem
Zastrožlým z blímného vesepství
Dokřmeným lipačskou vrýnou
Hrů hrů! kafolčil jezápek zpufněle
A holivěl likajky garánkám
Až z hlemuňků kriskaly baťafky
A cuchraly zrepčeným blizalkám
Jalvičné zromky
Although the poem is, in principle, nonsensical, a certain mental image may arise in the reader’s mind when interpreting it. We were curious to see what kind of image artificial intelligence would form of it. So we used several available artificial intelligence models (ru-DALL-E, Dream, Deep Daze, starryai – Altair, starryai – Orion, and Night Café), which are capable of generating visual output from text input. Each model is slightly different; some produce photorealistic outputs, some are more abstract, and others are more artistically stylized. They also differ in how well they understand Czech (for example, the ru-DALL-E model understands Czech very well).
Individual segments of this poem were fed to various AI models, and each one generated its own unique series of images based on its interpretation of the individual segments. From each of these series, we then created a video in which the individual images are projected while the corresponding segment of the poem is recited. The Deep Daze model can even record the process of image generation, so the video shows how its image gradually takes shape and becomes more refined.
ruDALL-E

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/CniEMECxcgw
NOTE: Embedded or binary content is not represented in this plain-text export.

Dream

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/MIS05zpqcWA
NOTE: Embedded or binary content is not represented in this plain-text export.

starryai (Altair)

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/qsmicN46yBk
NOTE: Embedded or binary content is not represented in this plain-text export.

starryai (Orion)

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/JDU4Zi6D9rE
NOTE: Embedded or binary content is not represented in this plain-text export.

Night Café

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/txD8apt8CJo
NOTE: Embedded or binary content is not represented in this plain-text export.

Deep Daze

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/m06W3aQXKUs
NOTE: Embedded or binary content is not represented in this plain-text export.

What does the poem evoke in you? Does your impression of the poem match the interpretations provided by artificial intelligence?
Poem author:
Filip Drábek
Illustration by:
Vojta Maur


============================================================
TITLE: Fotogrammetrie
SLUG: fotogrammetrie
URL: https://vojtamaur.cz/fotogrammetrie/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2022-03-29
SOURCE: src/content/posts/fotogrammetrie.mdx
BUILT_HTML: dist/fotogrammetrie/index.html
============================================================

Fotogrammetrie
březen 2022
V průběhu několika let jsem pomocí fotogrammetrie skenoval různé struktury. Projekt funguje jako prostorová koláž míst a bytostí napříč časem.

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-9.jpg
ALT: zleva: Filip Drábek, Ondřej Kučera, František Dalibaba, Vojta Maur

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-1.jpg
ALT: zleva: Vojta Maur, Filip Drábek, Michaela Stehlíková

[VIDEO EMBED]
SOURCE: https://www.youtube.com/embed/yOPv4hl1DKA
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-2.jpg
ALT: Vojta Maur leží v bytě vedle bytu, ve kterém leží Vojta Maur v bytě vedle bytu, ve kterém leží Vojta Maur v bytě vedle bytu, ve kterém ...

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-4.jpg
ALT: Vojta Maur leží v bytě vedle bytu, ve kterém leží Vojta Maur v bytě vedle bytu, ve kterém leží Vojta Maur v bytě vedle bytu, ve kterém ...

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-3.jpg
ALT: Vojta Maur v bytě

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-5.jpg
ALT: Vojta Maur izolovaný v pokoji

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-6.jpg
ALT: Vojta Maur v pokoji, širokoúhlý záběr

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-8.jpg
ALT: low poly Vojta Maur v pokoji

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-11.jpg
ALT: Vojta Maur v koupelně

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-7.jpg
ALT: Vojta Maur v ložnici

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-10.jpg
ALT: Vojta Maur v obývacím pokoji

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-12.jpg
ALT: Vojta Maur v kuchyni

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-13.jpg
ALT: Vojta Maur v kuchyni

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-14.jpg
ALT: Vojta Maur v kuchyni

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-15.jpg
ALT: zahrada

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-16.jpg
ALT: Vojta Maur na zahradě, ortografická perspektiva

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-20.jpg
ALT: Helena Horáková v umyvadle

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-18.jpg
ALT: Vojta Maur armáda

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-17.jpg
ALT: Vojta Maur šroubovice

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-19.jpg
ALT: Vojta Maur obrazec


============================================================
TITLE: Fotogrammetrie
SLUG: fotogrammetrie
URL: https://vojtamaur.cz/en/fotogrammetrie/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2022-03-29
SOURCE: src/content/posts/fotogrammetrie.mdx
BUILT_HTML: dist/en/fotogrammetrie/index.html
============================================================

Photogrammetry
March 2022
Over the course of several years, I have used photogrammetry to scan various structures. The project functions as a spatial collage of places and beings across time.

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-9.jpg
ALT: zleva: Filip Drábek, Ondřej Kučera, František Dalibaba, Vojta Maur

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-1.jpg
ALT: zleva: Vojta Maur, Filip Drábek, Michaela Stehlíková

[VIDEO EMBED]
SOURCE: https://www.youtube.com/embed/yOPv4hl1DKA
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-2.jpg
ALT: Vojta Maur leží v bytě vedle bytu, ve kterém leží Vojta Maur v bytě vedle bytu, ve kterém leží Vojta Maur v bytě vedle bytu, ve kterém ...

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-4.jpg
ALT: Vojta Maur leží v bytě vedle bytu, ve kterém leží Vojta Maur v bytě vedle bytu, ve kterém leží Vojta Maur v bytě vedle bytu, ve kterém ...

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-3.jpg
ALT: Vojta Maur v bytě

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-5.jpg
ALT: Vojta Maur izolovaný v pokoji

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-6.jpg
ALT: Vojta Maur v pokoji, širokoúhlý záběr

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-8.jpg
ALT: low poly Vojta Maur v pokoji

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-11.jpg
ALT: Vojta Maur v koupelně

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-7.jpg
ALT: Vojta Maur v ložnici

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-10.jpg
ALT: Vojta Maur v obývacím pokoji

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-12.jpg
ALT: Vojta Maur v kuchyni

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-13.jpg
ALT: Vojta Maur v kuchyni

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-14.jpg
ALT: Vojta Maur v kuchyni

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-15.jpg
ALT: zahrada

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-16.jpg
ALT: Vojta Maur na zahradě, ortografická perspektiva

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-20.jpg
ALT: Helena Horáková v umyvadle

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-18.jpg
ALT: Vojta Maur armáda

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-17.jpg
ALT: Vojta Maur šroubovice

[MEDIA: image]
FILE: /images/fotogrammetrie-obr-19.jpg
ALT: Vojta Maur obrazec


============================================================
TITLE: Generátor náhodných čísel
SLUG: vystavy-generator-nahodnych-cisel-2
URL: https://vojtamaur.cz/vystavy-generator-nahodnych-cisel-2/
LANGUAGE: cs
SECTION: vystavy
DATE: 2022-03-27
SOURCE: src/content/posts/vystavy-generator-nahodnych-cisel-2.mdx
BUILT_HTML: dist/vystavy-generator-nahodnych-cisel-2/index.html
============================================================

Generátor náhodných čísel
17. 2. 2022 - 27. 3. 2022, Karlovy Vary
Galerie umění Karlovy Vary: KARLOVARSKÝ SALON 22/2

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-2.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-3.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-4.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-5.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-6.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-7.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-8.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-9.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-10.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-1.jpg

Informace o výstavě na stránkách Galerie umění Karlovy Vary:
http://www.galeriekvary.cz/vystavy/karlovarsky-salon-22-2


============================================================
TITLE: Generátor náhodných čísel
SLUG: vystavy-generator-nahodnych-cisel-2
URL: https://vojtamaur.cz/en/vystavy-generator-nahodnych-cisel-2/
LANGUAGE: en
SECTION: vystavy
DATE: 2022-03-27
SOURCE: src/content/posts/vystavy-generator-nahodnych-cisel-2.mdx
BUILT_HTML: dist/en/vystavy-generator-nahodnych-cisel-2/index.html
============================================================

Random Number Generator
February 17, 2022 – March 27, 2022, Karlovy Vary
Karlovy Vary Art Gallery: KARLOVY VARY SALON 22/2

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-2.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-3.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-4.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-5.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-6.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-7.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-8.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-9.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-10.jpg

[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-2-obr-1.jpg

Exhibition information on the Karlovy Vary Art Gallery website:
http://www.galeriekvary.cz/vystavy/karlovarsky-salon-22-2


============================================================
TITLE: Autoportrét (praktická maturitní práce)
SLUG: autoportret-prakticka-maturitni-prace
URL: https://vojtamaur.cz/autoportret-prakticka-maturitni-prace/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2021-06-01
SOURCE: src/content/posts/autoportret-prakticka-maturitni-prace.mdx
BUILT_HTML: dist/autoportret-prakticka-maturitni-prace/index.html
============================================================

Autoportrét (praktická maturitní práce)
červen 2021
Zadání a obhajoba maturitní práce:

[PDF EMBED]
SOURCE: /files/autoportret-prakticka-maturitni-prace-dokument-1.pdf
NOTE: Embedded or binary content is not represented in this plain-text export.

Výsledné portfolio:

[PDF EMBED]
SOURCE: /files/autoportret-prakticka-maturitni-prace-dokument-2.pdf
NOTE: Embedded or binary content is not represented in this plain-text export.

Instalace díla v ateliérech Nerudovky:

[MEDIA: image]
FILE: /images/autoportret-prakticka-maturitni-prace-obr-1.jpg

[MEDIA: image]
FILE: /images/autoportret-prakticka-maturitni-prace-obr-2.jpg

[MEDIA: image]
FILE: /images/autoportret-prakticka-maturitni-prace-obr-3.jpg

Hodnocení práce:
[MEDIA: image]
FILE: /images/autoportret-prakticka-maturitni-prace-obr-4.jpg [/images/autoportret-prakticka-maturitni-prace-obr-4.jpg]
[MEDIA: image]
FILE: /images/autoportret-prakticka-maturitni-prace-obr-5.jpg [/images/autoportret-prakticka-maturitni-prace-obr-5.jpg]


============================================================
TITLE: Autoportrét (praktická maturitní práce)
SLUG: autoportret-prakticka-maturitni-prace
URL: https://vojtamaur.cz/en/autoportret-prakticka-maturitni-prace/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2021-06-01
SOURCE: src/content/posts/autoportret-prakticka-maturitni-prace.mdx
BUILT_HTML: dist/en/autoportret-prakticka-maturitni-prace/index.html
============================================================

Self-Portrait (Practical Graduation Project)
June 2021
Assignment and defense of the graduation project:

[PDF EMBED]
SOURCE: /files/autoportret-prakticka-maturitni-prace-dokument-1.pdf
NOTE: Embedded or binary content is not represented in this plain-text export.

Final portfolio:

[PDF EMBED]
SOURCE: /files/autoportret-prakticka-maturitni-prace-dokument-2.pdf
NOTE: Embedded or binary content is not represented in this plain-text export.

Installation of the work in the Nerudovka studios:

[MEDIA: image]
FILE: /images/autoportret-prakticka-maturitni-prace-obr-1.jpg

[MEDIA: image]
FILE: /images/autoportret-prakticka-maturitni-prace-obr-2.jpg

[MEDIA: image]
FILE: /images/autoportret-prakticka-maturitni-prace-obr-3.jpg

Evaluation of the project:
[MEDIA: image]
FILE: /images/autoportret-prakticka-maturitni-prace-obr-4.jpg [/images/autoportret-prakticka-maturitni-prace-obr-4.jpg]
[MEDIA: image]
FILE: /images/autoportret-prakticka-maturitni-prace-obr-5.jpg [/images/autoportret-prakticka-maturitni-prace-obr-5.jpg]


============================================================
TITLE: Stručná historie života na Zemi
SLUG: strucna-historie-zivota-zemi
URL: https://vojtamaur.cz/strucna-historie-zivota-zemi/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2021-03-01
SOURCE: src/content/posts/strucna-historie-zivota-zemi.mdx
BUILT_HTML: dist/strucna-historie-zivota-zemi/index.html
============================================================

Stručná historie života na Zemi
březen 2021

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/1R8M4nRLPWQ
NOTE: Embedded or binary content is not represented in this plain-text export.

Video vzniklo jako školní práce na Střední odborné škole obchodu, užitého umění a designu v Plzni (Nerudova 33).
Jeden snímek tohoto videa reprezentuje 200 000 let historie Země. To přibližně odpovídá délce existence druhu Homo sapiens. Právě proto je člověk vyobrazen až na úplně posledním snímku tohoto videa.
Veškeré obrazové materiály použité ve videu byly pořízeny autorem.


============================================================
TITLE: Stručná historie života na Zemi
SLUG: strucna-historie-zivota-zemi
URL: https://vojtamaur.cz/en/strucna-historie-zivota-zemi/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2021-03-01
SOURCE: src/content/posts/strucna-historie-zivota-zemi.mdx
BUILT_HTML: dist/en/strucna-historie-zivota-zemi/index.html
============================================================

A Brief History of Life on Earth
March 2021

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/1R8M4nRLPWQ
NOTE: Embedded or binary content is not represented in this plain-text export.

This video was created as a school project at the Secondary Vocational School of Commerce, Applied Arts, and Design in Pilsen (Nerudova 33).
Each frame of this video represents 200,000 years of Earth’s history. This roughly corresponds to the length of time the species Homo sapiens has existed. That is precisely why humans are depicted only in the very last frame of this video.
All visual material used in the video was captured by the author.


============================================================
TITLE: Život v Hromnickém jezírku
SLUG: zivot-hromnickem-jezirku
URL: https://vojtamaur.cz/zivot-hromnickem-jezirku/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2021-01-01
SOURCE: src/content/posts/zivot-hromnickem-jezirku.mdx
BUILT_HTML: dist/zivot-hromnickem-jezirku/index.html
============================================================

Život v Hromnickém jezírku
leden 2021

[INTERACTIVE EMBED]
SOURCE: https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2873.387394621076!2d13.444731496763541!3d49.85061064085366!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x93e249730f9d76f5!2zSHJvbW5pY2vDqSBqZXrDrXJrbw!5e1!3m2!1scs!2scz!4v1609929799218!5m2!1scs!2scz
NOTE: Embedded or binary content is not represented in this plain-text export.

Hromnické jezírko [https://cs.wikipedia.org/wiki/Hromnick%C3%A9_jez%C3%ADrko] je přírodní památka v okrese Plzeň-sever. Díky těžbě břidlice v minulosti je voda jezírka slabým roztokem kyseliny sírové (její pH je 2.6 – 2.9). Právě proto se o něm lze v různých zdrojích dočíst, že „voda je sterilní a bez života“. I na oficiální informační tabuli [https://upload.wikimedia.org/wikipedia/commons/d/d0/Tabule_Hromnick%C3%A9_jez%C3%ADrko.JPG] je napsáno: „… mimo řas je [voda] zcela bez života“. Tento závěr mi vzhledem k obrovské adaptivitě života obecně připadal nepravděpodobný. Rozhodl jsem se tedy k němu vydat a sám ho prozkoumat.

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-1.jpg
ALT: Hromnické jezírko

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-2.jpg
ALT: měření pH

19. prosince 2020 jsem z Hromnického jezírka nabral vzorek vody. Mnohobuněčný život v něm bylo možné spatřit hned, jak se bahno v kalné vodě usadilo. Našel jsem v něm několik larev pakomára.

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-3.jpg
ALT: larva pakomára

Také jsem v něm objevil larvu mouchy, kterou se mi podařilo identifikovat pomocí mikroskopu.

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-4.jpg
ALT: larva mouchy

Nalezl jsem v něm i několik jednobuněčných organismů, jako tyto dva druhy krásnoočka, kterých zde bylo tolik, že je v podobě zeleného plaku na hladině bylo možné pozorovat pouhým okem.

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-5.jpg
ALT: krásnoočka

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-6.jpg
ALT: krásnoočka

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/aoPDRJ_XaxI
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-7.jpg
ALT: krásnoočko

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/XbHSxjzpSYE
NOTE: Embedded or binary content is not represented in this plain-text export.

Na záběrech výše lez spatřit i prokaryotické organismy – sinice (malé bakterie tyčinkovitého tvaru). Další prokaryotický organismus, který jsem ve vzorku našel, je tato bakterie (prozatím blíže neidentifikovaná).

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-8.jpg
ALT: bakterie

Asi po dvou týdnech pozorování jsem ve vzorku dokonce našel nálevníky. Prvním z nich je vířenka, druhým je uroleptus.
[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-9.jpg [/images/zivot-hromnickem-jezirku-obr-9.jpg]
[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-10.jpg [/images/zivot-hromnickem-jezirku-obr-10.jpg]
Je pozoruhodné, kolik organismů dokáže přežít v tak extrémně kyselém prostředí. Tvrzení, že je voda sterilní, je tím podle mého názoru vyvráceno. Bylo by tedy vhodné aktualizovat oficiální informační tabuli a ostatní turistické webové stránky, které to z ní opsaly. Toto ale nejspíš nejsou zdaleka všechny organismy nacházející se v Hromnickém jezírku, a proto by bylo zajímavé provést další rozbory vody v jiných ročních obdobích, případně nabrat vzorky vody z různé hloubky (na dně můžou např. díky nedostatku kyslíku a světla žít anaerobní bakterie).


============================================================
TITLE: Život v Hromnickém jezírku
SLUG: zivot-hromnickem-jezirku
URL: https://vojtamaur.cz/en/zivot-hromnickem-jezirku/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2021-01-01
SOURCE: src/content/posts/zivot-hromnickem-jezirku.mdx
BUILT_HTML: dist/en/zivot-hromnickem-jezirku/index.html
============================================================

Life in Hromnice Lake
January 2021

[INTERACTIVE EMBED]
SOURCE: https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2873.387394621076!2d13.444731496763541!3d49.85061064085366!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x93e249730f9d76f5!2zSHJvbW5pY2vDqSBqZXrDrXJrbw!5e1!3m2!1scs!2scz!4v1609929799218!5m2!1scs!2scz
NOTE: Embedded or binary content is not represented in this plain-text export.

Hromnice Lake [https://cs.wikipedia.org/wiki/Hromnick%C3%A9_jez%C3%ADrko] is a natural monument in the Plzeň-North District. Due to past slate mining, the lake’s water is a weak solution of sulfuric acid (its pH is 2.6–2.9). This is precisely why various sources describe it as having “sterile, lifeless water.” Even the official information board [https://upload.wikimedia.org/wikipedia/commons/d/d0/Tabule_Hromnick%C3%A9_jez%C3%ADrko.JPG] states: “… apart from algae, [the water] is completely devoid of life.” Given the immense adaptability of life in general, this conclusion seemed unlikely to me. So I decided to go there and investigate it for myself.

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-1.jpg
ALT: Hromnické jezírko

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-2.jpg
ALT: měření pH

On December 19, 2020, I collected a water sample from Hromnické Lake. Multicellular life could be seen in it as soon as the silt settled in the murky water. I found several midge larvae in it.

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-3.jpg
ALT: larva pakomára

I also discovered a fly larva, which I was able to identify using a microscope.

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-4.jpg
ALT: larva mouchy

I also found several single-celled organisms, such as these two species of dinoflagellates, which were so abundant that they could be seen with the naked eye as a green film on the surface.

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-5.jpg
ALT: krásnoočka

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-6.jpg
ALT: krásnoočka

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/aoPDRJ_XaxI
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-7.jpg
ALT: krásnoočko

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/XbHSxjzpSYE
NOTE: Embedded or binary content is not represented in this plain-text export.

In the images above, you can also see prokaryotic organisms—cyanobacteria (small, rod-shaped bacteria). Another prokaryotic organism I found in the sample is this bacterium (not yet identified in more detail).

[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-8.jpg
ALT: bakterie

After about two weeks of observation, I even found ciliates in the sample. The first is a rotifer, and the second is an uroleptus.
[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-9.jpg [/images/zivot-hromnickem-jezirku-obr-9.jpg]
[MEDIA: image]
FILE: /images/zivot-hromnickem-jezirku-obr-10.jpg [/images/zivot-hromnickem-jezirku-obr-10.jpg]
It is remarkable how many organisms can survive in such an extremely acidic environment. In my opinion, this refutes the claim that the water is sterile. It would therefore be appropriate to update the official information board and other tourist websites that have copied this information from it. However, these are likely far from all the organisms found in Hromnice Lake, and therefore it would be interesting to conduct further water analyses during other seasons, or to collect water samples from different depths (for example, anaerobic bacteria may live at the bottom due to a lack of oxygen and light).


============================================================
TITLE: Úvaha o hranicích fantazie
SLUG: uvaha-hranicich-fantazie
URL: https://vojtamaur.cz/uvaha-hranicich-fantazie/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2020-11-01
SOURCE: src/content/posts/uvaha-hranicich-fantazie.mdx
BUILT_HTML: dist/uvaha-hranicich-fantazie/index.html
============================================================

Úvaha o hranicích fantazie
listopad 2020
Tento text vznikl jako školní slohová práce (útvar: úvaha) na libovolné téma během studia na Střední odborné škole obchodu, užitého umění a designu v Plzni.

[PDF EMBED]
SOURCE: /files/uvaha-hranicich-fantazie-dokument.pdf
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Úvaha o hranicích fantazie
SLUG: uvaha-hranicich-fantazie
URL: https://vojtamaur.cz/en/uvaha-hranicich-fantazie/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2020-11-01
SOURCE: src/content/posts/uvaha-hranicich-fantazie.mdx
BUILT_HTML: dist/en/uvaha-hranicich-fantazie/index.html
============================================================

Reflections on the Limits of Imagination
November 2020
This text was written as a school essay (genre: reflection) on a topic of my choice while studying at the Secondary Vocational School of Commerce, Applied Arts, and Design in Pilsen.

[PDF EMBED]
SOURCE: /files/uvaha-hranicich-fantazie-dokument.pdf
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Zvýšené vnímání rozdílů světlosti
SLUG: zvysene-vnimani-rozdilu-svetlosti
URL: https://vojtamaur.cz/zvysene-vnimani-rozdilu-svetlosti/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2020-10-02
SOURCE: src/content/posts/zvysene-vnimani-rozdilu-svetlosti.mdx
BUILT_HTML: dist/zvysene-vnimani-rozdilu-svetlosti/index.html
============================================================

Zvýšené vnímání rozdílů světlosti
říjen 2020
Co kdyby byly naše oči schopné vnímat i nepatrné rozdíly ve světlosti? Jak jiný by díky tomu byl náš pohled na svět? Lze to nějak vizualizovat? Ano, myslím si, že lze. Pokusím se nyní popsat, jakým zůpsobem toho lze docílit.
Podívejme se tedy na to, jak vnímá lidské oko černobílou fotografii.

[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-1.jpg
ALT: černobílá fotografie medvědů

Lze tedy říci, že místa, která jsou nejtmavší, vnímáme černě, a místa, která jsou nejsvětlejší vnímáme bíle. Všechno mezi tím jsou různé stupně šedi. Toto spektrum lze zobrazit následovně:

[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-2.jpg
ALT: gradient black-white

Protože naše oči nejsou dost dobré ve vnímání malých rozdílů dvou odstínů šedé, rozhodl jsem se do tohoto přechodu přidat jako mezistupně celé barevné spektrum. Následný přechod pak vypadá takto:

[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-3.jpg
ALT: gradient black, magenta, blue, cyan, green, yellow, red, white (KMBCGYRW)

Černé stále zůstanou černé, bílé stále bílé, ale šedý přechod mezi nimi je nyní obohacen o barvy. Níže je uvedena ukázka toho, jak by vypadá fotografie medvěda po aplikaci tohoto nového přechodu.

[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-4.jpg
ALT: gradient KMBCGYRW aplikovaný na černobílou fotku medvědů

Na fotografii jsou vidět detaily, které by nám na normální černobílé fotografii unikaly. Dále jsem s tímto přechodem zkoušel experimentovat na analogových fotografiích (viz níže). Vždy je u nich pro srovnání uvedena nejdříve originální černobílá fotografie.
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-5.jpg
ALT: černobílá analogová fotka Marka Herinka [/images/zvysene-vnimani-rozdilu-svetlosti-obr-5.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-6.jpg
ALT: gradient KMBCGYRW aplikovaný na černobílou analogovou fotku Marka Herinka [/images/zvysene-vnimani-rozdilu-svetlosti-obr-6.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-7.jpg
ALT: černobílá analogová fotka Michaeli Stehlíkové [/images/zvysene-vnimani-rozdilu-svetlosti-obr-7.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-8.jpg
ALT: gradient KMBCGYRW aplikovaný na černobílou analogovou fotku Michaeli Stehlíkové [/images/zvysene-vnimani-rozdilu-svetlosti-obr-8.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-9.jpg
ALT: černobílá analogová fotka Vojty Maura [/images/zvysene-vnimani-rozdilu-svetlosti-obr-9.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-10.jpg
ALT: gradient KMBCGYRW aplikovaný na černobílou analogovou fotku Vojty Maura [/images/zvysene-vnimani-rozdilu-svetlosti-obr-10.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-11.jpg
ALT: černobílá analogová fotka z pinhole fotoaparátu [/images/zvysene-vnimani-rozdilu-svetlosti-obr-11.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-12.jpg
ALT: gradient KMBCGYRW aplikovaný na černobílou analogovou fotku z pinhole fotoaparátu [/images/zvysene-vnimani-rozdilu-svetlosti-obr-12.jpg]
Zajímalo mě, zda by tento přechod šel použít při kresbě pro lepší přesnost stínování. A právě proto ho vyzkoušel na mé starší kresbě:
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-13.jpg
ALT: studijní kresba uhlem od Vojty Maura [/images/zvysene-vnimani-rozdilu-svetlosti-obr-13.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-14.jpg
ALT: gradient KMBCGYRW aplikovaný na studijní kresba uhlem od Vojty Maura [/images/zvysene-vnimani-rozdilu-svetlosti-obr-14.jpg]
Rozhodl jsem se tento přechod dále zkoušet na optických iluzích, které jsou založeny na nedokonalém vnímání rozdílu světlostí. Zde je jeden příklad takové iluze:

[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-15.jpg
ALT: obrázek černobílé optické iluze rozdílu světlostí

Přesně jak lze očekávat, oba čtverce jsou identické. Přesto jeden vypadá při pohledu lidským okem světlejší. Pokud na iluzi výše aplikuji tento přechod, bude daleko zřejmější, že mají čtverce stejný odstín. Iluze je tím narušena a přestává být iluzí.

[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-16.jpg
ALT: gradient KMBCGYRW aplikovaný na obrázek černobílé optické iluze rozdílu světlostí

Další obdobnou iluzí je Checker shadow illusion [https://en.wikipedia.org/wiki/Checker_shadow_illusion]. Princip je stejný, plochy A a B jsou identického odstínu, přestože to tak nevypadá. Když na ní aplikujeme přechod, je to teprve očividné.
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-17.jpg
ALT: obrázek Checker shadow illusion [/images/zvysene-vnimani-rozdilu-svetlosti-obr-17.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-18.jpg
ALT: gradient KMBCGYRW aplikovaný na Checker shadow illusion [/images/zvysene-vnimani-rozdilu-svetlosti-obr-18.jpg]


============================================================
TITLE: Zvýšené vnímání rozdílů světlosti
SLUG: zvysene-vnimani-rozdilu-svetlosti
URL: https://vojtamaur.cz/en/zvysene-vnimani-rozdilu-svetlosti/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2020-10-02
SOURCE: src/content/posts/zvysene-vnimani-rozdilu-svetlosti.mdx
BUILT_HTML: dist/en/zvysene-vnimani-rozdilu-svetlosti/index.html
============================================================

Enhanced Perception of Luminance Differences
October 2020
What if our eyes were capable of perceiving even subtle differences in brightness? How different would our view of the world be as a result? Is there a way to visualize this? Yes, I think there is. I will now try to describe how this can be achieved.
So let’s look at how the human eye perceives a black-and-white photograph.

[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-1.jpg
ALT: černobílá fotografie medvědů

We can say that we perceive the darkest areas as black and the lightest areas as white. Everything in between consists of various shades of gray. This spectrum can be represented as follows:

[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-2.jpg
ALT: gradient black-white

Since our eyes aren’t very good at perceiving small differences between two shades of gray, I decided to add the entire color spectrum as intermediate steps to this gradient. The resulting gradient then looks like this:

[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-3.jpg
ALT: gradient black, magenta, blue, cyan, green, yellow, red, white (KMBCGYRW)

Black areas remain black, white areas remain white, but the gray gradient between them is now enriched with colors. Below is an example of what a photo of a bear would look like after applying this new gradient.

[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-4.jpg
ALT: gradient KMBCGYRW aplikovaný na černobílou fotku medvědů

The photo reveals details that would be lost in a normal black-and-white photo. I also experimented with this gradient on analog photos (see below). For comparison, the original black-and-white photo is always shown first.
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-5.jpg
ALT: černobílá analogová fotka Marka Herinka [/images/zvysene-vnimani-rozdilu-svetlosti-obr-5.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-6.jpg
ALT: gradient KMBCGYRW aplikovaný na černobílou analogovou fotku Marka Herinka [/images/zvysene-vnimani-rozdilu-svetlosti-obr-6.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-7.jpg
ALT: černobílá analogová fotka Michaeli Stehlíkové [/images/zvysene-vnimani-rozdilu-svetlosti-obr-7.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-8.jpg
ALT: gradient KMBCGYRW aplikovaný na černobílou analogovou fotku Michaeli Stehlíkové [/images/zvysene-vnimani-rozdilu-svetlosti-obr-8.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-9.jpg
ALT: černobílá analogová fotka Vojty Maura [/images/zvysene-vnimani-rozdilu-svetlosti-obr-9.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-10.jpg
ALT: gradient KMBCGYRW aplikovaný na černobílou analogovou fotku Vojty Maura [/images/zvysene-vnimani-rozdilu-svetlosti-obr-10.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-11.jpg
ALT: černobílá analogová fotka z pinhole fotoaparátu [/images/zvysene-vnimani-rozdilu-svetlosti-obr-11.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-12.jpg
ALT: gradient KMBCGYRW aplikovaný na černobílou analogovou fotku z pinhole fotoaparátu [/images/zvysene-vnimani-rozdilu-svetlosti-obr-12.jpg]
I was curious to see if this gradient could be used in drawing to achieve more precise shading. That’s why I tested it on one of my older drawings:
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-13.jpg
ALT: studijní kresba uhlem od Vojty Maura [/images/zvysene-vnimani-rozdilu-svetlosti-obr-13.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-14.jpg
ALT: gradient KMBCGYRW aplikovaný na studijní kresba uhlem od Vojty Maura [/images/zvysene-vnimani-rozdilu-svetlosti-obr-14.jpg]
I decided to further test this gradient on optical illusions based on our imperfect perception of differences in brightness. Here’s one example of such an illusion:

[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-15.jpg
ALT: obrázek černobílé optické iluze rozdílu světlostí

Just as you’d expect, both squares are identical. Yet to the human eye, one appears lighter. If I apply this gradient to the illusion above, it will become much clearer that the squares are the same shade. The illusion is thus disrupted and ceases to be an illusion.

[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-16.jpg
ALT: gradient KMBCGYRW aplikovaný na obrázek černobílé optické iluze rozdílu světlostí

Another similar illusion is the Checker Shadow Illusion [https://en.wikipedia.org/wiki/Checker_shadow_illusion]. The principle is the same: areas A and B are the same shade, even though they don’t appear to be. When we apply the gradient to it, this becomes obvious.
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-17.jpg
ALT: obrázek Checker shadow illusion [/images/zvysene-vnimani-rozdilu-svetlosti-obr-17.jpg]
[MEDIA: image]
FILE: /images/zvysene-vnimani-rozdilu-svetlosti-obr-18.jpg
ALT: gradient KMBCGYRW aplikovaný na Checker shadow illusion [/images/zvysene-vnimani-rozdilu-svetlosti-obr-18.jpg]


============================================================
TITLE: Teorémy života
SLUG: teoremy-zivota
URL: https://vojtamaur.cz/teoremy-zivota/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2020-10-01
SOURCE: src/content/posts/teoremy-zivota.mdx
BUILT_HTML: dist/teoremy-zivota/index.html
============================================================

Teorémy života
říjen 2020
Instagramová stránka obsahující fotografie života na Zemi různých velikostních úrovní.
www.instagram.com/vojta_maur_zivot [http://www.instagram.com/vojta_maur_zivot]

[MEDIA: image]
FILE: /images/teoremy-zivota-obr-1.jpg
ALT: screenshot Instagramové stránky


============================================================
TITLE: Teorémy života
SLUG: teoremy-zivota
URL: https://vojtamaur.cz/en/teoremy-zivota/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2020-10-01
SOURCE: src/content/posts/teoremy-zivota.mdx
BUILT_HTML: dist/en/teoremy-zivota/index.html
============================================================

Theorems of Life
October 2020
An Instagram page featuring photographs of life on Earth at various scales.
www.instagram.com/vojta_maur_zivot [http://www.instagram.com/vojta_maur_zivot]

[MEDIA: image]
FILE: /images/teoremy-zivota-obr-1.jpg
ALT: screenshot Instagramové stránky


============================================================
TITLE: Počítač s náhodnými vstupy
SLUG: pocitac-nahodnymi-vstupy
URL: https://vojtamaur.cz/pocitac-nahodnymi-vstupy/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2020-09-01
SOURCE: src/content/posts/pocitac-nahodnymi-vstupy.mdx
BUILT_HTML: dist/pocitac-nahodnymi-vstupy/index.html
============================================================

Počítač s náhodnými vstupy
září 2020
Pro účely této úvahy jsem v programovacím jazyce Python vytvořil program, který mému počítači zadává náhodné vstupy. Může tak například hýbat kurzorem myši, klikat, mačkat jakákoliv tlačítka na klávesnici a to všechno naprosto náhodně. Říkejme mu proto OPICE-1 (podle teorie o nekonečné opici). Zde je zdrojový kód, není však nezbytné ho chápat:

[CODE BLOCK]
import pyautogui
import random
import time
import sys

sys.setrecursionlimit(100000)
time.sleep(5)

def random_inputs():
  
    AllKeys = ['\t', '\n', '\r', ' ', '!', '"', '#', '$', '%', '&', "'", '(',
        ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7',
        '8', '9', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`',
        'a', 'b', 'c', 'd', 'e','f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
        'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~',
        'accept', 'add', 'alt', 'altleft', 'altright', 'apps', 'backspace',
        'browserback', 'browserfavorites', 'browserforward', 'browserhome',
        'browserrefresh', 'browsersearch', 'browserstop', 'capslock', 'clear',
        'convert', 'ctrl', 'ctrlleft', 'ctrlright', 'decimal', 'del', 'delete',
        'divide', 'down', 'end', 'enter', 'esc', 'escape', 'execute', 'f1', 'f10',
        'f11', 'f12', 'f13', 'f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f2', 'f20',
        'f21', 'f22', 'f23', 'f24', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9',
        'final', 'fn', 'hanguel', 'hangul', 'hanja', 'help', 'home', 'insert', 'junja',
        'kana', 'kanji', 'launchapp1', 'launchapp2', 'launchmail',
        'launchmediaselect', 'left', 'modechange', 'multiply', 'nexttrack',
        'nonconvert', 'num0', 'num1', 'num2', 'num3', 'num4', 'num5', 'num6',
        'num7', 'num8', 'num9', 'numlock', 'pagedown', 'pageup', 'pause', 'pgdn',
        'pgup', 'playpause', 'prevtrack', 'print', 'printscreen', 'prntscrn',
        'prtsc', 'prtscr', 'return', 'right', 'scrolllock', 'select', 'separator',
        'shift', 'shiftleft', 'shiftright', 'sleep', 'space', 'stop', 'subtract', 'tab',
        'up', 'volumedown', 'volumemute', 'volumeup', 'win', 'winleft', 'winright', 'yen',
        'command', 'option', 'optionleft', 'optionright']


    while True:
        rnd_A0 = random.randint(0, 1)
        rnd_B0 = random.randint(0, 2)
        rnd_C0 = random.randint(0, 4)

        if rnd_B0 == 0:
            pyautogui.press(AllKeys[random.randint(0, len(AllKeys)-1)])

        elif rnd_B0 == 1:
            multi_key = []
            for i in range(0, random.randint(0, 5)):
                multi_key.append(AllKeys[random.randint(0, len(AllKeys)-1)])
            pyautogui.hotkey(*multi_key)

        else:
            if rnd_A0 == 0:
                pyautogui.moveTo(random.randint(0, pyautogui.size()[0]), random.randint(0, pyautogui.size()[1]), duration=.2)

                if rnd_C0 == 0:
                    pyautogui.click()

                elif rnd_C0 == 1:
                    pyautogui.doubleClick()

                elif rnd_C0 == 2:
                    pyautogui.click(button='right')

                elif rnd_C0 == 3:
                    pyautogui.click(button='middle')
            else:
                pyautogui.dragTo(random.randint(0, pyautogui.size()[0]), random.randint(0, pyautogui.size()[0]), duration=.2)

        time.sleep(.1)



def ignore_errors():
    try:
        random_inputs()
    except Exception:
        ignore_errors()



ignore_errors()
[/CODE BLOCK]

Pro ilustraci jsem program OPICE-1 nahrál při chodu a vytvořil tak první video níže. Vzhledem k tomu, že byla spuštěn asi hodinu, první video jsem mnohonásobně zrychlil a vytvořil tak druhé video, aby divák nemusel sledovat celé první video a přesto viděl, jaké úkony program OPICE-1 asi vykonal.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/xZp9WpHKVKA
NOTE: Embedded or binary content is not represented in this plain-text export.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/fUh24r03e7o
NOTE: Embedded or binary content is not represented in this plain-text export.

Jak si lze povšimnout na videích, program OPICE-1 v určité chvíli začne přepisovat svůj vlastní kód. Celé video končí zaseknutím a následným pádem operačního systému. Když jsem s ním dále experimentoval, program OPICE-1 udělal několik dalších pozoruhodných věcí. Například otevřel vyhledávač Bing a napsal do něj “9/11”, pořídil snímek obrazovky, restartoval počítač, nainstaloval karetní hru nebo něco abstraktního “nakreslil” (viz obrázek níže).

[MEDIA: image]
FILE: /images/pocitac-nahodnymi-vstupy-obr-1.png
ALT: abstraktní kresba v MS Paint, autor: OPICE-1

Lze tedy říci, že pokud by program OPICE-1 byl spuštěný určitý neomezený čas, může teoreticky zvládnout VŠE (slovem VŠE myslím provést všechny operace, které počítač umožnuje, a proto ho píši velkým tiskacím písmem), co by zvládl uživatele stejného počítače? Mohl by přece teoreticky vytvořit složku na ploše, otevřít webový prohlížeč a něco vyhledat, otevřít Word a napsat tuto úvahu, napsat jakoukoli knihu, vytvořit elektronickou hudbu, napsat program v Pythonu, napsat sám sebe a tak dále. Mohl by také vypnout sám sebe, vypnout celý počítač nebo poškodit svůj vlastní kód. A právě zde je nejspíš jasné, že není možné, aby program OPICE-1 po spuštění dokázal VŠE – musel by totiž udělat i krok, který by ho zastavil. Dobrá, a co tedy, kdyby udělal VŠE bez kroku, který způsobí jeho zastavení a jako poslední provedl onen krok? Je to sice naprosto nepravděpodobné, ale ne nemožné. Je tu bohužel stále jeden háček – kroků, které vedou k jeho zastavení je mnoho. Kdyby provedl jeden z nich, nemohl by už provést žádný následující, a to je spor s původním předpokladem, že program OPICE-1 zvládne VŠE. Tento program tedy nezvládne VŠE.
Napadá mě ještě jedno řešení. Program OPICE-1 nedokáže VŠE, protože je podsystémem operačního systému. Když se operační systém vypne vlivem programu, přestane fungovat i samotný program. Zde je menší diagram, který popisuje vztah operačního systému a programu OPICE-1. Šipky znamenají “působí na”.

[MEDIA: image]
FILE: /images/pocitac-nahodnymi-vstupy-obr-2.png
ALT: "PROGRAM

Problém je tedy v tom, že operační systém působí na program. Bylo by tedy možné tuto smyčku “roztrhnout” a vytvořit program, který bude na operačním systému zcela nezávislý? Program, který působí na operační systém, ale zároveň na něj samotný operační systém působit nemůže? Program, jehož diagram vypadá asi nějak takhle?

[MEDIA: image]
FILE: /images/pocitac-nahodnymi-vstupy-obr-3.png
ALT: "PROGRAM

Jinými slovy – existuje podobný program, který zvládne VŠE, ale sám sebe zastavit nezvládne (respektive to ani není z principu jeho konstrukce možné)? Takový program nazveme OPICE-2. V následujících krocích se pokusím vysvětlit způsob, který je sice trochu absurdní a rozhodně by šel vymyslet elegantněji, nicméně pro nastínění mé myšlenky je asi nejvhodnější. Pokusil jsem se udělat vizualizaci toho, jak by asi mohl vypadat takový program nezávislý na operačním systému.

[MEDIA: image]
FILE: /images/pocitac-nahodnymi-vstupy-obr-4.jpg
ALT: vizualizace OPICE-2

Spodní patro tohoto zařízení slouží k mechanickému mačkání kláves na klávesnici. Horní patro zase k mechanickému pohybu myší a klikání. To vše je připojeno k nějakému jednodušímu počítači (např. Arduinu, Raspberry Pi atd.), které lze spatřit v prostředním patře. Právě v něm je nahraný náš program OPICE-2. Je důležité zmínit, že k notebooku je připojena pouze myš a nic jiného. Jednodušší počítač tedy nesmí být žádným způsobem propojen s notebookem a jeho komunikace tak musí zůstat čistě jednosměrná (jednodušší počítač působí na notebook, ne naopak). Také by neměl být připojen k internetu jednodušší počítač, ve kterém je uložen náš kód programu OPICE-2, jelikož internet je pro tuto úvahu jedna velká spleť bludišť a pokud se do nich naše zařízení vydá, nikdo nedokáže moc dobře odhadnout jeho důsledky. Tak například by se mohl pomocí internetu a notebooku náš jednoduššíí program nějak připojit sám na sebe a vypnout se.
Toto zařízení vypadá, že již nemůže působit samo na sebe a tím se vypnout. Je tomu ale skutečně tak? Může nastat situace, ve které by zařízení samo sebe vypnulo? Jedna taková situace mě napadá: Pomocí internetu zařízení nahlásí nějaké příslušné službě bombu v místě, kde se právě zařízení nachází a tak přijede tým pyrotechniků a zařízení zneškodní. Tato situace je samozřejmě hodně nepravděpodobná, ale opět, ne nemožná.
Nestačilo by tedy jen notebook odpojit od internetu? Rozhodně by to zabránilo výše uvedené situaci, nicméně by to stejně nepomohlo. Napadají mě další situace, při kterých by zařízení mohlo zprostředkovaně působit samo na sebe. Zde je uvedena taková možná situace: Kolem notebooku projde nějaký člověk, který o tomto zařízení nic neví. Zrovna, když se na zařízení bude dívat, na obrazovce se objeví nápis “VYPNI MĚ”. Člověka by tento nápis (nebo jiný, daleko údernější nápis) mohl přesvědřit a zařízení tak skutečně vypnout.
Dobrá, a co prostě jen zařídit, aby zařízení nebylo schopno žádného výstupu (žádný monitor, žádné reproduktory atd.)? Tím by zařízení nemohlo ovlivnovat vnější svět, který by pak nemohl ovlivnit ono zařízení a způsobit jeho vypnutí. To zní sice rozumně, ovšem není to moc reálné. Zařízení by mohlo stále komunikovat různými zůpsoby, například zapínáním a vypínáním podsvícení klávesnice, rozdílem hluku při zapnutém a vypnutém stavu notebooku nebo dokonce rozdílem teploty procesoru. Nemyslím si, že je možné vytvořit zařízení, které je součástí tohoto světa a zároveň s ním nějak neinteraguje.
Na druhou stranu by se dalo argumentovat, že uživatel počítače by se také mohl sám zničit jen pouhým mačkáním kláves a klikání myší. Mohl by si například pomocí dark webu objednat vraždu jeho samotného a tak dále…
Zakončím tedy tuto úvahu tvrzením, že pokud by program jakkoli interagoval s vnějším světem, mohl by se tím nakonec sám zastavit a to i přesto, že program teoreticky dokáže vše, co by dokázal uživatel.


============================================================
TITLE: Počítač s náhodnými vstupy
SLUG: pocitac-nahodnymi-vstupy
URL: https://vojtamaur.cz/en/pocitac-nahodnymi-vstupy/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2020-09-01
SOURCE: src/content/posts/pocitac-nahodnymi-vstupy.mdx
BUILT_HTML: dist/en/pocitac-nahodnymi-vstupy/index.html
============================================================

Computer with Random Inputs
September 2020
For the purposes of this discussion, I created a program in Python that provides my computer with random inputs. It can, for example, move the mouse cursor, click, and press any keys on the keyboard—all completely at random. Let’s call it OPICE-1 (after the infinite monkey theory). Here is the source code, though it’s not necessary to understand it:

[CODE BLOCK]
import pyautogui
import random
import time
import sys

sys.setrecursionlimit(100000)
time.sleep(5)

def random_inputs():
  
    AllKeys = ['\t', '\n', '\r', ' ', '!', '"', '#', '$', '%', '&', "'", '(',
        ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7',
        '8', '9', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`',
        'a', 'b', 'c', 'd', 'e','f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
        'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~',
        'accept', 'add', 'alt', 'altleft', 'altright', 'apps', 'backspace',
        'browserback', 'browserfavorites', 'browserforward', 'browserhome',
        'browserrefresh', 'browsersearch', 'browserstop', 'capslock', 'clear',
        'convert', 'ctrl', 'ctrlleft', 'ctrlright', 'decimal', 'del', 'delete',
        'divide', 'down', 'end', 'enter', 'esc', 'escape', 'execute', 'f1', 'f10',
        'f11', 'f12', 'f13', 'f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f2', 'f20',
        'f21', 'f22', 'f23', 'f24', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9',
        'final', 'fn', 'hanguel', 'hangul', 'hanja', 'help', 'home', 'insert', 'junja',
        'kana', 'kanji', 'launchapp1', 'launchapp2', 'launchmail',
        'launchmediaselect', 'left', 'modechange', 'multiply', 'nexttrack',
        'nonconvert', 'num0', 'num1', 'num2', 'num3', 'num4', 'num5', 'num6',
        'num7', 'num8', 'num9', 'numlock', 'pagedown', 'pageup', 'pause', 'pgdn',
        'pgup', 'playpause', 'prevtrack', 'print', 'printscreen', 'prntscrn',
        'prtsc', 'prtscr', 'return', 'right', 'scrolllock', 'select', 'separator',
        'shift', 'shiftleft', 'shiftright', 'sleep', 'space', 'stop', 'subtract', 'tab',
        'up', 'volumedown', 'volumemute', 'volumeup', 'win', 'winleft', 'winright', 'yen',
        'command', 'option', 'optionleft', 'optionright']


    while True:
        rnd_A0 = random.randint(0, 1)
        rnd_B0 = random.randint(0, 2)
        rnd_C0 = random.randint(0, 4)

        if rnd_B0 == 0:
            pyautogui.press(AllKeys[random.randint(0, len(AllKeys)-1)])

        elif rnd_B0 == 1:
            multi_key = []
            for i in range(0, random.randint(0, 5)):
                multi_key.append(AllKeys[random.randint(0, len(AllKeys)-1)])
            pyautogui.hotkey(*multi_key)

        else:
            if rnd_A0 == 0:
                pyautogui.moveTo(random.randint(0, pyautogui.size()[0]), random.randint(0, pyautogui.size()[1]), duration=.2)

                if rnd_C0 == 0:
                    pyautogui.click()

                elif rnd_C0 == 1:
                    pyautogui.doubleClick()

                elif rnd_C0 == 2:
                    pyautogui.click(button='right')

                elif rnd_C0 == 3:
                    pyautogui.click(button='middle')
            else:
                pyautogui.dragTo(random.randint(0, pyautogui.size()[0]), random.randint(0, pyautogui.size()[0]), duration=.2)

        time.sleep(.1)



def ignore_errors():
    try:
        random_inputs()
    except Exception:
        ignore_errors()



ignore_errors()
[/CODE BLOCK]

To illustrate, I recorded OPICE-1 while it was running, creating the first video below. Since it ran for about an hour, I sped up the first video many times over to create the second video, so that viewers don’t have to watch the entire first video but can still see what kinds of actions the OPICE-1 program likely performed.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/xZp9WpHKVKA
NOTE: Embedded or binary content is not represented in this plain-text export.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/fUh24r03e7o
NOTE: Embedded or binary content is not represented in this plain-text export.

As you can see in the videos, at a certain point, the OPICE-1 program begins to rewrite its own code. The entire video ends with the operating system freezing and then crashing. As I continued to experiment with it, the OPICE-1 program did several other remarkable things. For example, it opened the Bing search engine and typed “9/11” into it, took a screenshot, restarted the computer, installed a card game, or “drew” something abstract (see the image below).

[MEDIA: image]
FILE: /images/pocitac-nahodnymi-vstupy-obr-1.png
ALT: abstraktní kresba v MS Paint, autor: OPICE-1

So it can be said that if the OPICE-1 program were to run for an unlimited amount of time, it could theoretically do EVERYTHING (by “EVERYTHING” I mean perform all operations that a computer allows, which is why I’m writing it in all caps), what could a user of the same computer do? After all, it could theoretically create a folder on the desktop, open a web browser and search for something, open Word and write this essay, write any book, create electronic music, write a program in Python, write itself, and so on. It could also shut itself down, shut down the entire computer, or corrupt its own code. And this is precisely where it becomes clear that it’s impossible for the OPICE-1 program to do EVERYTHING once it’s running—after all, it would also have to take the step that would stop it. All right, so what if it did EVERYTHING without taking the step that would cause it to stop, and then performed that step last? While this is highly unlikely, it’s not impossible. Unfortunately, there’s still one catch—there are many steps that lead to its termination. If it performed one of them, it wouldn’t be able to perform any subsequent steps, and that contradicts the original assumption that the OPICE-1 program can do EVERYTHING. Therefore, this program cannot do EVERYTHING.
One more solution comes to mind. The OPICE-1 program cannot do EVERYTHING because it is a subsystem of the operating system. When the operating system shuts down due to the program, the program itself also stops working. Here is a simple diagram illustrating the relationship between the operating system and the OPICE-1 program. The arrows indicate “affects.”

[MEDIA: image]
FILE: /images/pocitac-nahodnymi-vstupy-obr-2.png
ALT: "PROGRAM

The problem, then, is that the operating system affects the program. Would it therefore be possible to “break” this loop and create a program that is completely independent of the operating system? A program that affects the operating system, but at the same time cannot be affected by the operating system itself? A program whose diagram looks something like this?

[MEDIA: image]
FILE: /images/pocitac-nahodnymi-vstupy-obr-3.png
ALT: "PROGRAM

In other words—is there a similar program that can handle EVERYTHING, but cannot stop itself (or rather, this isn’t even possible due to the very nature of its design)? We’ll call such a program OPICE-2. In the following steps, I’ll try to explain a method that, while a bit absurd and certainly one that could be devised more elegantly, is probably the most suitable for illustrating my idea. I’ve tried to visualize what such an operating-system-independent program might look like.

[MEDIA: image]
FILE: /images/pocitac-nahodnymi-vstupy-obr-4.jpg
ALT: vizualizace OPICE-2

The lower section of this device is used to mechanically press the keys on the keyboard. The upper level, in turn, is used for mechanically moving the mouse and clicking. All of this is connected to a simpler computer (e.g., an Arduino, Raspberry Pi, etc.), which can be seen on the middle level. Our OPICE-2 program is running on this computer. It is important to note that only the mouse is connected to the laptop—nothing else. Therefore, the simpler computer must not be connected to the laptop in any way, and communication between them must remain strictly one-way (the simpler computer controls the laptop, not the other way around). Furthermore, the simpler computer on which our OPICE-2 program code is stored should not be connected to the internet, since the internet is, for the purposes of this discussion, one big maze of tangled paths, and if our device were to venture into them, no one could accurately predict the consequences. For example, using the internet and the laptop, our simpler program could somehow connect to itself and shut down.
This device appears to be unable to act on itself and thus shut itself down. But is that really the case? Could a situation arise in which the device would shut itself down? One such situation comes to mind: Using the internet, the device reports a bomb to the appropriate authorities at its current location, so a bomb squad arrives and defuses it. This situation is, of course, highly unlikely, but again, not impossible.
Wouldn’t it be enough, then, to simply disconnect the laptop from the internet? That would certainly prevent the situation described above, but it wouldn’t help in this case either. I can think of other situations in which the device could indirectly affect itself. Here’s one possible scenario: A person who knows nothing about the device walks past the laptop. Just as they’re looking at the device, the message “TURN ME OFF” appears on the screen. This message (or another, far more forceful one) could convince the person to actually turn the device off.
All right, but what about simply ensuring that the device is incapable of any output (no monitor, no speakers, etc.)? That way, the device could not influence the outside world, which in turn could not influence the device and cause it to shut down. That sounds reasonable, but it’s not very realistic. The device could still communicate in various ways, such as by turning the keyboard backlight on and off, through differences in noise when the laptop is on versus off, or even through differences in processor temperature. I don’t think it’s possible to create a device that is part of this world and yet doesn’t interact with it in some way.
On the other hand, one could argue that a computer user could also destroy themselves simply by pressing keys and clicking the mouse. For example, they could use the dark web to order their own murder, and so on…
I’ll conclude this reflection by stating that if a program were to interact with the outside world in any way, it could ultimately shut itself down—even though, in theory, the program is capable of doing everything a user could do.


============================================================
TITLE: Zacyklená hierarchie života
SLUG: zacyklena-hierarchie-zivota
URL: https://vojtamaur.cz/zacyklena-hierarchie-zivota/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2020-08-01
SOURCE: src/content/posts/zacyklena-hierarchie-zivota.mdx
BUILT_HTML: dist/zacyklena-hierarchie-zivota/index.html
============================================================

Zacyklená hierarchie života
srpen 2020
[MEDIA: image]
FILE: /images/zacyklena-hierarchie-zivota-obr-1.jpg
ALT: živá lasturnatka pod mikroskopem [/images/zacyklena-hierarchie-zivota-obr-1.jpg]
[MEDIA: image]
FILE: /images/zacyklena-hierarchie-zivota-obr-2.jpg
ALT: mrtvá lasturnatka pod mikroskopem [/images/zacyklena-hierarchie-zivota-obr-2.jpg]
Na prvním snímku je lasturnatka, což je drobný vodní korýš velký asi 1 mm. Živí se řasou, kvasinkami, bakteriemi atd. Je to tedy takzvaný filtrátor.
Na druhém snímku se tato hierarchie potravního řetězce obrátila – můžeme na něm spatřit PSB (purple sulfur bacteria) a hlenky, jak hodují na mrtvé schránce lasturnatky. Kupodivu tento výjev smrti a dekompozice nepůsobí vůbec odporně či děsivě, ba naopak, shledal jsem ho překrásným a fascinujícím. Vzhled druhého snímku je tedy podle mého názoru kontrastní k jeho vnitřnímu významu a možná právě toto napětí mu přidává na působivosti.
Dalším důvodem, proč na mě toto dílo působí velmi silným a osobním dojmem, je fakt, že i já jednou skončím úplně stejně, jako tato lasturnatka.


============================================================
TITLE: Zacyklená hierarchie života
SLUG: zacyklena-hierarchie-zivota
URL: https://vojtamaur.cz/en/zacyklena-hierarchie-zivota/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2020-08-01
SOURCE: src/content/posts/zacyklena-hierarchie-zivota.mdx
BUILT_HTML: dist/en/zacyklena-hierarchie-zivota/index.html
============================================================

The Cyclical Hierarchy of Life
August 2020
[MEDIA: image]
FILE: /images/zacyklena-hierarchie-zivota-obr-1.jpg
ALT: živá lasturnatka pod mikroskopem [/images/zacyklena-hierarchie-zivota-obr-1.jpg]
[MEDIA: image]
FILE: /images/zacyklena-hierarchie-zivota-obr-2.jpg
ALT: mrtvá lasturnatka pod mikroskopem [/images/zacyklena-hierarchie-zivota-obr-2.jpg]
The first image shows a copepod, a tiny aquatic crustacean about 1 mm in size. It feeds on algae, yeast, bacteria, etc. It is therefore what is known as a filter feeder.
In the second image, this food chain hierarchy has been reversed—we can see PSB (purple sulfur bacteria) and slime molds feasting on the dead shell of the copepod. Surprisingly, this scene of death and decomposition does not seem repulsive or terrifying at all; on the contrary, I found it beautiful and fascinating. In my opinion, the appearance of the second image contrasts with its inner meaning, and perhaps it is precisely this tension that adds to its impact.
Another reason why this work makes such a strong and personal impression on me is the fact that I, too, will one day end up exactly the same way as this bivalve.


============================================================
TITLE: Odraz a prostor
SLUG: odraz-a-prostor
URL: https://vojtamaur.cz/odraz-a-prostor/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2020-05-01
SOURCE: src/content/posts/odraz-a-prostor.mdx
BUILT_HTML: dist/odraz-a-prostor/index.html
============================================================

Odraz a prostor
květen 2020
V této práci jsem se zabýval odrazem, jeho vizualizací a matematickým modelem. Začal jsem jednoduchým problémem – míčkem ve čtverci. Tento „míček“ je ve skutečnosti matematický vektor, tedy bezrozměrný bod, který má pozici a směr, ale pro zjednodušení ho budeme nadále nazývat míčkem. Také jsem pro zjednodušení ignoroval odpor vzduchu, ztrátu energie při odrazu atd. Míček je tedy vržen do čtverce pod nějakou počáteční pozicí a úhlem. Když narazí na stranu čtverce, odrazí se. Při pohybu za sebou také zanechává trajektorii. Tuto simulaci lze vidět v interaktivním okně níže. Lze s ním experimentovat a měnit počáteční úhel (angle) na jinou hodnotu.

[INTERACTIVE EMBED]
SOURCE: /demos/odraz-a-prostor/odraz-a-prostor-2D.html
NOTE: Embedded or binary content is not represented in this plain-text export.

Zatímco některé hodnoty počátečního úhlu vytvoří velice jednoduché trajektorie, které samy sebe obtahují (při úhlech 45° a 90°), jiné hodnoty vytvoří velmi chaotické trajektorie. Otázka je, zda se jednou po dostatečném počtu odrazů i tyto trajektorie uzavřou samy do sebe a začnou se jen obtahovat. Jak lze spatřit na nákresu níže, každému odrazu lze přiřadit nějaký úhel φ(n) a nějakou délku L(n) od levého kraje strany čtverce, na níž míček dopadl.

[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-1.png
ALT: pomocný nákres k výpočtu trajektorie

Každá strana je velká 1 jednotku. Počátečními parametry je tedy velikost úhlu φ(0) a délka od levého kraje strany L(0). Takto vypuštěný míček se pak odrazí a vzniknou dvojice čísel φ(1) a L(1), dále φ(2) a L(2) atd… Pokud tedy chceme dokázat, zda se trajektorie při určitém počátečním úhlu a délce od levého kraje strany uzavře, zajímá nás, zda existují čísla φ(n) a L(n) taková, že φ(0) = φ(n) a L(0) = L(n). Jinými slovy, zajímá nás, zda se míček jednou dostane na místo, odkud byl vypuštěn a od toho se odrazí pod stejným úhlem. Abychom přesněji pochopili, co se z matematického hlediska při odrazech děje, napsal jsem algoritmus, do kterého se zadají dva parametry – φ(n) a L(n). Algoritmus poté přesně vypočte hodnoty čísel φ(n + 1) a L(n + 1), tedy hodnoty dalšího odrazu.

[CODE BLOCK]
POKUD φ(n) < 90°:  

            POKUD tan(φ(n)) * (1 – L(n)) < 1:  
                        φ(n + 1) = 90° - φ(n)  
                        L(n + 1) = tan(φ(n)) * (1 – L(n))  
						
            POKUD tan(φ(n)) * (1 – L(n)) = 1:  
                        φ(n + 1) = φ(n)  
                        L(n + 1) = 0  
						
            POKUD tan(φ(n)) * (1 – L(n)) > 1:  
                        φ(n + 1) = 180° -  φ(n)  
                        L(n + 1) = 1 – (tan(90° - φ(n)) + L(n))  

POKUD φ(n) = 90°:  

            φ(n + 1) = φ(n)  
            L(n + 1) = L(n)  

POKUD φ(n) > 90°:  

            POKUD tan(180° -  φ(n)) * L(n) < 1:  
                        φ(n + 1) = 270° - φ(n)  
                        L(n + 1) = 1 – (tan(180° - φ(n)) * L(n))  
						
            POKUD tan(180° -  φ(n)) * L(n) = 1:  
                        φ(n + 1) = φ(n)  
                        L(n + 1) = 1  

            POKUD tan(180° -  φ(n)) * L(n) > 1:  
                        φ(n + 1) = 180° - φ(n)  
                        L(n + 1) = 1 + tan(150° - φ(n)) - L(n)
[/CODE BLOCK]

Stačí nám tedy do algoritmu vložit použe dva základní parametry (výchozí úhel a pozici) a on nám dá dva parametry kroku následujícího. Tyto dvojice čísel můžeme postupně vkládat do množiny číselné posloupnosti (nazvěme tuto množinu M). Otázka “Uzavře se jednou trajektorie míčku?” je logicky ekvivalentní s otázkou “Je posloupnost M periodická?”. Zatím bohužel nevím, jak na tuto otázku odpovědět.
Rozhodl jsem se dále pracovat na simulaci odrazu a rozšířit ji do 3D. Míček se v ní odráží od stěn krychle v trojdimenzionálním prostoru. Bohužel tato simulace nelze použít na webu ve formě interaktivního rámečku. Proto je zde pouze kód a výstup v podobě obrázků.

[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-2.gif
ALT: 3D animace

[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-3.png [/images/odraz-a-prostor-obr-3.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-4.png [/images/odraz-a-prostor-obr-4.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-5.png [/images/odraz-a-prostor-obr-5.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-6.png [/images/odraz-a-prostor-obr-6.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-7.png [/images/odraz-a-prostor-obr-7.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-8.png [/images/odraz-a-prostor-obr-8.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-9.png [/images/odraz-a-prostor-obr-9.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-10.png [/images/odraz-a-prostor-obr-10.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-11.png [/images/odraz-a-prostor-obr-11.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-12.png [/images/odraz-a-prostor-obr-12.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-13.png [/images/odraz-a-prostor-obr-13.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-14.png [/images/odraz-a-prostor-obr-14.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-15.png [/images/odraz-a-prostor-obr-15.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-16.png [/images/odraz-a-prostor-obr-16.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-17.png [/images/odraz-a-prostor-obr-17.png]
Různé obrázky výše jsou generovány vypuštěním míčku ze středu krychle do různých směrů. Jak lze vidět, tento počáteční směr zásadně ovlivňuje podobu trajektorie. Některé trajektorie se uzavřou samy do sebe hned po několika odrazech, jiné vypadají spíše chaoticky. Stejně jako u 2D simulace je dost obtížné určit, zda se náhodou i velice chaoticky vypadající trajektorie po dostatečném počtu odrazů uzavřou samy do sebe a dále se budou jen opisovat. Níže je interaktivní demo, které jsem pro tuto 3D simulaci vytvořil.

[INTERACTIVE EMBED]
SOURCE: /demos/odraz-a-prostor/odraz-a-prostor-3D.html
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Odraz a prostor
SLUG: odraz-a-prostor
URL: https://vojtamaur.cz/en/odraz-a-prostor/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2020-05-01
SOURCE: src/content/posts/odraz-a-prostor.mdx
BUILT_HTML: dist/en/odraz-a-prostor/index.html
============================================================

Reflection and Space
May 2020
In this work, I explored reflection, its visualization, and its mathematical model. I started with a simple problem—a ball in a square. This “ball” is actually a mathematical vector, i.e., a dimensionless point that has a position and direction, but for simplicity’s sake, we’ll continue to refer to it as a ball. For simplicity, I also ignored air resistance, energy loss during the bounce, and so on. The ball is thus thrown into the square from an initial position and angle. When it hits the side of the square, it bounces off. As it moves, it also leaves a trajectory behind it. You can see this simulation in the interactive window below. You can experiment with it and change the initial angle to different values.

[INTERACTIVE EMBED]
SOURCE: /demos/odraz-a-prostor/odraz-a-prostor-2D.html
NOTE: Embedded or binary content is not represented in this plain-text export.

While some initial angle values produce very simple trajectories that loop back on themselves (at angles of 45° and 90°), other values produce very chaotic trajectories. The question is whether, after a sufficient number of bounces, even these trajectories will close in on themselves and begin to simply trace their own paths. As can be seen in the diagram below, each bounce can be assigned an angle φ(n) and a distance L(n) from the left edge of the side of the square where the ball landed.

[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-1.png
ALT: pomocný nákres k výpočtu trajektorie

Each side is 1 unit long. The initial parameters are therefore the angle φ(0) and the distance L(0) from the left edge of the side. A ball released in this way will then bounce, yielding pairs of numbers φ(1) and L(1), then φ(2) and L(2), and so on… Therefore, if we want to prove whether the trajectory will close at a given initial angle and distance from the left edge of the side, we are interested in whether there exist numbers φ(n) and L(n) such that φ(0) = φ(n) and L(0) = L(n). In other words, we are interested in whether the ball will eventually return to the point from which it was released and bounce off it at the same angle. To better understand what happens mathematically during these bounces, I wrote an algorithm that takes two parameters—φ(n) and L(n). The algorithm then precisely calculates the values of φ(n + 1) and L(n + 1), that is, the values for the next bounce.

[CODE BLOCK]
POKUD φ(n) < 90°:  

            POKUD tan(φ(n)) * (1 – L(n)) < 1:  
                        φ(n + 1) = 90° - φ(n)  
                        L(n + 1) = tan(φ(n)) * (1 – L(n))  
						
            POKUD tan(φ(n)) * (1 – L(n)) = 1:  
                        φ(n + 1) = φ(n)  
                        L(n + 1) = 0  
						
            POKUD tan(φ(n)) * (1 – L(n)) > 1:  
                        φ(n + 1) = 180° -  φ(n)  
                        L(n + 1) = 1 – (tan(90° - φ(n)) + L(n))  

POKUD φ(n) = 90°:  

            φ(n + 1) = φ(n)  
            L(n + 1) = L(n)  

POKUD φ(n) > 90°:  

            POKUD tan(180° -  φ(n)) * L(n) < 1:  
                        φ(n + 1) = 270° - φ(n)  
                        L(n + 1) = 1 – (tan(180° - φ(n)) * L(n))  
						
            POKUD tan(180° -  φ(n)) * L(n) = 1:  
                        φ(n + 1) = φ(n)  
                        L(n + 1) = 1  

            POKUD tan(180° -  φ(n)) * L(n) > 1:  
                        φ(n + 1) = 180° - φ(n)  
                        L(n + 1) = 1 + tan(150° - φ(n)) - L(n)
[/CODE BLOCK]

So all we need to do is feed just two basic parameters (the initial angle and position) into the algorithm, and it will give us the two parameters for the next step. We can gradually add these pairs of numbers to a set of numerical sequences (let’s call this set M). The question “Will the ball’s trajectory ever close?” is logically equivalent to the question “Is the sequence M periodic?” Unfortunately, I do not yet know how to answer this question.
I decided to continue working on the bounce simulation and extend it to 3D. In this simulation, the ball bounces off the walls of a cube in three-dimensional space. Unfortunately, this simulation cannot be used on the web as an interactive frame. Therefore, only the code and the output in the form of images are provided here.

[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-2.gif
ALT: 3D animace

[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-3.png [/images/odraz-a-prostor-obr-3.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-4.png [/images/odraz-a-prostor-obr-4.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-5.png [/images/odraz-a-prostor-obr-5.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-6.png [/images/odraz-a-prostor-obr-6.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-7.png [/images/odraz-a-prostor-obr-7.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-8.png [/images/odraz-a-prostor-obr-8.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-9.png [/images/odraz-a-prostor-obr-9.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-10.png [/images/odraz-a-prostor-obr-10.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-11.png [/images/odraz-a-prostor-obr-11.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-12.png [/images/odraz-a-prostor-obr-12.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-13.png [/images/odraz-a-prostor-obr-13.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-14.png [/images/odraz-a-prostor-obr-14.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-15.png [/images/odraz-a-prostor-obr-15.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-16.png [/images/odraz-a-prostor-obr-16.png]
[MEDIA: image]
FILE: /images/odraz-a-prostor-obr-17.png [/images/odraz-a-prostor-obr-17.png]
The various images above are generated by releasing the ball from the center of the cube in different directions. As you can see, this initial direction significantly affects the shape of the trajectory. Some trajectories close in on themselves after just a few bounces, while others appear rather chaotic. Just as with the 2D simulation, it is quite difficult to determine whether even very chaotic-looking trajectories will eventually close in on themselves after a sufficient number of bounces and simply trace each other from that point on. Below is an interactive demo I created for this 3D simulation.

[INTERACTIVE EMBED]
SOURCE: /demos/odraz-a-prostor/odraz-a-prostor-3D.html
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Mýty o Fibonacciho posloupnosti
SLUG: myty-fibonacciho-posloupnosti
URL: https://vojtamaur.cz/myty-fibonacciho-posloupnosti/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2020-04-02
SOURCE: src/content/posts/myty-fibonacciho-posloupnosti.mdx
BUILT_HTML: dist/myty-fibonacciho-posloupnosti/index.html
============================================================

Mýty o Fibonacciho posloupnosti
duben 2020
Asi nejznámější věcí je v populární matematice Fibonacciho posloupnost. Je to dáno jednak svou elegantní jednoduchostí, ale také jejím uplatněním hned v několika nevědeckých oborech, jako jsou například hudba nebo umění. Někteří lidé jí přisuzují až magické schopnosti a tvrdí, že tato posloupnost „vládne vesmíru“ nebo, že je „otiskem prstu Boha“. Na internetu se o ní ale bohužel šíří mylné informace, kterými se zde budu zabývat. Všichni tuto posloupnost nejspíš známe, přesto jí v úvodu pro jistotu vysvětlím.
Fibonacciho posloupnost je definovaná vzorcem:
F(0) = 0, F(1) = 1,
F(n) = F(n - 1) + F(n - 2).
Tento vzorec jde jednoduše slovně vysvětlit. První dva členy této sekvence jsou čísla 0 a 1 (proto F(0) = 0 a F(1) = 1). Následně tyto dva členy sečteme (tedy 1 + 0) a vznikne nám třetí člen posloupnosti, kterým bude číslo 1. Posloupnost tedy vypadá následovně: 0, 1, 1. Dále znovu sečteme poslední dva členy (tedy 1 + 1) a vznikne nám číslo 2. Vznikne posloupnost 0, 1, 1, 2. Znovu sečteme poslední dva členy (tedy 2 + 1) a výsledné číslo znovu přidáme do posloupnosti. Takto pokračujeme až do nekonečna. Prvních několik člen této posloupnosti vypadá takto:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
Tato posloupnost má překrásné matematické vlastnosti. Tak například, pokud vezmeme dvě po sobě jdoucí čísla a vypočítáme jejich podíl F(n + 1) / F (n), vznikne nám aproximace matematické konstanty φ, tedy zlatého řezu. Například 144 / 89 = 1,6179775280898876404494382022472, což je velice blízko zlatému řezu. Čím vyšší čísla zvolíme, tím přesnější aproximace bude. Vzhledem k tomu, že φ je iracionální číslo (má nekonečný neperiodický desetinný rozvoj), tato aproximace nemůže být nikdy naprosto přesná.
Asi nejznámější věcí je v populární matematice Fibonacciho posloupnost. Je to dáno jednak svou elegantní jednoduchostí, ale také jejím uplatněním hned v několika nevědeckých oborech, jako jsou například hudba nebo umění. Někteří lidé jí přisuzují až magické schopnosti a tvrdí, že tato posloupnost „vládne vesmíru“ nebo, že je „otiskem prstu Boha“. Na internetu se o ní ale bohužel šíří mylné informace, kterými se zde budu zabývat. Všichni tuto posloupnost nejspíš známe, přesto jí v úvodu pro jistotu vysvětlím.
Fibonacciho posloupnost je definovaná vzorcem
F(0) = 0, F(1) = 1,
F(n) = F(n - 1) + F(n - 2).
Tento vzorec jde jednoduše slovně vysvětlit. První dva členy této sekvence jsou čísla 0 a 1 (proto F(0) = 0 a F(1) = 1). Následně tyto dva členy sečteme (tedy 1 + 0) a vznikne nám třetí člen posloupnosti, kterým bude číslo 1. Posloupnost tedy vypadá následovně: 0, 1, 1. Dále znovu sečteme poslední dva členy (tedy 1 + 1) a vznikne nám číslo 2. Vznikne posloupnost 0, 1, 1, 2. Znovu sečteme poslední dva členy (tedy 2 + 1) a výsledné číslo znovu přidáme do posloupnosti. Takto pokračujeme až do nekonečna. Prvních několik člen této posloupnosti vypadá takto:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
Tato posloupnost má překrásné matematické vlastnosti. Tak například, pokud vezmeme dvě po sobě jdoucí čísla a vypočítáme jejich podíl F(n + 1) / F (n), vznikne nám aproximace matematické konstanty φ, tedy zlatého řezu. Například 144 / 89 = 1,6179775280898876404494382022472, což je velice blízko zlatému řezu. Čím vyšší čísla zvolíme, tím přesnější aproximace bude. Vzhledem k tomu, že φ je iracionální číslo (má nekonečný neperiodický desetinný rozvoj), tato aproximace nemůže být nikdy naprosto přesná.
Také pomocí této posloupnosti lze zkonstruovat velice slavnou spirálu zlatého řezu. Stačí jen vytvořit čtverec o rozměrech 1x1, poté další čtverec o rozměrech 1x1, následně další čtverec 2x2, 3x3, 5x5, 8x8… Poté už stačí jen do čtverců narýsovat čtvrtinu kruhu. Tento postup je dobře znázorněn v animaci níže.

[MEDIA: image]
FILE: /images/myty-fibonacciho-posloupnosti-obr-1.gif
ALT: animace konstrukce Fibonacciho spirály

Tady můžeme vidět hned první mýtus. Často na internetu vidím obrázky ulity loděnky, která má prý tvar Fibonacciho spirály. To je ale nesmysl a jak je hned z obrázků níže patrné, tato spirála absolutně neodpovídá tvaru ulity tohoto tvora.

[MEDIA: image]
FILE: /images/myty-fibonacciho-posloupnosti-obr-2.jpg
ALT: mýty o Fibonacciho spirále na Googlu
CAPTION: Zdroj: Google obrázky

[MEDIA: image]
FILE: /images/myty-fibonacciho-posloupnosti-obr-3.jpg
ALT: mýty o Fibonacciho spirále na YouTube
CAPTION: Zdroj: YouTube

Ve skutečnosti nemá loděnka ulitu ve tvaru Fibonacciho spirály (obrázek vlevo), ale logaritmické spirály (obrázek vpravo).

[MEDIA: image]
FILE: /images/myty-fibonacciho-posloupnosti-obr-4.jpg
ALT: porovnání spirál s ulitou loděnky

Dalším mýtem je tvrzení, že počet okvětních lístků rostlin je dán Fibonacciho posloupností. Zastánci tohoto mýtu tvrdí, že sice existují květiny, které mají počet okvětních listů jiný než členy Fibonacciho posloupnosti, ovšem takových je podle nich jen málo. Rozhodl jsem se toto tvrzení prověřit, a proto jsem si vzal atlas rostlin a spočítal téměř u každé rostliny počet okvětních lístků (některé květiny jsem vynechal proto, že mají například samčí i samičí květy s rozdílným počtem okvětních lístků nebo jim okvětní lístky úplně chybí). Z botanického hlediska je ovšem pojem „okvětní lístek“ dost nepřesný. To, čemu se hovorově říká okvětní lístek se v botanice nazývá květní obal [https://cs.wikipedia.org/wiki/Kv%C4%9Btn%C3%AD_obal]. Ten se dále dělí na korunní lístek a kališní lístek (viz obrázek níže). Někdy jsou tyto dva listy srostlé a tvoří tak jeden takzvaný okvětní lístek.
Do excel tabulky jsem tedy vypsal ke jménům květin počet jejich korunní lístků a kališních lístků, nebo okvětních lístků. Ze 120 rostlin, která byly uvedeny v knize Kapesní ATLAS ROSTLIN od Alberta Piláta a Otto Ušáka jsem takto přepsal do excel tabulky 104 rostlin. Z těchto dat jsem poté pomocí programovacího jazyka Python vytvořil níže uvedený graf.

[MEDIA: image]
FILE: /images/myty-fibonacciho-posloupnosti-obr-5.png
ALT: porovnání spirál s ulitou loděnky

Jak je z něho patrné, nejčastěji mají květiny 5 lístků květního obalu, což je zrovna náhodou číslo Fibonacciho posloupnosti. To je ale vše, jelikož druhým nejčastějším případem je číslo 4 a to není číslo Fibonacciho posloupnosti. Kdyby toto tvrzení bylo pravdivé, v grafu by to bylo patrné. Mýtus je tím tedy vymýcen, Fibonacciho posloupnost s počtem lístků květního obalu vůbec nesouvisí.
Tyto dva mýty určitě nejsou jediné, ale mým úkolem nebylo vymýtit všechny, ale spíše poukázat na to, že některé věci, které lze najít na internetu o Fibonacciho posloupnosti a zlatém řezu jsou nesmysl a vždy je důležité se nad nimi nejdříve zamyslet. Tím samozřejmě nechci zpochybňovat celou Fibonacciho posloupnost, pravdou je, že má opravdu pozoruhodné vlastnosti a v některých případech se opravdu vyskytuje v přírodě a v různých odvětví matematiky, ovšem tyto mýty a dezinformace ji na kráse lehce ubírají.


============================================================
TITLE: Mýty o Fibonacciho posloupnosti
SLUG: myty-fibonacciho-posloupnosti
URL: https://vojtamaur.cz/en/myty-fibonacciho-posloupnosti/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2020-04-02
SOURCE: src/content/posts/myty-fibonacciho-posloupnosti.mdx
BUILT_HTML: dist/en/myty-fibonacciho-posloupnosti/index.html
============================================================

Myths About the Fibonacci Sequence
April 2020
Perhaps the most well-known concept in popular mathematics is the Fibonacci sequence. This is due in part to its elegant simplicity, but also to its application in several non-scientific fields, such as music or art. Some people attribute almost magical powers to it and claim that this sequence “rules the universe” or that it is “God’s fingerprint.” Unfortunately, however, misinformation about it is spreading on the internet, which I will address here. We are all probably familiar with this sequence, but I will explain it in the introduction just to be sure.
The Fibonacci sequence is defined by the formula:
F(0) = 0, F(1) = 1,
F(n) = F(n - 1) + F(n - 2).
This formula can be easily explained in words. The first two terms of this sequence are the numbers 0 and 1 (hence F(0) = 0 and F(1) = 1). Next, we add these two terms (i.e., 1 + 0) to get the third term of the sequence, which is the number 1. The sequence thus looks like this: 0, 1, 1. Next, we add the last two terms again (i.e., 1 + 1) to get the number 2. This gives us the sequence 0, 1, 1, 2. We add the last two terms again (i.e., 2 + 1) and add the resulting number back to the sequence. We continue this process indefinitely. The first few terms of this sequence look like this:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
This sequence has beautiful mathematical properties. For example, if we take two consecutive numbers and calculate their ratio F(n + 1) / F(n), we obtain an approximation of the mathematical constant φ, i.e., the golden ratio. For example, 144 / 89 = 1.6179775280898876404494382022472, which is very close to the golden ratio. The larger the numbers we choose, the more accurate the approximation will be. Since φ is an irrational number (it has an infinite non-repeating decimal expansion), this approximation can never be absolutely exact.
Perhaps the best-known concept in popular mathematics is the Fibonacci sequence. This is due in part to its elegant simplicity, but also to its application in several non-scientific fields, such as music or art. Some people attribute almost magical powers to it and claim that this sequence “rules the universe” or that it is “God’s fingerprint.” Unfortunately, however, misinformation about it is spreading on the internet, which I will address here. We are all probably familiar with this sequence, but I will explain it in the introduction just to be sure.
The Fibonacci sequence is defined by the formula
F(0) = 0, F(1) = 1,
F(n) = F(n - 1) + F(n - 2).
This formula can be easily explained in words. The first two terms of this sequence are the numbers 0 and 1 (hence F(0) = 0 and F(1) = 1). Next, we add these two terms (i.e., 1 + 0) to get the third term of the sequence, which is the number 1. The sequence thus looks like this: 0, 1, 1. Next, we add the last two terms again (i.e., 1 + 1) to get the number 2. This gives us the sequence 0, 1, 1, 2. We add the last two terms again (i.e., 2 + 1) and add the resulting number back to the sequence. We continue this process indefinitely. The first few terms of this sequence look like this:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
This sequence has beautiful mathematical properties. For example, if we take two consecutive numbers and calculate their ratio F(n + 1) / F(n), we obtain an approximation of the mathematical constant φ, i.e., the golden ratio. For example, 144 / 89 = 1.6179775280898876404494382022472, which is very close to the golden ratio. The larger the numbers we choose, the more accurate the approximation will be. Since φ is an irrational number (it has an infinite non-repeating decimal expansion), this approximation can never be absolutely exact.
This sequence can also be used to construct the very famous golden spiral. All you need to do is create a 1x1 square, then another 1x1 square, followed by a 2x2, 3x3, 5x5, 8x8 square… Then simply draw a quarter circle inside each square. This process is well illustrated in the animation below.

[MEDIA: image]
FILE: /images/myty-fibonacciho-posloupnosti-obr-1.gif
ALT: animace konstrukce Fibonacciho spirály

Here we can see the very first myth. I often see images online of a nautilus shell that is supposedly shaped like a Fibonacci spiral. But that is nonsense, and as is immediately apparent from the images below, this spiral does not correspond at all to the shape of this creature’s shell.

[MEDIA: image]
FILE: /images/myty-fibonacciho-posloupnosti-obr-2.jpg
ALT: mýty o Fibonacciho spirále na Googlu
CAPTION: Source: Google Images

[MEDIA: image]
FILE: /images/myty-fibonacciho-posloupnosti-obr-3.jpg
ALT: mýty o Fibonacciho spirále na YouTube
CAPTION: Source: YouTube

In reality, the nautilus does not have a shell shaped like a Fibonacci spiral (image on the left), but rather a logarithmic spiral (image on the right).

[MEDIA: image]
FILE: /images/myty-fibonacciho-posloupnosti-obr-4.jpg
ALT: porovnání spirál s ulitou loděnky

Another myth is the claim that the number of petals on plants is determined by the Fibonacci sequence. Proponents of this myth argue that while there are indeed flowers with a number of petals different from the terms of the Fibonacci sequence, they claim there are very few of them. I decided to test this claim, so I took a plant atlas and counted the number of petals on nearly every plant (I omitted some flowers because, for example, they have both male and female flowers with different numbers of petals or lack petals entirely). From a botanical point of view, however, the term “petal” is quite imprecise. What is colloquially called a petal is referred to in botany as a floral envelope [https://cs.wikipedia.org/wiki/Kv%C4%9Btn%C3%AD_obal]. This is further divided into a corolla lobe and a calyx lobe (see the image below). Sometimes these two lobes are fused together, forming a single so-called petal.
So, in the Excel spreadsheet, I listed the number of corolla petals and sepals—or petals—next to the names of the flowers. Out of the 120 plants listed in the book Pocket ATLAS OF PLANTS by Albert Pilát and Otto Ušák, I entered 104 plants into the Excel spreadsheet. Using the Python programming language, I then created the graph below from this data.

[MEDIA: image]
FILE: /images/myty-fibonacciho-posloupnosti-obr-5.png
ALT: porovnání spirál s ulitou loděnky

As can be seen from it, flowers most often have 5 perianth segments, which just happens to be a number in the Fibonacci sequence. But that is all, since the second most common case is the number 4, and that is not a number in the Fibonacci sequence. If this claim were true, it would be evident in the graph. The myth is thus debunked; the Fibonacci sequence has nothing to do with the number of petals in a flower’s perianth.
These two myths are certainly not the only ones, but my goal was not to debunk them all, but rather to point out that some things you can find online about the Fibonacci sequence and the golden ratio are nonsense, and it’s always important to think them through first. Of course, I do not mean to cast doubt on the entire Fibonacci sequence; the truth is that it has truly remarkable properties and, in some cases, does indeed occur in nature and in various branches of mathematics. However, these myths and misinformation slightly detract from its beauty.


============================================================
TITLE: Metaprogram
SLUG: metaprogram
URL: https://vojtamaur.cz/metaprogram/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2020-04-01
SOURCE: src/content/posts/metaprogram.mdx
BUILT_HTML: dist/metaprogram/index.html
============================================================

Metaprogram
duben 2020
Pro tuto úvahu jsem vytvořil program, který dokáže vygenerovat všechny možné programy jazyka Python a následně je spustit. Budeme mu říkat metaprogram – tedy jakýsi „nad-program“. Jde ho zjednodušeně popsat následujícími pravidly:
- Vytvoř seznam všech znaků, které používá programovací jazyk Python.
- n = 1
- Z tohoto seznamu vytvoř všechny možné permutace n symbolů
- Každou tuto permutaci spusť jako program a pokud nevznikne chybové hlášení (error), tuto permutaci ulož
- n = n + 1
- vrať se k třetímu kroku
Pokud bych měl nějak slovně popsat, co dělá, řekl bych, že program vytvoří složku, která obsahuje veškeré možné programy, které lze spustit bez chybového hlášení. Začne tím nejkratším programem o jednom symbolu (proto n = 1) a vytvoří veškeré permutace. Ty pak spustí a programy, u nichž nevzniklo chybové hlášení, uloží. Takové chybové hlášení může nastat velice jednoduše tím, že se spustí taková permutace znaků, která v jazyce Python nedává smysl. Například takový program, jehož obsah bude print(‘Ahoj’) dává v jazyce Python smysl, a proto se tento program spustí bez chybového hlášení a jeho výstupem bude slovo „Ahoj“. Pokud bude ale obsah programu třeba YFag##A7, výstupem programu bude chybové hlášení (nejspíš typu „SYNTAX ERROR“).
Tento program by tedy měl být schopný systematicky vytvořit a spustit veškeré programy. Samozřejmě, že takových programů je nekonečně mnoho, takže tento metaprogram je nikdy nevygeneruje všechny v konečném čase. Je zajímavé se chvilku zamyslet nad tím, co všechno mohou tyto programy dělat a jaké to bude mít důsledky.
Takové programy mohou být schopny textového výstupu. Z toho vyplývá, že mataprogram (za předpokladu, že je spuštěný nekonečně dlouho) vytvoří nekonečně mnoho programů s textovými výstupy. Tyto programy mohou tedy vytvořit cokoliv psaného – slovo „Ahoj“, mé telefonní číslo, přesné datum mé smrti, tuto úvahu, Shakespearovo dílo, Einsteinovu rovnici E = mc2, několik platných číslic π, ale i kód tohoto programu samotného.
Další možný výstup je vizuální. Program tak může vytvořit vektorovou či bitmapovou grafiku. Tím pádem tyto programy mohou vytvořit Mona Lisu, fotku mléčné dráhy, logo Facebooku či fotografii mě píšícího tuto úvahu, kterou nikdo nikdy skutečně nevyfotil.
Možný je samozřejmě i výstup zvukový. Program tedy může přehrát písničku Lucy in the Sky with Diamonds od hudební skupiny The Beatles, Krabí kánon od J. S. Bacha, rádiové vysílání z 29. prosince 1989 a tak dále. Samozřejmě máme zase nekonečně mnoho možností.
Nejzajímavější je ale to, že Python dokáže ovládat i operační systém počítače. Dokáže tak třeba vypnout počítač, vymazat některé soubory a tak dále. Teoreticky by tedy měl být schopný vytvořit a rozšířit počítačový virus po celém světě, hacknout vládu nebo zmanipulovat volby. Jsou to sice trochu přehnané příklady, ovšem vychází z předpokladu, že metaprogram jednou vytvoří a spustí všechny možné programy. Tady ale nastává problém. Od začátku jsme nějak intuitivně předpokládali, že se metaprogram nikdy nezastaví. Ostatně i to byla podmínka pro tvrzení, že vytvoří opravdu všechny možné programy. Jelikož jazyk Python dokáže tímto způsobem ovládat operační systém, dokáže také vytvořit program, který vypne či restartuje počítač, smaže původní soubor metaprogramu nebo ho nějak poškodí. Může také poškodit celý operační systém. Pokud se něco z toho stane, metaprogram se zastaví. Z toho ovšem vyplývá, že se tento metaprogram jednou zastaví v konečném čase a že tedy nikdy nedokáže opravdu vytvořit všechny programy pro jazyk Python. Připomíná mi to takový ten „boží paradox“: Pokud je Bůh všemocný, může vytvořit kámen, který on sám nedokáže zvednout? Pokud takový kámen dokáže vytvořit, ale nedokáže ho zvednout, není všemocný. Pokud takový kámen vytvořit nedokáže, také není všemocný.
Logickým krokem by bylo vytvořit v programu nějaké pravidlo, které by vynechalo program, který může způsobit zastavení metaprogramu. Tak například tento program by dokázal vypnout počítač:
import os
os.system (‘shutdown /s /t 1’)
První řádek programu řekne, že budou použity příkazy z balíčku os. Pomocí tohoto balíčku neboli modulu pak dokáže program provádět příkazy, které pracují s operačním systémem počítače. Druhý řádek programu pak vypne počítač. Proč tedy prostě nevytvořit v metaprogramu pravidlo, které zamezí použití příkazu import os? Sice by pak náš nekonečný seznam všech možných programů nebyl kompletní, nicméně by obešel tuto záludnost. Tak to ovšem nefunguje. I kdybychom do metaprogramu toto pravidlo přidali, metaprogram by jednou vytvořil svou vlastní kopii, která neobsahuje toto pravidlo – tedy vytvořil by náš původní program bez nového pravidla. Této neúplné kopii by poté nic nebránilo vytvářet programy, ve kterých by byl použít příkaz import os. A právě tento příkaz by nakonec ukončil náš původní metaprogram. Další možností je jednotlivé programy vůbec nespouštět, ale jen ukládat, nicméně tím náš metaprogram neudělá vše naprogramovatelné v jakzyce Python. Nenapadá mě žádná cesta, jak tento problém obejít. Teoreticky by bylo možné použít „slabší“ programovací jazyk, který nedokáže vypnout počítač či nějakým jiným způsobem zastavit metaprogram.
Zde je zdrojový kód tohoto programu:

[CODE BLOCK]
import string
import os
from itertools import product

symbols = string.printable
index = 1
lenght = 1
program = ""
while True:
    # create variations with repetitions of symbols used in python
    perm = product(symbols, repeat=lenght)
    for one_perm in perm:
        for x in one_perm:
            program += x

        # white a file.py
        f = open("program_{}.py".format(index), "w")
        f.write(program)
        f.close()

        # execute file.py and decide if it can run
        try:
            exec(compile(open("program_{}.py".format(index), "rb").read(), "program_{}.py".format(index), 'exec'), {}) # {} is for not using variables declered in this .py file
        except Exception:
            print(program, "ERROR")
        else:
            f = open("running_program_{}.py".format(index), "w")
            f.write(program)
            f.close()
            print(program, "RUNNING")

        # delete file.py, reset everything to default
        os.remove("program_{}.py".format(index))
        program = ""
        index += 1
    lenght += 1
[/CODE BLOCK]


============================================================
TITLE: Metaprogram
SLUG: metaprogram
URL: https://vojtamaur.cz/en/metaprogram/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2020-04-01
SOURCE: src/content/posts/metaprogram.mdx
BUILT_HTML: dist/en/metaprogram/index.html
============================================================

Metaprogram
April 2020
For this discussion, I created a program that can generate all possible Python programs and then run them. We will call it a metaprogram—that is, a kind of “super-program.” It can be described simply by the following rules:
- Create a list of all characters used by the Python programming language.
- n = 1
- From this list, create all possible permutations of n symbols
- Run each of these permutations as a program, and if no error occurs, save that permutation
- n = n + 1
- Return to step 3
If I had to describe what it does in words, I would say that the program creates a folder containing all possible programs that can be run without an error message. It starts with the shortest program consisting of a single symbol (hence n = 1) and generates all permutations. It then runs them and saves the programs that do not produce an error message. Such an error message can occur very easily if a character permutation is run that does not make sense in the Python language. For example, a program whose content is print('Hello') makes sense in Python, so this program runs without an error message and its output is the word "Hello." However, if the program's content is, say, YFag##A7, the program's output will be an error message (most likely of the "SYNTAX ERROR" type).
This program should therefore be able to systematically create and run all programs. Of course, there are infinitely many such programs, so this metaprogram will never generate them all in finite time. It is interesting to pause for a moment and consider what these programs can do and what the consequences will be.
Such programs may be capable of text output. It follows that the metaprogram (assuming it runs for an infinitely long time) will create an infinite number of programs with text outputs. These programs can therefore create anything written—the word “Hello,” my phone number, the exact date of my death, this essay, a work by Shakespeare, Einstein’s equation E = mc², several valid digits of π, and even the code of this program itself.
Another possible output is visual. The program can thus generate vector or bitmap graphics. Consequently, these programs can create the Mona Lisa, a photo of the Milky Way, the Facebook logo, or a photograph of me writing this essay—a photo that no one has ever actually taken.
Audio output is, of course, also possible. The program can thus play the song “Lucy in the Sky with Diamonds” by The Beatles, J. S. Bach’s “Crab Canon,” a radio broadcast from December 29, 1989, and so on. Of course, we again have an infinite number of possibilities.
But the most interesting thing is that Python can also control the computer’s operating system. It can, for example, shut down the computer, delete certain files, and so on. Theoretically, it should therefore be capable of creating and spreading a computer virus worldwide, hacking the government, or manipulating elections. These are admittedly somewhat exaggerated examples, but they are based on the assumption that the metaprogram will eventually create and run every possible program. Here, however, a problem arises. From the start, we have somehow intuitively assumed that the metaprogram will never stop. After all, that was a condition for the claim that it would truly create all possible programs. Since the Python language can control the operating system in this way, it can also create a program that shuts down or restarts the computer, deletes the original metaprogram file, or damages it in some way. It can also damage the entire operating system. If any of this happens, the metaprogram will stop. It follows, however, that this metaprogram will eventually stop at some finite time and that it therefore can never truly create all programs for the Python language. It reminds me of the “God paradox”: If God is omnipotent, can he create a stone that he himself cannot lift? If he can create such a stone but cannot lift it, he is not omnipotent. If he cannot create such a rock, he is also not omnipotent.
A logical step would be to create a rule in the program that would exclude any program capable of causing the metaprogram to halt. For example, this program would be able to shut down the computer:
import os
os.system (‘shutdown /s /t 1’)
The first line of the program specifies that commands from the os package will be used. Using this package—or module—the program can then execute commands that interact with the computer’s operating system. The second line of the program then shuts down the computer. So why not simply create a rule in the metaprogram that prevents the use of the import os command? While our infinite list of all possible programs would then be incomplete, it would circumvent this pitfall. But that’s not how it works. Even if we added this rule to the metaprogram, the metaprogram would eventually create its own copy that does not contain this rule—that is, it would create our original program without the new rule. Nothing would then prevent this incomplete copy from creating programs in which the `import os` command would be used. And it is precisely this command that would ultimately terminate our original metaprogram. Another option is not to run the individual programs at all, but only to save them; however, this would prevent our metaprogram from doing everything that is programmable in Python. I can’t think of any way to work around this problem. Theoretically, it would be possible to use a “weaker” programming language that cannot shut down the computer or stop the metaprogram in any other way.
Here is the source code for this program:

[CODE BLOCK]
import string
import os
from itertools import product

symbols = string.printable
index = 1
lenght = 1
program = ""
while True:
    # create variations with repetitions of symbols used in python
    perm = product(symbols, repeat=lenght)
    for one_perm in perm:
        for x in one_perm:
            program += x

        # white a file.py
        f = open("program_{}.py".format(index), "w")
        f.write(program)
        f.close()

        # execute file.py and decide if it can run
        try:
            exec(compile(open("program_{}.py".format(index), "rb").read(), "program_{}.py".format(index), 'exec'), {}) # {} is for not using variables declered in this .py file
        except Exception:
            print(program, "ERROR")
        else:
            f = open("running_program_{}.py".format(index), "w")
            f.write(program)
            f.close()
            print(program, "RUNNING")

        # delete file.py, reset everything to default
        os.remove("program_{}.py".format(index))
        program = ""
        index += 1
    lenght += 1
[/CODE BLOCK]


============================================================
TITLE: Recamánova posloupnost v želví grafice
SLUG: recamanova-posloupnost-zelvi-grafice
URL: https://vojtamaur.cz/recamanova-posloupnost-zelvi-grafice/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2020-03-01
SOURCE: src/content/posts/recamanova-posloupnost-zelvi-grafice.mdx
BUILT_HTML: dist/recamanova-posloupnost-zelvi-grafice/index.html
============================================================

Recamánova posloupnost v želví grafice
březen 2020
V tomto projektu jsem vizualizoval Recamánovu posloupnost pomocí želví grafiky.
Co je to Recamánova posloupnost?
Recamánova posloupnost (anglicky Recamán’s sequence) je posloupnost celých nezáporných čísel. Její n-tý člen a(n) lze definovat pomocí následujícího pravidla:
a(0) = 0; pro n > 0,
a(n) = a(n-1) – n pokud je výsledek kladné číslo a již není prvkem posloupnosti,
jinak a(n) = a(n-1) + n
První členy této posloupnosti jsou tedy čísla 0, 1, 3, 6, 2, 7, 13, 20, 12, 21, 11, 22, 10, 23, 9, 24, 8, 25, 43, 62, 42, 63, 41, 18…
Recamánova posloupnost má v databázi OEIS (The On-Line Encyclopedia of Integer Sequences) kód A005132 [https://oeis.org/A005132].
Niel Solane vznesl dodnes neprokázanou domněnku, že tato nekonečná posloupnost obsahuje všechna celá nezáporná čísla.
Co je to želví grafika?
Želví grafika je vektorová grafika kreslená počítačovým programem. Tento program používá virtuální kurzor a podle předem daných pravidel mění jeho polohu na 2D ploše. Kurzor pod sebou pak zanechává trajektorii a program je tak schopen kreslit. Takový program má jednoduchá pravidla jako např.:
- pohni kurzorem vpřed o x pixelů,
- zahni doleva / doprava o x°,
- zahni doleva / doprava o x°,
- přestaň kreslit trajektorii,
- začni kreslit trajektorii
- …
Recamánova posloupnost se často vizualizuje pomocí oblouků na ose nezáporných celých čísel tím, že se začne u prvního čísla posloupnosti a(n). Poté se narýsuje oblouk s počátkem v tomto bodě a koncem v bodě hodnoty dalšího členu posloupnosti, tedy v bodě a(n+1). Dále se narýsuje oblouk s počátkem v bodě a(n+2) a koncem v bodě a(n+4). Tento proces se opakuje, dokud není obrazec dostatečně velký. Oblouk se rýsuje spodem, pokud je n počátečního bodu sudé a horem pokud je liché. Jinými slovy, každý sudý krok se oblouk rýsuje spodem a každý lichý krok horem. Tento postup je podrobněji vysvětlen v tomto videu [https://youtu.be/FGC5TdIiT9U?si=rKj3Olrersu1HSNh].

[MEDIA: image]
FILE: /images/recamanova-posloupnost-zelvi-grafice-obr-1.svg

Obrázek výše mně připadá nesmírně fascinující, a proto jsem se rozhodl s touto posloupností dále experimentovat. Vytvořil jsem tedy v Pythonu program, který kreslí želví grafiku pomocí následujících pravidel:
- n = 0
- zahni doleva o a(n)°
- posuň se dopředu
- n = n + 1
- vrať se k 2. kroku
Jak lze zpozorovat vpravo níže, tato jednoduchá pravidla vytvořila nečekaně komplexní obrazec, který je v podstatě nekonečný a to, co vykresluje interaktivní demo níže je jen jeho nepatrná část.

[INTERACTIVE EMBED]
SOURCE: /demos/recamanova-struktura/recamanova-struktura.html
NOTE: Embedded or binary content is not represented in this plain-text export.

Tato struktura mně zaujala natolik, že jsem se rozhodl nechat program spuštěný 3 dny. Po této době vygeneroval program přes 3 000 000 členů Recamánovy posloupnosti a struktura byla velká natolik, že jsem se rozhodl vytvořit o ní video (viz níže).

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/bfn9x_3-C4M?start=10
NOTE: Embedded or binary content is not represented in this plain-text export.

Jednoduchý ukázkový zdrojový Python kód tohoto projektu je dostupný níže.

[CODE BLOCK]
import turtle

t = turtle.Turtle()
ts = turtle.Screen()

while True:
  t.speed(0)
  t.up()
  t.left(270)
  t.setx(0)
  t.sety(0)
  t.down()
  recaman = [0]
  
  scale = 8 # set size
  n = 3500 # set how many iterations
  
  for i in range(1, n):
    if recaman[-1] - i > 0 and recaman[-1] - i not in recaman:
      recaman.append(recaman[-1] - i)
      t.left(recaman[-1])
      t.forward(scale)
  
    else:
      recaman.append(recaman[-1] + i)
      t.left(recaman[-1])
      t.forward(scale)
      
  turtle.Screen().reset()

turtle.done()
[/CODE BLOCK]


============================================================
TITLE: Recamánova posloupnost v želví grafice
SLUG: recamanova-posloupnost-zelvi-grafice
URL: https://vojtamaur.cz/en/recamanova-posloupnost-zelvi-grafice/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2020-03-01
SOURCE: src/content/posts/recamanova-posloupnost-zelvi-grafice.mdx
BUILT_HTML: dist/en/recamanova-posloupnost-zelvi-grafice/index.html
============================================================

Recamán’s Sequence in Turtle Graphics
March 2020
In this project, I visualized Recamán’s sequence using turtle graphics.
What is Recamán’s sequence?
Recamán’s sequence is a sequence of non-negative integers. Its nth term, a(n), can be defined using the following rule:
a(0) = 0; for n > 0,
a(n) = a(n-1) – n if the result is a positive number and is not already an element of the sequence,
otherwise a(n) = a(n-1) + n
The first terms of this sequence are therefore the numbers 0, 1, 3, 6, 2, 7, 13, 20, 12, 21, 11, 22, 10, 23, 9, 24, 8, 25, 43, 62, 42, 63, 41, 18…
The Recamán sequence has the code A005132 [https://oeis.org/A005132] in the OEIS (The On-Line Encyclopedia of Integer Sequences) database.
Niel Solane proposed a conjecture—which remains unproven to this day—that this infinite sequence contains all non-negative integers.
What is turtle graphics?
Turtle graphics is a form of
vector graphics drawn by a computer program. This program uses a virtual cursor and changes its position on a 2D plane according to predefined rules. The cursor leaves a trail behind it, allowing the program to draw. Such a program has simple rules, such as:
- move the cursor forward by x pixels,
- turn left/right by x°,
- turn left/right by x°,
- stop drawing the path,
- start drawing a trajectory
- …
The Recaman sequence is often visualized using arcs on the axis of non-negative integers, starting at the first number of the sequence, a(n). Then, an arc is drawn starting at this point and ending at the point corresponding to the next term in the sequence, that is, at the point a(n+1). Next, an arc is drawn starting at a(n+2) and ending at a(n+4). This process is repeated until the figure is large enough. An arc is drawn from the bottom if n is even and from the top if n is odd. In other words, an arc is drawn from the bottom every even step and from the top every odd step. This process is explained in more detail in this video [https://youtu.be/FGC5TdIiT9U?si=rKj3Olrersu1HSNh].

[MEDIA: image]
FILE: /images/recamanova-posloupnost-zelvi-grafice-obr-1.svg

I find the image above incredibly fascinating, so I decided to experiment further with this sequence. I therefore created a Python program that draws turtle graphics using the following rules:
- n = 0
- turn left by a(n)°
- move forward
- n = n + 1
- return to step 2
As you can see below on the right, these simple rules have created an unexpectedly complex pattern that is essentially infinite, and what the interactive demo below displays is only a tiny fraction of it.

[INTERACTIVE EMBED]
SOURCE: /demos/recamanova-struktura/recamanova-struktura.html
NOTE: Embedded or binary content is not represented in this plain-text export.

This structure fascinated me so much that I decided to let the program run for 3 days. After that time, the program had generated over 3,000,000 terms of the Recaman sequence, and the structure was so large that I decided to create a video about it (see below).

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/bfn9x_3-C4M?start=10
NOTE: Embedded or binary content is not represented in this plain-text export.

A simple sample Python source code for this project is available below.

[CODE BLOCK]
import turtle

t = turtle.Turtle()
ts = turtle.Screen()

while True:
  t.speed(0)
  t.up()
  t.left(270)
  t.setx(0)
  t.sety(0)
  t.down()
  recaman = [0]
  
  scale = 8 # set size
  n = 3500 # set how many iterations
  
  for i in range(1, n):
    if recaman[-1] - i > 0 and recaman[-1] - i not in recaman:
      recaman.append(recaman[-1] - i)
      t.left(recaman[-1])
      t.forward(scale)
  
    else:
      recaman.append(recaman[-1] + i)
      t.left(recaman[-1])
      t.forward(scale)
      
  turtle.Screen().reset()

turtle.done()
[/CODE BLOCK]


============================================================
TITLE: Řecko 2020
SLUG: cestovani-recko-2020
URL: https://vojtamaur.cz/cestovani-recko-2020/
LANGUAGE: cs
SECTION: cestovani
DATE: 2020-01-01
SOURCE: src/content/posts/cestovani-recko-2020.mdx
BUILT_HTML: dist/cestovani-recko-2020/index.html
============================================================

Řecko 2020
Fotografie

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-3.jpg
CAPTION: Biofilm, Řecko - Methana

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-1.jpg
CAPTION: Bakterie - sinice, spirochéty, rozsivky, Řecko - Methana

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-2.jpg
CAPTION: Bakterie - sinice, spirochéty, rozsivky, Řecko - Methana

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-4.jpg
CAPTION: Bakterie - spirochéta, rozsivky, Řecko - Methana

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-5.jpg
CAPTION: Neidentifikovaný život, Řecko - Koroni

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-6.jpg
CAPTION: Rozsivky, Řecko - Koroni

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-7.jpg
CAPTION: Rozsivky, Řecko - Koroni

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-8.jpg
CAPTION: Rozsivky, Řecko - Koroni

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-9.jpg
CAPTION: Rozsivky, Řecko - Koroni

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-10.jpg
CAPTION: Rozsivky a korýš, Řecko - Koroni


============================================================
TITLE: Řecko 2020
SLUG: cestovani-recko-2020
URL: https://vojtamaur.cz/en/cestovani-recko-2020/
LANGUAGE: en
SECTION: cestovani
DATE: 2020-01-01
SOURCE: src/content/posts/cestovani-recko-2020.mdx
BUILT_HTML: dist/en/cestovani-recko-2020/index.html
============================================================

Greece 2020
Photos

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-3.jpg
CAPTION: Biofilm, Greece - Methana

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-1.jpg
CAPTION: Bacteria—cyanobacteria, spirochetes, diatoms, Greece—Methana

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-2.jpg
CAPTION: Bacteria—cyanobacteria, spirochetes, diatoms, Greece—Methana

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-4.jpg
CAPTION: Bacteria—spirochetes, diatoms, Greece—Methana

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-5.jpg
CAPTION: Unidentified life, Greece - Koroni

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-6.jpg
CAPTION: Diatoms, Greece - Koroni

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-7.jpg
CAPTION: Diatoms, Greece - Koroni

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-8.jpg
CAPTION: Diatoms, Greece – Koroni

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-9.jpg
CAPTION: Diatoms, Greece – Koroni

[MEDIA: image]
FILE: /images/cestovani-recko-2020-obr-10.jpg
CAPTION: Diatoms and a crustacean, Greece - Koroni


============================================================
TITLE: Lychrelův fraktál
SLUG: lychreluv-fraktal
URL: https://vojtamaur.cz/lychreluv-fraktal/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2019-12-01
SOURCE: src/content/posts/lychreluv-fraktal.mdx
BUILT_HTML: dist/lychreluv-fraktal/index.html
============================================================

Lychrelův fraktál
prosinec 2019
Palindromické číslo [https://cs.wikipedia.org/wiki/Palindromick%C3%A9_%C4%8D%C3%ADslo] je „symetrické“ číslo, jehož hodnota se nezmění, pokud jeho číslice napíšeme v opačném pořadí. Příkladem jsou tedy čísla 2, 55, 121, 1991, 12345678987654321.
Pokud vezmeme libovolné přirozené číslo a přičteme k němu jeho zrcadlový obraz (stejné číslo napsané v opačném pořadí) a tuto operaci budeme stále opakovat, získáme velmi často po konečném počtu opakování palindromické číslo.
Jedná se o velmi jednoduchý proces:
- Nechť x je libovolné přirozené číslo a y je jeho zrcadlový obraz
- Provede se operace x+y
- Pokud součet netvoří palindrom, přejde se zpět k druhému kroku
Například:
123 + 321 = 444
nebo
78 + 87 = 165, 165 + 561 = 726, 726 + 627 = 1353, 1353 + 3531 = 4884.
Existují však čísla, u nichž se neví, zda se po konečném počtu opakování algoritmu lze k palindromickému číslu dostat. Takovým číslům říkáme kandidáti na Lychrelovo čísla [https://cs.wikipedia.org/wiki/Lychrelov%C3%A9_%C4%8D%C3%ADslo]. Lychrelovo číslo (anglicky Lychrel number) je tedy přirozené číslo, které nemůže vytvořit palindromické číslo opakováním procesu sčítání původního čísla s jeho zrcadlovým obrazem. Některá čísla vytvoří palindrom po několika opakováních (iteracích) tohoto procesu, přesněji 80% přirozených čísel do 10 000 vytvoří palindrom po čtyřech nebo méně krocích a 90% vytvoří palindrom do sedmi kroků. Ale například číslo 89 vytvoří palindrom (8 813 200 023 188) až po 24 krocích. Nejmenším kandidátem na Lychrelovo číslo je tedy 196, dále pak následují 295, 394, 493, 592, 689, 691, 790, 879… Různá čísla mají tedy různý počet iterací, který je potřebný k vytvoření palindromu.
Pro vizualizaci počtu kroků potřebných k vytvoření palindromu z určitých čísel jsem vytvořil čtvercovou tabulku a do ní vepsal celá čísla v rozsahu 0-99. Tuto tabulku lze matematicky chápat jako 10x10 matici [https://cs.wikipedia.org/wiki/Matice]. Podle toho, kolik kroků bylo potřeba k vytvoření palindromu z čísla v určitém políčku tabulky jsem políčko vybarvil dle přiřazených barev (viz spektrum vpravo vedle tabulky) a vytvořil tak výsledný obrazec.

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-1.png

V tomto procesu jsem se rozhodl pokračovat, a proto jsem vytvořil navazující tabulky v číselném rozsahu 100-199, 200-299, 300-399…

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-2.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-3.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-4.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-5.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-6.png

Těchto tabulek je možné generovat nekonečně mnoho. Pro náhled jsem prvních 300 tabulek chronologicky seřadil a udělal z nich animovaný GIF. Jak lze vidět, tabulky na sebe navazují podobně jako skutečná animace.

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-7.gif

Je velice důležité zmínit, že ještě nikdo matematicky nedokázal, že kandidáti na Lychrelovo čísla jsou skutečně Lychrelovo čísla. Jinými slovy - nikdo neví, zda např. z čísla 196 přeci jenom po mnoho krocích nevznikne palindrom. V roce 2012 se Jason Doucette, Wade VanLandingham a Romain Dolbeau pokusili z tohoto čísla vytvořit palindrom. Zkusili přes bilión kroků, ovšem palindrom nenalezli. To ovšem není důkaz pro to, že z tohoto čísla nelze vytvořit palindrom. Možná vznikne až po bilión prvním kroku. Jisté je jedno - pokud z tohoto čísla nelze vytvořit palindrom, tato metoda hrubé síly [https://cs.wikipedia.org/wiki/%C5%98e%C5%A1en%C3%AD_hrubou_silou] nám nikdy nezodpoví tuto otázku.
Protože pro generování těchto obrazců jsem vytvořil program v jazyce Python, z praktického hlediska jsem musel nastavit něco jako „brzdu“ (v mém programu je nastavena na 50 kroků), která stanoví maximální počet kroků. Proto je tedy číslo 50 maximální hodnota spektra vpravo od tabulek. Pokud by totiž taková brzda neexistovala, program by se zasekl při nekonečných pokusech o vytvoření palindromu z čísel, ze kterých ani nejspíš palindrom vytvořit nelze.
Důležité je uvědomit si, že tyto palindromy jsou vázány na naší desítkovou soustavu [https://cs.wikipedia.org/wiki/Des%C3%ADtkov%C3%A1_soustava]. Tak například číslo 255 v naší desítkové soustavě rozhodně palindrom není, ovšem v hexadecimální soustavě [https://cs.wikipedia.org/wiki/%C5%A0estn%C3%A1ctkov%C3%A1_soustava] bychom toto číslo zapsali jako FF - a to už palindrom je! Těmto rozdílným číselným soustavám [https://cs.wikipedia.org/wiki/%C4%8C%C3%ADseln%C3%A1_soustava] se také říká base. Desítkovou soustavu tak můžeme nazvat base 10, hexadecimální soustavu base 16, binární soustavu base 2 atd. Nabízí se tedy otázka: Jak by vypadaly tabulky v jiných base? Vzhledem k tomu, že naše originální tabulka pro base 10 měla rozměry 10x10 políček, tabulky pro vyšší base (řekněme base N) budou mít rozměry NxN políček. Jak lze vidět na animovaném GIFu pro tabulku 1 níže, čím větší je base, tím „ostřejší“ je obrazec.

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-8.gif

Až nyní se nám tato struktura ukázala v plné své kráse a jak lze vidět, struktura tabulky 1 je ve všech base stejná. A co jiné tabulky? Je struktura tabulky 2 také ve všech base stejná? Jak lze vidět na GIFu níže, odpověď je kladná.

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-9.gif

Na tabulce 2 lze nyní spatřit náznaky rekurze. Neměly bychom se tomu ani příliš divit - vždyť obrazec přece vznikl rekurzivním procesem. Dalo by se říci, že jsme právě vytvořili fraktál [https://cs.wikipedia.org/wiki/Frakt%C3%A1l], protože tabulka 2 splňuje všechny podmínky pro to, aby nějaký objekt byl nazván fraktálem:
- Je soběpodobný – znamená to, že pokud daný útvar pozorujeme v jakémkoliv měřítku či rozlišení, pozorujeme stále opakující se určitý charakteristický tvar (motiv);
- Mívá na první pohled velmi složitý tvar, ale je generován opakovaným použitím jednoduchých pravidel.
Na prvním GIFu jsme již viděli prvních 300 tabulek. To nám odhalilo ovšem pouze špičku ledovce! Jak tedy třeba vypadá miliontá tabulka ve vyšších base? Nebo bilióntá tabulka? A jak bude vypadat, když budu tabulkami chrologicky listovat a vytvořím z nich animaci jako tomu bylo v prvním GIFu? Níže jsou obrázky takových „vyšších“ tabulek. Jak z nich lze zpozorovat, čím vyšší je pořadí tabulky, tím více je Lychrelovo čísel tabulka obsahuje (a proto jsou obrazce bělejší).

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-10.gif

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-11.gif

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-12.gif

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-13.gif

Tímto jsme odhalili tuto strukturu natolik, že nevím, jak dále pokrčovat. Ještě tu ovšem vidím jednu možnost experimentace. Na začátku tohoto článku jsou uvedeny jednotlivé kroky, které jsou slouží jako návod pro to, jak se dostat (nebo nedostat) k palindromu. Pro zajímavost si dovolím tyto kroky poupravit a definovat tak nový proces:
- Nechť x je libovolné přirozené číslo a y je jeho zrcadlový obraz
- Proveďe se operace (x+y) mod [https://cs.wikipedia.org/wiki/Zbytek_po_d%C4%9Blen%C3%AD] x
- Pokud výsledné číslo netvoří palindrom, přejde se zpět k druhému kroku
Když vytvoříme díky těmto novým pravidlům tabulky, jakož jsme to učinili předtím a budeme jimi listovat, vytvoří se tato animace:

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-14.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-15.gif

Výsledek je to vskutku pozoruhodný. A jak je zřejmé, variací pravidel je nekonečně mnoho. Zde je tedy ještě několik příkladů takovýchto pozměněných pravidel a pod nimi se vždy nacházejí příslušné vizualizace:
- Nechť x je libovolné přirozené číslo a y je jeho zrcadlový obraz
- Provede se operace (x+y) mod x+x
- Pokud výsledné číslo netvoří palindrom, přejde se zpět k druhému kroku

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-16.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-17.gif

- Nechť x je libovolné přirozené číslo
- Provede se operace (2 *x) : 3
- Výsledek druhého kroku se zaokrouhlí nahoru
- Pokud výsledné číslo netvoří palindrom, přejde se zpět k druhému kroku

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-18.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-19.gif

Pokud by měl někdo zájem experimentovat s programem pro generování těchto obrazců, zde je zdrojový kód v jazyce Python, který jsem vytvořil:

[CODE BLOCK]
import numpy as np
import matplotlib.pyplot as plt
import math

# convert positive whole number n in base10 to baseB
def base10_to_baseB(B, n):
    # create base symbols list
    abc = []
    result = []
    for symbol in range(B):
        abc.append([symbol])

    # convert number to baseB
    if n==0:
        result.append(abc[n])
    elif math.log(n, B) < 1:
        result.append(abc[n])
    elif math.log(n, B) >= 1:
        x = math.floor(n / B)
        result.append(abc[n % B])
        result.append(abc[x % B])
        if math.log(n, B) >= 2:
            for digits in range(2, math.ceil(math.log(n, B)+0.00001)):
                x = math.floor(x / B)
                result.append(abc[x % B])
    result.reverse()
    return result

# convert positive whole number n in baseB to base10
def baseB_to_base10(B, n):
    result2=0
    for digits in range(0,len(n)):
        result2+=n[digits][0]*B**(len(n)-digits-1)
    return result2



#ENTER START AND LAST FRAME and BASE
start_frame=1
last_frame=1+100
B=256

start_frame-=1
last_frame-=1
for images_number in range(start_frame,last_frame):

    #calculate first number of matrix (not iterations of this number!)
    x = images_number
    x = (x) * (B ** 2)
    x_static=x

    #do all iterations to get whole matrix
    matOLD=np.array([])
    for l in range(1,(B*B)+1):
        #convert number from base10 to baseB
        x = base10_to_baseB(B, x)
        j = 0
        z = False
        while z == False:
            z = True

            # check if number is palindrome
            for k in range(len(x)-1):
                if x[k] != x[(len(x) - 1) - k]:
                    z = False
            if z == True:
                break

            # add number and it's reverse version
            y=x
            x=baseB_to_base10(B,x)
            y.reverse()
            y=baseB_to_base10(B, y)
            x=x+y  #change this to generate different images
            x=base10_to_baseB(B,x)
            j+=1

            #max iterations limit
            if j>50:
                j=50
                break

        #create matrices
        matNEW=np.array([j])
        matOLD=np.concatenate((matOLD, matNEW))

        #add 1 to iterate next number
        x=x_static
        x+=l
        print("{}/{}".format(x-x_static, (B ** 2))) #report about process

    #reshape matrices to base x base
    matOLD=matOLD.reshape(B,B)
    print(matOLD)

    #plot on image
    plt.subplot(211)
    plt.imshow(matOLD, cmap=plt.cm.nipy_spectral)
    plt.title("tabulka {} pro čísla {} až {}, base {}".format(images_number+1,x_static,x_static+(B**2)-1,B),fontsize=8)
    plt.subplots_adjust(bottom=-0.9, right=0.8, top=0.9)
    cax = plt.axes([0.8, 0.09, 0.02, 0.81])
    plt.clim(0, 50)  # set limit to colorbar maximal value
    cb = plt.colorbar(cax=cax)
    plt.savefig('{}_lychrel {} - {}, base {}.png'.format(images_number+1,x_static,x_static+(B**2)-1,B),dpi=200)
    cb.remove() #remove colorbar to prevent "border summing"
    plt.draw() #refresh figure
plt.show()
[/CODE BLOCK]

A zde si můžete pohrát s interaktivní demonstrací:

[INTERACTIVE EMBED]
SOURCE: /demos/lychreluv-fraktal/lychreluv-fraktal.html
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Lychrelův fraktál
SLUG: lychreluv-fraktal
URL: https://vojtamaur.cz/en/lychreluv-fraktal/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2019-12-01
SOURCE: src/content/posts/lychreluv-fraktal.mdx
BUILT_HTML: dist/en/lychreluv-fraktal/index.html
============================================================

Lychrel Fractal
December 2019
A palindromic number [https://cs.wikipedia.org/wiki/Palindromick%C3%A9_%C4%8D%C3%ADslo]
is a “symmetric” number whose value remains unchanged when its digits are written in reverse order. Examples include the numbers 2, 55, 121, 1991, and 12345678987654321.
If we take any natural number and add its mirror image (the same number written in reverse order) to it, and repeat this operation over and over, we will very often end up with a palindromic number after a finite number of repetitions.
This is a very simple process:
- Let x be any natural number and y be its mirror image
- Perform the operation x + y
- If the sum is not a palindrome, return to the second step
For example:
123 + 321 = 444
or
78 + 87 = 165, 165 + 561 = 726, 726 + 627 = 1353, 1353 + 3531 = 4884.
However, there are numbers for which it is unknown whether a palindromic number can be obtained after a finite number of iterations of the algorithm. We call such numbers candidates for Lychrel numbers [https://cs.wikipedia.org/wiki/Lychrelov%C3%A9_%C4%8D%C3%ADslo]. A Lychrel number is therefore a natural number that cannot form a palindromic number by repeatedly adding the original number to its mirror image. Some numbers form a palindrome after a few repetitions (iterations) of this process; more precisely, 80% of natural numbers up to 10,000 form a palindrome after four or fewer steps, and 90% form a palindrome within seven steps. However, the number 89, for example, does not form a palindrome (8,813,200,023,188) until after 24 steps. The smallest candidate for a Lychrel number is therefore 196, followed by 295, 394, 493, 592, 689, 691, 790, 879… Different numbers thus require a different number of iterations to form a palindrome.
To visualize the number of steps needed to form a palindrome from specific numbers, I created a square table and entered integers ranging from 0 to 99 into it. This table can be mathematically understood as a [https://cs.wikipedia.org/wiki/Matice] 10x10 matrix [https://cs.wikipedia.org/wiki/Matice]. Depending on how many steps were needed to create a palindrome from the number in a specific cell of the table, I colored the cell according to the assigned colors (see the spectrum to the right of the table), thus creating the resulting pattern.

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-1.png

I decided to continue this process, so I created follow-up tables in the number ranges 100–199, 200–299, 300–399…

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-2.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-3.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-4.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-5.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-6.png

An infinite number of these tables can be generated. As a preview, I sorted the first 300 tables chronologically and turned them into an animated GIF. As you can see, the tables flow into one another much like a real animation.

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-7.gif

It is very important to note that no one has yet mathematically proven that candidates for Lychrel numbers are actually Lychrel numbers. In other words, no one knows whether, for example, the number 196 might eventually form a palindrome after many steps. In 2012, Jason Doucette, Wade VanLandingham, and Romain Dolbeau attempted to create a palindrome from this number. They tried over a trillion steps but did not find a palindrome. However, this is not proof that a palindrome cannot be created from this number. Perhaps it will emerge only after the one trillionth step. One thing is certain—if a palindrome cannot be formed from this number, this brute-force [https://cs.wikipedia.org/wiki/%C5%98e%C5%A1en%C3%AD_hrubou_silou] method will never answer this question.
Since I wrote a program in Python to generate these patterns, for practical reasons I had to set up a sort of “brake” (set to 50 steps in my program) that limits the maximum number of steps. That is why the number 50 is the maximum value shown to the right of the tables. If such a limit did not exist, the program would get stuck in an endless loop of attempts to create a palindrome from numbers from which it is highly unlikely that a palindrome can even be formed.
It’s important to realize that these palindromes are tied to our decimal system [https://cs.wikipedia.org/wiki/Des%C3%ADtkov%C3%A1_soustava]. For example, the number 255 is definitely not a palindrome in our decimal system, but in the hexadecimal system [https://cs.wikipedia.org/wiki/%C5%A0estn%C3%A1ctkov%C3%A1_soustava], we would write this number as FF—and that is a palindrome! These different number systems [https://cs.wikipedia.org/wiki/%C4%8C%C3%ADseln%C3%A1_soustava] are also called “bases.” Thus, we can call the decimal system base 10, the hexadecimal system base 16, the binary system base 2, and so on. This raises the question: What would the tables look like in other bases? Since our original table for base 10 had dimensions of 10x10 cells, tables for higher bases (say, base N) will have dimensions of NxN cells. As can be seen in the animated GIF for Table 1 below, the larger the base, the “sharper” the pattern becomes.

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-8.gif

Only now has this structure revealed itself in all its glory, and as you can see, the structure of Table 1 is the same across all bases. But what about other tables? Is the structure of Table 2 also the same across all bases? As you can see in the GIF below, the answer is yes.

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-9.gif

In Table 2, we can now see signs of recursion. We shouldn’t be too surprised by this—after all, the pattern was created through a recursive process. One could say that we have just created a fractal [https://cs.wikipedia.org/wiki/Frakt%C3%A1l], because Table 2 meets all the conditions for an object to be called a fractal:
- It is self-similar—this means that no matter what scale or resolution we observe the shape at, we always see a certain characteristic shape (motif) repeating itself;
- At first glance, it usually has a very complex shape, but it is generated by repeatedly applying simple rules.
In the first GIF, we’ve already seen the first 300 tables. But that only revealed the tip of the iceberg! So what does the millionth table look like at higher bases? Or the trillionth table? And what will it look like if I scroll through the tables chronologically and create an animation from them, as we did in the first GIF? Below are images of such “higher” tables. As you can see, the higher the table’s number, the more Lychrel numbers it contains (which is why the images are whiter).

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-10.gif

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-11.gif

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-12.gif

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-13.gif

We’ve now uncovered this structure to such an extent that I’m not sure how to proceed further. However, I do see one more possibility for experimentation. At the beginning of this article, I listed the individual steps that serve as a guide for how to arrive at (or fail to arrive at) a palindrome. Just for fun, I’ll modify these steps to define a new process:
- Let x be any natural number and y be its mirror image
- Perform the operation (x+y) mod [https://cs.wikipedia.org/wiki/Zbytek_po_d%C4%9Blen%C3%AD] x
- If the resulting number is not a palindrome, go back to the second step
When we create tables using these new rules, as we did before, and scroll through them, the following animation is produced:

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-14.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-15.gif

The result is truly remarkable. And as is evident, there are infinitely many variations of the rules. Here are a few more examples of such modified rules, each accompanied by the corresponding visualizations:
- Let x be any natural number and y be its mirror image
- Perform the operation (x+y) mod x+x
- If the resulting number is not a palindrome, go back to the second step

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-16.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-17.gif

- Let x be any natural number
- Perform the operation (2 * x) ÷ 3
- Round the result of the second step up
- If the resulting number is not a palindrome, go back to step 2

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-18.png

[MEDIA: image]
FILE: /images/lychreluv-fraktal-obr-19.gif

If anyone is interested in experimenting with a program to generate these patterns, here is the Python source code I created:

[CODE BLOCK]
import numpy as np
import matplotlib.pyplot as plt
import math

# convert positive whole number n in base10 to baseB
def base10_to_baseB(B, n):
    # create base symbols list
    abc = []
    result = []
    for symbol in range(B):
        abc.append([symbol])

    # convert number to baseB
    if n==0:
        result.append(abc[n])
    elif math.log(n, B) < 1:
        result.append(abc[n])
    elif math.log(n, B) >= 1:
        x = math.floor(n / B)
        result.append(abc[n % B])
        result.append(abc[x % B])
        if math.log(n, B) >= 2:
            for digits in range(2, math.ceil(math.log(n, B)+0.00001)):
                x = math.floor(x / B)
                result.append(abc[x % B])
    result.reverse()
    return result

# convert positive whole number n in baseB to base10
def baseB_to_base10(B, n):
    result2=0
    for digits in range(0,len(n)):
        result2+=n[digits][0]*B**(len(n)-digits-1)
    return result2



#ENTER START AND LAST FRAME and BASE
start_frame=1
last_frame=1+100
B=256

start_frame-=1
last_frame-=1
for images_number in range(start_frame,last_frame):

    #calculate first number of matrix (not iterations of this number!)
    x = images_number
    x = (x) * (B ** 2)
    x_static=x

    #do all iterations to get whole matrix
    matOLD=np.array([])
    for l in range(1,(B*B)+1):
        #convert number from base10 to baseB
        x = base10_to_baseB(B, x)
        j = 0
        z = False
        while z == False:
            z = True

            # check if number is palindrome
            for k in range(len(x)-1):
                if x[k] != x[(len(x) - 1) - k]:
                    z = False
            if z == True:
                break

            # add number and it's reverse version
            y=x
            x=baseB_to_base10(B,x)
            y.reverse()
            y=baseB_to_base10(B, y)
            x=x+y  #change this to generate different images
            x=base10_to_baseB(B,x)
            j+=1

            #max iterations limit
            if j>50:
                j=50
                break

        #create matrices
        matNEW=np.array([j])
        matOLD=np.concatenate((matOLD, matNEW))

        #add 1 to iterate next number
        x=x_static
        x+=l
        print("{}/{}".format(x-x_static, (B ** 2))) #report about process

    #reshape matrices to base x base
    matOLD=matOLD.reshape(B,B)
    print(matOLD)

    #plot on image
    plt.subplot(211)
    plt.imshow(matOLD, cmap=plt.cm.nipy_spectral)
    plt.title("tabulka {} pro čísla {} až {}, base {}".format(images_number+1,x_static,x_static+(B**2)-1,B),fontsize=8)
    plt.subplots_adjust(bottom=-0.9, right=0.8, top=0.9)
    cax = plt.axes([0.8, 0.09, 0.02, 0.81])
    plt.clim(0, 50)  # set limit to colorbar maximal value
    cb = plt.colorbar(cax=cax)
    plt.savefig('{}_lychrel {} - {}, base {}.png'.format(images_number+1,x_static,x_static+(B**2)-1,B),dpi=200)
    cb.remove() #remove colorbar to prevent "border summing"
    plt.draw() #refresh figure
plt.show()
[/CODE BLOCK]

And here you can play around with an interactive demo:

[INTERACTIVE EMBED]
SOURCE: /demos/lychreluv-fraktal/lychreluv-fraktal.html
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Lipový list
SLUG: lipovy-list
URL: https://vojtamaur.cz/lipovy-list/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2019-10-03
SOURCE: src/content/posts/lipovy-list.mdx
BUILT_HTML: dist/lipovy-list/index.html
============================================================

Lipový list
říjen 2019
[MEDIA: image]
FILE: /images/lipovy-list-obr-1.jpg
ALT: fotografie lipového listu [/images/lipovy-list-obr-1.jpg]
[MEDIA: image]
FILE: /images/lipovy-list-obr-2.jpg
ALT: geometrický nákres lipového listu [/images/lipovy-list-obr-2.jpg]
[MEDIA: image]
FILE: /images/lipovy-list-obr-3.jpg
ALT: formální definice geometrického nákresu [/images/lipovy-list-obr-3.jpg]
První obrázek je prostá fotografie lipového listu. Na druhém je geometrická konstrukce tvaru tohoto listu. Tvar je zkonstruován pouze pomocí šesti kružnic a několika dalších pomocných geometrických útvarů. Pozoruhodné je, že tento list lze velmi snadno narýsovat jen za pomoci tužky, trojúhelníku s ryskou a kružítka. Velikostní poměry geometrických útvarů potřebných ke konstrukci jsou totiž velice prosté. Například kružnice K3a K4mají vůči kružnicím K1a K2dvojnásobný poloměr. Také „stonek“ listu (odborně řapík) má délku, která je rovna poloměru kružnic K3a K4. Za zmínku rozhodně stojí poměr délky řapíku (úsečka P2A) a listové čepele (úsečka P2B). Jsou totiž v poměru 1:1,6143, což je aproximace pro zlatý řez [https://cs.wikipedia.org/wiki/Zlat%C3%BD_%C5%99ez] s přesností na dvě desetinná místa (φ≈1,6180…). Třetí obrázek je izomorfní [https://cs.wikipedia.org/wiki/Izomorfismus] vůči druhému obrázku (zachovává všechny informace z druhého obrázku a jde tedy pouze o jinou reprezentaci té samé věci). Je na něm vyjádřeno symboly, jak tento list narýsovat. Lipový list je pak definován jako množina jedné úsečky (řapík) a několika oblouků (listová čepel).


============================================================
TITLE: Lipový list
SLUG: lipovy-list
URL: https://vojtamaur.cz/en/lipovy-list/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2019-10-03
SOURCE: src/content/posts/lipovy-list.mdx
BUILT_HTML: dist/en/lipovy-list/index.html
============================================================

Linden Leaf
October 2019
[MEDIA: image]
FILE: /images/lipovy-list-obr-1.jpg
ALT: fotografie lipového listu [/images/lipovy-list-obr-1.jpg]
[MEDIA: image]
FILE: /images/lipovy-list-obr-2.jpg
ALT: geometrický nákres lipového listu [/images/lipovy-list-obr-2.jpg]
[MEDIA: image]
FILE: /images/lipovy-list-obr-3.jpg
ALT: formální definice geometrického nákresu [/images/lipovy-list-obr-3.jpg]
The first image is a simple photograph of a linden leaf. The second shows a geometric construction of the leaf’s shape. The shape is constructed using only six circles and a few other auxiliary geometric figures. It is remarkable that this leaf can be drawn very easily using only a pencil, a set square, and a compass. The size ratios of the geometric shapes needed for the construction are, in fact, very simple. For example, circles K3 and K4 have twice the radius of circles K1 and K2. The “stem” of the leaf (technically known as the petiole) also has a length equal to the radius of circles K3 and K4. The ratio of the petiole’s length (line segment P2A) to the leaf blade’s length (line segment P2B) is certainly worth mentioning. This ratio is 1:1.6143, which is an approximation of the golden ratio [https://cs.wikipedia.org/wiki/Zlat%C3%BD_%C5%99ez] accurate to two decimal places (φ ≈ 1.6180…). The third figure is isomorphic [https://cs.wikipedia.org/wiki/Izomorfismus] to the second figure (it preserves all the information from the second figure and is therefore simply a different representation of the same thing). It uses symbols to show how to draw this leaf. The linden leaf is then defined as the set consisting of a single line segment (the petiole) and several arcs (the leaf blade).


============================================================
TITLE: Prvočíselné spirály
SLUG: prvociselne-spiraly
URL: https://vojtamaur.cz/prvociselne-spiraly/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2019-10-02
SOURCE: src/content/posts/prvociselne-spiraly.mdx
BUILT_HTML: dist/prvociselne-spiraly/index.html
============================================================

Prvočíselné spirály
říjen 2019
V tomto projektu jsem se pokusil nalézt vzorce pro aritmetické posloupnosti [https://cs.wikipedia.org/wiki/Aritmetick%C3%A1_posloupnost] s vysokou četností prvočísel [https://cs.wikipedia.org/wiki/Prvo%C4%8D%C3%ADslo]. Tyto vzorce jsem nalezl vytvořením číselných spirál podobných Ulamovo spirále [https://cs.wikipedia.org/wiki/Ulamova_spir%C3%A1la] vytvořených ze tří základních geometrických tvarů - z hexagonů, čtverců a trojúhleníků. Zvolil jsem právě tyto tvary, protože pravidelné teselace povrchu [https://cs.wikipedia.org/wiki/Teselace] lze dosáhnou jen těmito třemi tvary. Jinými slovy: pouze tyto tvary lze vyskládat vedle sebe tak, aby nevznikly žádné mezery.
HEXAGONOVÁ SPIRÁLA
Nejprve jsem vytvořil jeden hexagon a do něj napsal číslo 1. Po celém vnějším obvodu tohoto hexagonu jsem narýsoval další hexagony a do nich napsal kladná přirozená čísla ve směru hodinových ručiček tak, aby číslo 1 bylo vždy zarovnané nad sebou v jednom sloupci. Tento proces jsem opakoval, dokud obrazec nebyl dostatečně veliký.

[MEDIA: image]
FILE: /images/prvociselne-spiraly-obr-1.jpg
ALT: ukázka postupu tvorby hexagonové spirály

Poté jsem označil zelenou barvou všechny hexagony, uvnitř nichž se nacházelo prvočíslo.

[MEDIA: image]
FILE: /images/prvociselne-spiraly-obr-2.jpg
ALT: hexagonová spirála

V tomto obrazci najednou vznikl pozoruhodný vzor. Povšiml jsem si, že ve dvou sloupcích vlevo nahoře jsou číselné řady s aritmetickou posloupností, jejíž diference je 6 (zvýrazněny červeně), které obsahují vysokou četnost prvočísel. Vzorec pro vypočítání n-tého členu v levém sloupci je a(n)=6*n+1 a v pravém sloupci a(n)=6*n+5. Hledal jsem tyto dvě číselné posloupnosti na OEIS (Online Encyclopedia of Integer Sequences) a zjistil, že obě jsou již v databázi pod kódy A016921 [https://oeis.org/A016921] a A016969 [https://oeis.org/A016969]. Také jsem na internetu objevil zajímavé tvrzení: množina posloupnosti a(n)=6n+1 a a(n)=6n+5 dohromady obsahuje všechna prvočísla vyšší než 3. Kromě těchto dvou zajímavých sloupců obsahujících mnoho prvočísel jsem objevil také posloupnost lichých čísel, která neobsahuje žádná prvočísla (zvýrazněná modře). Vzorec pro vypočítání n-tého členu v modrém sloupci je a(n)=6*n+3. Tuto posloupnost jsem později také nalezl v databázi OEIS pod kódem A016945 [https://oeis.org/A016945].
ČTVERCOVÁ SPIRÁLA
Stejným způsobem jsem zkonstruoval čtvercovou spirálu, ve které se tyto tři posloupnosti také objevili.

[MEDIA: image]
FILE: /images/prvociselne-spiraly-obr-3.jpg
ALT: ukázka postupu tvorby čtvercové spirály

[MEDIA: image]
FILE: /images/prvociselne-spiraly-obr-4.jpg
ALT: čtvercová spirála

TROJÚHELNÍKOVÁ SPIRÁLA
V této spirále se opět ukázali posloupnosti a(n)=6*n+1 a a(n)=6*n+5, ovšem sloučené dohromady. Toto sloučení nastalo tím, že při každém sudém kroku konstrukce spirály se trojúhelníkem rotuje o 180° (některé trojúhelníky jsou špičkou nahoru, jiné zase špičkou dolu).

[MEDIA: image]
FILE: /images/prvociselne-spiraly-obr-5.jpg
ALT: ukázka postupu tvorby trojúhelníkové spirály

[MEDIA: image]
FILE: /images/prvociselne-spiraly-obr-6.jpg
ALT: trojúhelníková spirála


============================================================
TITLE: Prvočíselné spirály
SLUG: prvociselne-spiraly
URL: https://vojtamaur.cz/en/prvociselne-spiraly/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2019-10-02
SOURCE: src/content/posts/prvociselne-spiraly.mdx
BUILT_HTML: dist/en/prvociselne-spiraly/index.html
============================================================

Prime Number Spirals
October 2019
In this project, I attempted to find patterns for arithmetic sequences [https://cs.wikipedia.org/wiki/Aritmetick%C3%A1_posloupnost] with a high frequency of prime numbers [https://cs.wikipedia.org/wiki/Prvo%C4%8D%C3%ADslo]. I found these patterns by creating numerical spirals similar to the Ulam spiral, [https://cs.wikipedia.org/wiki/Ulamova_spir%C3%A1la] formed from three basic geometric shapes—hexagons, squares, and triangles. I chose these shapes because a regular tessellation of a surface [https://cs.wikipedia.org/wiki/Teselace] can be achieved using only these three shapes. In other words: only these shapes can be arranged side by side without leaving any gaps.
HEXAGON SPIRAL
First, I drew a single hexagon and wrote the number 1 inside it. Along the entire outer perimeter of this hexagon, I drew additional hexagons and wrote positive natural numbers inside them in a clockwise direction so that the number 1 was always aligned vertically in a single column. I repeated this process until the figure was large enough.

[MEDIA: image]
FILE: /images/prvociselne-spiraly-obr-1.jpg
ALT: ukázka postupu tvorby hexagonové spirály

Then I highlighted in green all the hexagons that contained a prime number.

[MEDIA: image]
FILE: /images/prvociselne-spiraly-obr-2.jpg
ALT: hexagonová spirála

A remarkable pattern suddenly emerged in this figure. I noticed that in the two columns at the top left, there are numerical sequences with an arithmetic progression whose common difference is 6 (highlighted in red), which contain a high frequency of prime numbers. The formula for calculating the nth term in the left column is a(n) = 6*n + 1, and in the right column, a(n) = 6*n + 5. I searched for these two sequences on the OEIS (Online Encyclopedia of Integer Sequences) and found that both are already in the database under codes A016921 [https://oeis.org/A016921] and A016969 [https://oeis.org/A016969]. I also found an interesting claim online: the set of the sequences a(n) = 6n + 1 and a(n) = 6n + 5 together contains all prime numbers greater than 3. In addition to these two interesting columns containing many prime numbers, I also discovered a sequence of odd numbers that contains no prime numbers (highlighted in blue). The formula for calculating the nth term in the blue column is a(n) = 6n + 3. I later found this sequence in the OEIS database under code A016945 [https://oeis.org/A016945].
SQUARE SPIRAL
In the same way, I constructed a square spiral in which these three sequences also appeared.

[MEDIA: image]
FILE: /images/prvociselne-spiraly-obr-3.jpg
ALT: ukázka postupu tvorby čtvercové spirály

[MEDIA: image]
FILE: /images/prvociselne-spiraly-obr-4.jpg
ALT: čtvercová spirála

TRIANGULAR SPIRAL
In this spiral, the sequences a(n) = 6*n + 1 and a(n) = 6*n + 5 appeared again, but combined into one. This combination occurred because, at every even step in the construction of the spiral, the triangle is rotated by 180° (some triangles point upward, while others point downward).

[MEDIA: image]
FILE: /images/prvociselne-spiraly-obr-5.jpg
ALT: ukázka postupu tvorby trojúhelníkové spirály

[MEDIA: image]
FILE: /images/prvociselne-spiraly-obr-6.jpg
ALT: trojúhelníková spirála


============================================================
TITLE: Iluze kontrastu vertikálních a horizontálních pruhů
SLUG: iluze-kontrastu-vertikalnich-horizontalnich-pruhu
URL: https://vojtamaur.cz/iluze-kontrastu-vertikalnich-horizontalnich-pruhu/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2019-08-02
SOURCE: src/content/posts/iluze-kontrastu-vertikalnich-horizontalnich-pruhu.mdx
BUILT_HTML: dist/iluze-kontrastu-vertikalnich-horizontalnich-pruhu/index.html
============================================================

Iluze kontrastu vertikálních a horizontálních pruhů
srpen 2019

[MEDIA: image]
FILE: /images/iluze-kontrastu-vertikalnich-horizontalnich-pruhu-obr-1.jpg
ALT: srovnání vertikálních a horizontálních pruhů

Horizontální pruhy na obrázku výše se při pohledu zdálky jeví méně kontrastní, než vertikální pruhy. Ve skutečnosti jsou ovšem totožné, jak lze při pohledu zblízka vidět. Při otočení hlavou doleva či doprava o 45° tato iluze zmizí. Při otočení hlavou doleva či doprava o 90° se z horizontálních pruhů stanou vertikální, a proto se ony jeví kontrastnější.
Této iluze jsem si všiml na obrázku spirály Fibonacciho slova [https://vojtamaur.cz/spirala-fibonacciho-slova/]. Tento čtvercový obrázek vypadá jakoby byl tvořen čtyřmi trojúhelníky - dva vyplněné horizontálními pruhy a dva vyplněné vertikálními pruhy. Domnívám se, že tato iluze funguje na podobném principu jako vertikální-horizontální iluze [https://en.wikipedia.org/wiki/Vertical%E2%80%93horizontal_illusion]. Také se domnívám, že to souvisí s reakcí určitých skupin neuronů na různé podněty. Neurony totiž reagují rozdílně na různé podněty jako jsou právě vertikální pruhy, diagonální pruhy, horizontální pruhy atd (viz kniha Gödel, Escher, Bach, kapitola 11). Pozoruhodné je, že tato iluze funguje na každého jinak intenzivně - někdo jí vidí naprosto jasně a na někoho nefunguje vůbec. Ještě více je tato iluze patrná na obrázku níže.

[MEDIA: image]
FILE: /images/iluze-kontrastu-vertikalnich-horizontalnich-pruhu-obr-2.jpg
ALT: obraz složený z vertikálních a horizontálních pruhů


============================================================
TITLE: Iluze kontrastu vertikálních a horizontálních pruhů
SLUG: iluze-kontrastu-vertikalnich-horizontalnich-pruhu
URL: https://vojtamaur.cz/en/iluze-kontrastu-vertikalnich-horizontalnich-pruhu/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2019-08-02
SOURCE: src/content/posts/iluze-kontrastu-vertikalnich-horizontalnich-pruhu.mdx
BUILT_HTML: dist/en/iluze-kontrastu-vertikalnich-horizontalnich-pruhu/index.html
============================================================

The Illusion of Contrast Between Vertical and Horizontal Stripes
August 2019

[MEDIA: image]
FILE: /images/iluze-kontrastu-vertikalnich-horizontalnich-pruhu-obr-1.jpg
ALT: srovnání vertikálních a horizontálních pruhů

The horizontal stripes in the image above appear less contrasting than the vertical stripes when viewed from a distance. In reality, however, they are identical, as can be seen when viewed up close. If you turn your head 45° to the left or right, this illusion disappears. If you turn your head 90° to the left or right, the horizontal stripes become vertical, and therefore appear more contrasting.
I noticed this illusion in an image of the Fibonacci spiral [https://vojtamaur.cz/spirala-fibonacciho-slova/]. This square image looks as if it were made up of four triangles—two filled with horizontal stripes and two filled with vertical stripes. I believe this illusion works on a similar principle as the vertical-horizontal illusion [https://en.wikipedia.org/wiki/Vertical%E2%80%93horizontal_illusion]. I also believe it is related to the response of certain groups of neurons to different stimuli. Neurons react differently to various stimuli, such as vertical stripes, diagonal stripes, horizontal stripes, etc. (see the book *Gödel, Escher, Bach*, Chapter 11). It is remarkable that this illusion affects everyone with varying intensity—some people see it very clearly, while for others it does not work at all. This illusion is even more evident in the image below.

[MEDIA: image]
FILE: /images/iluze-kontrastu-vertikalnich-horizontalnich-pruhu-obr-2.jpg
ALT: obraz složený z vertikálních a horizontálních pruhů


============================================================
TITLE: Spirála Fibonacciho slova
SLUG: spirala-fibonacciho-slova
URL: https://vojtamaur.cz/spirala-fibonacciho-slova/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2019-08-01
SOURCE: src/content/posts/spirala-fibonacciho-slova.mdx
BUILT_HTML: dist/spirala-fibonacciho-slova/index.html
============================================================

Spirála Fibonacciho slova
srpen 2019

[MEDIA: image]
FILE: /images/spirala-fibonacciho-slova-obr-1.jpg
ALT: Spirála Fibonacciho slova: výstup programu Pavla Burdy

Pro vykreslení tohoto obrazce jsem dosadil Fibonacciho slovo [https://cs.wikipedia.org/wiki/Fibonacciho_slovo] do spirály stejným způsobem, jako jsou dosazena přirozená čísla do Ulamovi spirály. Jednotlivá čísla v této spirále jsem označil dle pravidla: 0 = černý čtverec, 1 = bílý čtverec (tento postup je znázorněn v animaci níže). Pro zefektivnění tohoto postupu byl využit skriptovací jazyk JavaScript.

[MEDIA: image]
FILE: /images/spirala-fibonacciho-slova-obr-2.gif
ALT: animovaná ukázka postupu

Co je Fibonacciho slovo?
Fibonacciho slovo je specifická posloupnost binárních číslic (nebo obecněji jakýchkoliv dvou symbolů). Získáme ho podobně jako Fibonacciho posloupnost [https://cs.wikipedia.org/wiki/Fibonacciho_posloupnost], pouze namísto sčítání použijeme zřetězení slov. Počáteční dva členy jsou definované: S0 = 0, S1 = 01. Další člen vzniklý zřetězením (tedy přidáním předposledního členu za poslední člen) bude S2 = 010. Posloupnost několika prvních číslic z Fibonacciho slov by tedy vypadala takto: 0100101001001010010100100101001001…
Co je Ulamova spirála?
Ulamova spirála [https://cs.wikipedia.org/wiki/Ulamova_spir%C3%A1la], nebo také prvočíselná spirála, je obrázek, který vznikne seřazením přirozených čísel do spirály a zvýrazněním prvočísel. Byla objevena matematikem Stanisławem Ulamem v roce 1963. Ulam si napsal přirozená čísla do obdélníkové sítě, jedničku doprostřed a další čísla spirálovitě směrem ven.
Zdrojový kód projektu

[CODE BLOCK]
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Spirála Fibonacciho slova</title>

  <meta name="viewport" content="width=device-width, initial-scale=1">

  <style>
    #container {
      text-align: center;
      position: absolute;
      left: 50%;
      top: 50%;
      padding: 20px;
      transform: translate(-50%, -50%);
      width: 600px;
      height: 600px;
      background-color: white;
    }

    #point {
      color: black;
      background-color: white;
      border:none;
      position: absolute;
      font-size:11px;
      text-align:center;
      margin: 0;
      padding: 10px;
      width:20px;
      height:20px;
    }

    #point2 {
      color: white;
      background-color: black;
      position: absolute;
      font-size:11px;
      text-align:center;
      border:none;
      margin: 0;
      padding: 10px;
      width:20px;
      height:20px;
    }
  </style>
</head>
<body>
  <main id='container'>
  </main>

  <script>
    /* FUNKCE SPIRALY */
    function spiral(n) {
      if (n === 0) return [0, 0, r];
      --n;

      var r = Math.floor((Math.sqrt(n + 1) - 1) / 2) + 1;
      var p = (8 * r * (r - 1)) / 2;
      var en = r * 2;
      var a = (1 + n - p) % (r * 8);
      var pos = [0, 0, r];

      switch (Math.floor(a / (r * 2))) {
        case 0:
          {
            pos[0] = a - r;
            pos[1] = -r;
          }
          break;
        case 1:
          {
            pos[0] = r;
            pos[1] = (a % en) - r;
          }
          break;
        case 2:
          {
            pos[0] = r - (a % en);
            pos[1] = r;
          }
          break;
        case 3:
          {
            pos[0] = -r;
            pos[1] = r - (a % en);
          }
          break;
      }

      return pos;
    }

    /* FIBONACCIHO SLOVA */
    container = document.getElementById("container");
    var var0 = "<div id='point'></div>";
    var var1 = "<div id='point2'></div>";
    var var3;
    var text = "";
    var i;

    /* ITERACE NEFUNGUJE PO JEDNOM CTVERECKU ALE PO KAZDEM SOUCTU JEDNICEK A NUL */
    for (var i = 0; i < 22; i++) {
      var3 = var0 + var1;
      var1 = var0;
      var0 = var3;

      text += var3;
      container.innerHTML = text;
    }

    /* VOLANI FUNKCE SPIRALY */
    var cislo = document.getElementById('container').getElementsByTagName("div");

    for(var i=0; i<cislo.length; i++) {
      cislo[i].setAttribute("class", "jedno");

      var pos = spiral(i);

[TRUNCATED: original code/output block had 126 lines and 2613 characters; showing first 120 lines. Omitted 6 lines and 143 characters.]
See the full website source or rendered post for the complete version.
[/CODE BLOCK]

Autor myšlenky: Vojta Maur
Autor kódu: Pavel Burda


============================================================
TITLE: Spirála Fibonacciho slova
SLUG: spirala-fibonacciho-slova
URL: https://vojtamaur.cz/en/spirala-fibonacciho-slova/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2019-08-01
SOURCE: src/content/posts/spirala-fibonacciho-slova.mdx
BUILT_HTML: dist/en/spirala-fibonacciho-slova/index.html
============================================================

The Fibonacci Word Spiral
August 2019

[MEDIA: image]
FILE: /images/spirala-fibonacciho-slova-obr-1.jpg
ALT: Spirála Fibonacciho slova: výstup programu Pavla Burdy

To draw this figure, I placed the Fibonacci sequence [https://cs.wikipedia.org/wiki/Fibonacciho_slovo] into the spiral in the same way that natural numbers are placed into the Ulam spiral. I labeled the individual numbers in this spiral according to the following rule: 0 = black square, 1 = white square (this process is illustrated in the animation below). To streamline this process, I used the JavaScript scripting language.

[MEDIA: image]
FILE: /images/spirala-fibonacciho-slova-obr-2.gif
ALT: animovaná ukázka postupu

What is a Fibonacci word?
A Fibonacci word is a specific sequence of binary digits (or, more generally, any two symbols). We obtain it in a similar way to the Fibonacci sequence [https://cs.wikipedia.org/wiki/Fibonacciho_posloupnost], except that instead of addition, we use word concatenation. The first two terms are defined: S0 = 0, S1 = 01. The next term, formed by concatenation (i.e., adding the penultimate term to the last term), will be S2 = 010. The sequence of the first few digits of the Fibonacci words would therefore look like this: 0100101001001010010100100101001001…
What is the Ulam spiral?
The Ulam spiral [https://cs.wikipedia.org/wiki/Ulamova_spir%C3%A1la]
, also known as the prime number spiral, is a diagram created by arranging natural numbers in a spiral and highlighting the prime numbers. It was discovered by mathematician Stanisław Ulam in 1963. Ulam wrote the natural numbers into a rectangular grid, placing the number 1 in the center and the other numbers spiraling outward.
Project source code

[CODE BLOCK]
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Spirála Fibonacciho slova</title>

  <meta name="viewport" content="width=device-width, initial-scale=1">

  <style>
    #container {
      text-align: center;
      position: absolute;
      left: 50%;
      top: 50%;
      padding: 20px;
      transform: translate(-50%, -50%);
      width: 600px;
      height: 600px;
      background-color: white;
    }

    #point {
      color: black;
      background-color: white;
      border:none;
      position: absolute;
      font-size:11px;
      text-align:center;
      margin: 0;
      padding: 10px;
      width:20px;
      height:20px;
    }

    #point2 {
      color: white;
      background-color: black;
      position: absolute;
      font-size:11px;
      text-align:center;
      border:none;
      margin: 0;
      padding: 10px;
      width:20px;
      height:20px;
    }
  </style>
</head>
<body>
  <main id='container'>
  </main>

  <script>
    /* FUNKCE SPIRALY */
    function spiral(n) {
      if (n === 0) return [0, 0, r];
      --n;

      var r = Math.floor((Math.sqrt(n + 1) - 1) / 2) + 1;
      var p = (8 * r * (r - 1)) / 2;
      var en = r * 2;
      var a = (1 + n - p) % (r * 8);
      var pos = [0, 0, r];

      switch (Math.floor(a / (r * 2))) {
        case 0:
          {
            pos[0] = a - r;
            pos[1] = -r;
          }
          break;
        case 1:
          {
            pos[0] = r;
            pos[1] = (a % en) - r;
          }
          break;
        case 2:
          {
            pos[0] = r - (a % en);
            pos[1] = r;
          }
          break;
        case 3:
          {
            pos[0] = -r;
            pos[1] = r - (a % en);
          }
          break;
      }

      return pos;
    }

    /* FIBONACCIHO SLOVA */
    container = document.getElementById("container");
    var var0 = "<div id='point'></div>";
    var var1 = "<div id='point2'></div>";
    var var3;
    var text = "";
    var i;

    /* ITERACE NEFUNGUJE PO JEDNOM CTVERECKU ALE PO KAZDEM SOUCTU JEDNICEK A NUL */
    for (var i = 0; i < 22; i++) {
      var3 = var0 + var1;
      var1 = var0;
      var0 = var3;

      text += var3;
      container.innerHTML = text;
    }

    /* VOLANI FUNKCE SPIRALY */
    var cislo = document.getElementById('container').getElementsByTagName("div");

    for(var i=0; i<cislo.length; i++) {
      cislo[i].setAttribute("class", "jedno");

      var pos = spiral(i);

[TRUNCATED: original code/output block had 126 lines and 2613 characters; showing first 120 lines. Omitted 6 lines and 143 characters.]
See the full website source or rendered post for the complete version.
[/CODE BLOCK]

Concept by: Vojta Maur
Code by: Pavel Burda


============================================================
TITLE: Itálie - Benátky 2019
SLUG: cestovani-italie-benatky-2019
URL: https://vojtamaur.cz/cestovani-italie-benatky-2019/
LANGUAGE: cs
SECTION: cestovani
DATE: 2019-07-01
SOURCE: src/content/posts/cestovani-italie-benatky-2019.mdx
BUILT_HTML: dist/cestovani-italie-benatky-2019/index.html
============================================================

Itálie - Benátky 2019
Video

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/EW4HoE_ZCuw
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Itálie - Benátky 2019
SLUG: cestovani-italie-benatky-2019
URL: https://vojtamaur.cz/en/cestovani-italie-benatky-2019/
LANGUAGE: en
SECTION: cestovani
DATE: 2019-07-01
SOURCE: src/content/posts/cestovani-italie-benatky-2019.mdx
BUILT_HTML: dist/en/cestovani-italie-benatky-2019/index.html
============================================================

Italy - Venice 2019
Video

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/EW4HoE_ZCuw
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Barva, tvar a tón
SLUG: barva-tvar-ton
URL: https://vojtamaur.cz/barva-tvar-ton/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2019-06-02
SOURCE: src/content/posts/barva-tvar-ton.mdx
BUILT_HTML: dist/barva-tvar-ton/index.html
============================================================

Barva, tvar a tón
červen 2019

[MEDIA: image]
FILE: /images/barva-tvar-ton-obr-1.png
ALT: barevná teorie - Vasilij Kadinskij

Podle umělce Vasilije Kadinskijeho [https://cs.wikipedia.org/wiki/Vasilij_Kandinskij] a jeho barevné teorie existuje spojení mezi barvou a tvarem. K tehdy používanému barevnému modelu RYB [https://cs.wikipedia.org/wiki/RYB] (červená, žlutá, modrá) přiřadil tři 2D geometrické tvary ve vztahu: trojúhelník = žlutá, čtverec = červená, kruh = modrá.
Inspiroval jsem se jeho dílem a vytvořil jsem moderní verzi této barevné teorie. Místo dnes možná již zastaralého barevného modelu RYB [https://cs.wikipedia.org/wiki/RYB] jsem použil fyzikálně přesnější a v dnešní době více užívaný barevný model RGB [https://cs.wikipedia.org/wiki/RGB] (červená, zelená, modrá). Čtverec, který použil Kadinskij jsem nahradil pětiúhelníkem, protože čtverec je více podobný trojúhelníku než kruhu, zatímco pětiúhelník se mi zdá vhodnější přechod mezi trojúhelníkem a kruhem.

[MEDIA: image]
FILE: /images/barva-tvar-ton-obr-2.png
ALT: barevná teorie - Vojta Maur

Pro nalezení vhodného tvaru (pětiúhelníku) mezi trojúhelníkem a kruhem jsem použil vnitřní úhly tvarů. Vnitřní úhel rovnostranného trojúhelníku je 60° (neboli 60^1). Vnitřní úhel kruhu by měl být 180° (neboli 60^1.268324336648371). Ano, kruh nemá stěny, a proto nemůže mít ani vnitřní úhly, ale např. vnitřní úhel tisíciúhelníku je 179,64° a tento tvar se vizuálně velice podobá kruhu. Pokud zprůměruji tyto dva exponenty 60^[(1+1.268324336648371):2] dostanu výsledek 103.923°. Tento vnitřní úhel je nejvíce podobný pětiúhelníku, jehož vnitřní úhel je 108°.
Pro rozšíření této barevné teorie jsem stejným postupem přidal ještě přechody mezi základními barevnými tvary se vztahy: čtverec = žlutá, osmiúhelník = azurová.
Tuto teorii jsem se pokusil doplnit přiřazením barevných tvarů k výšce tónu podle vztahu: ostrý úhel + teplá barva = vysoký tón, tupý úhel + studená barva = hluboký tón. Tento koncept jsem zaznamenal do notové osnovy.

[MEDIA: image]
FILE: /images/barva-tvar-ton-obr-3.png
ALT: rozšířená barevná teorie - Vojta Maur

Tuto teorii jsem se pokusil doplnit přiřazením barevných tvarů k výšce tónu podle vztahu: ostrý úhel + teplá barva = vysoký tón, tupý úhel + studená barva = hluboký tón. Tento koncept jsem zaznamenal do notové osnovy.

[MEDIA: image]
FILE: /images/barva-tvar-ton-obr-4.jpg
ALT: barevná hudební teorie - Vojta Maur

Jediná barva, která se mi nepodařila přiřadit k žádnému tvaru ani tónu je purpurová. Měla by být podobná zelené (také je něco mezi modrou a červenou a také je studená a teplá zároveň). Měla by vypadat jako půlkruh? Nebo jako zaoblený trojúhelník? Nebo by měla být identická se zelenou - tedy také pětiúhelník? Doposud jsem na tuto otázku nenalezl odpověď.


============================================================
TITLE: Barva, tvar a tón
SLUG: barva-tvar-ton
URL: https://vojtamaur.cz/en/barva-tvar-ton/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2019-06-02
SOURCE: src/content/posts/barva-tvar-ton.mdx
BUILT_HTML: dist/en/barva-tvar-ton/index.html
============================================================

Color, Shape, and Tone
June 2019

[MEDIA: image]
FILE: /images/barva-tvar-ton-obr-1.png
ALT: barevná teorie - Vasilij Kadinskij

According to artist Vasily Kandinsky [https://cs.wikipedia.org/wiki/Vasilij_Kandinskij] and his color theory, there is a connection between color and shape. He assigned three 2D geometric shapes to the RYB [https://cs.wikipedia.org/wiki/RYB] (red, yellow, blue) color model used at the time: triangle = yellow, square = red, circle = blue.
I was inspired by his work and created a modern version of this color theory. Instead of the RYB [https://cs.wikipedia.org/wiki/RYB] color model, which may now be outdated, I used the physically more accurate and currently more widely used RGB [https://cs.wikipedia.org/wiki/RGB] (red, green, blue) color model. I replaced the square that Kandinsky used with a pentagon, because a square is more similar to a triangle than to a circle, while a pentagon seems to me a more suitable transition between a triangle and a circle.

[MEDIA: image]
FILE: /images/barva-tvar-ton-obr-2.png
ALT: barevná teorie - Vojta Maur

To find a suitable shape (pentagon) between a triangle and a circle, I used the interior angles of the shapes. The interior angle of an equilateral triangle is 60° (or 60^1). The interior angle of a circle should be 180° (or 60^1.268324336648371). Yes, a circle has no sides and therefore cannot have interior angles, but for example, the interior angle of a thousand-sided polygon is 179.64°, and this shape visually resembles a circle very closely. If I take the average of these two exponents, 60^[(1+1.268324336648371):2], I get a result of 103.923°. This interior angle is most similar to that of a pentagon, whose interior angle is 108°.
To expand this color theory, I used the same procedure to add transitions between the basic color shapes with the following relationships: square = yellow, octagon = cyan.
I attempted to supplement this theory by assigning color shapes to pitch according to the relationship: acute angle + warm color = high pitch, obtuse angle + cool color = low pitch. I recorded this concept in a musical staff.

[MEDIA: image]
FILE: /images/barva-tvar-ton-obr-3.png
ALT: rozšířená barevná teorie - Vojta Maur

I attempted to expand this theory by assigning colored shapes to pitch according to the relationship: acute angle + warm color = high pitch, obtuse angle + cool color = low pitch. I recorded this concept on a musical staff.

[MEDIA: image]
FILE: /images/barva-tvar-ton-obr-4.jpg
ALT: barevná hudební teorie - Vojta Maur

The only color I couldn’t assign to any shape or pitch is purple. It should be similar to green (it is also something between blue and red and is both cool and warm at the same time). Should it look like a semicircle? Or like a rounded triangle? Or should it be identical to green—that is, also a pentagon? So far, I have not found an answer to this question.


============================================================
TITLE: Lidský zrak
SLUG: lidsky-zrak
URL: https://vojtamaur.cz/lidsky-zrak/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2019-06-01
SOURCE: src/content/posts/lidsky-zrak.mdx
BUILT_HTML: dist/lidsky-zrak/index.html
============================================================

Lidský zrak
červen 2019
Lidský zrak je ve skutečnosti jiný, než se většina lidí domívá. Původní data, které vytváří naše oči jsou velmi odlišná od toho, jak nám je poté mozek interpretuje a tedy jak si myslíme, že vidíme. Obrázek níže vizualizuje „čistá data“ odproštěná od „postprodukční“ úpravy naším mozkem.

[MEDIA: image]
FILE: /images/lidsky-zrak-obr-1.png
ALT: vizualizace lidského zraku

Na obrázku si lze povšimnout několika výrazných nedokonalostí:
- Obraz je zrcadlově otočený horizontálně i vertikálně. Každé dítě po narození vidí takto, ale časem se mozek naučí obraz obrátit. Tento efekt může také velmi vzácně nastat po požití disociativních halucinogenů.
- Obraz je vyjádřen pro každé oko samostatně - pouze mozek ho spojuje do jednoho obrazu.
- Obraz je ostrý jen v malé části uprostřed a směrem ke stranám se rozostřuje.
- Obraz je nejvíce barevný v malé části uprostřed a směrem ke stranám ztrácí saturaci. Je to způsobeno vysokým počtem čípků ve středu oka, který se směrem od středu rapidně snižuje. V každém oku je jedna černá tečka - takzvaný slepý bod (odborně scotoma). V této části oka se nenacházejí žádné čípky ani tyčinky, protože je zde umístěný oční nerv. Mozek tyto slepá místa běžně vyplňuje informacemi z druhého oka.
- Přímé linie jsou lehce deformovány do oblouků jakoby efektem rybího oka nebo širokoúhlým objektivem fotoaparátu. Mozek se snaží tyto linie narovnat, ale jedná se o pouhou iluzi.
- V zorném poli je viditelný i nos, který mozek běžně filtruje.
- Obraz není dokonale čistý, ale obsahuje slabý vizuální šum. Ten vzniká kombinací fyzikálního šumu světla, vlastního šumu fotoreceptorů a další nervové aktivity zrakového systému. Za běžných podmínek ho mozek většinou potlačuje, ale může být patrný hlavně ve tmě, při zavřených očích nebo na jednolitých plochách.
Při své klauzurní práci z druhého ročníku oboru multimediální tvorby z předmětu animace na Odborné škole obchodu, užitého umění a designu jsem vytvořil video simulující různé zajímavé oční poruchy:

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/sTMWRaVGFIE
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Lidský zrak
SLUG: lidsky-zrak
URL: https://vojtamaur.cz/en/lidsky-zrak/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2019-06-01
SOURCE: src/content/posts/lidsky-zrak.mdx
BUILT_HTML: dist/en/lidsky-zrak/index.html
============================================================

Human Vision
June 2019
Human vision is actually different from what most people assume. The raw data generated by our eyes is very different from how our brain subsequently interprets it—and thus from how we think we see. The image below visualizes the “raw data” stripped of the “post-processing” performed by our brain.

[MEDIA: image]
FILE: /images/lidsky-zrak-obr-1.png
ALT: vizualizace lidského zraku

Several notable imperfections can be seen in the image:
- The image is flipped horizontally and vertically. Every baby sees this way at birth, but over time, the brain learns to flip the image. This effect can also very rarely occur after ingesting dissociative hallucinogens.
- The image is rendered separately for each eye—only the brain combines them into a single image.
- The image is sharp only in a small central area and becomes blurry toward the edges.
- The image is most colorful in a small central area and loses saturation toward the edges. This is caused by the high number of cones in the center of the eye, which decreases rapidly away from the center. Each eye has a single black dot—the so-called blind spot (technically known as a scotoma). There are no cones or rods in this part of the eye because the optic nerve is located there. The brain typically fills in these blind spots with information from the other eye.
- Straight lines are slightly distorted into arcs, as if through a fisheye lens or a wide-angle camera lens. The brain tries to straighten these lines, but this is merely an illusion.
- The nose is also visible in the field of view, which the brain normally filters out.
- The image is not perfectly clear but contains faint visual noise. This noise arises from a combination of physical light noise, the inherent noise of the photoreceptors, and other neural activity in the visual system. Under normal conditions, the brain usually suppresses it, but it can be noticeable especially in the dark, with eyes closed, or on uniform surfaces.
For my second-year final project in the multimedia production program, specifically in the animation course at the Vocational School of Commerce, Applied Arts, and Design, I created a video simulating various interesting visual impairments:

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/sTMWRaVGFIE
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Tanzánie 2019
SLUG: cestovani-tanzanie-2019
URL: https://vojtamaur.cz/cestovani-tanzanie-2019/
LANGUAGE: cs
SECTION: cestovani
DATE: 2019-01-01
SOURCE: src/content/posts/cestovani-tanzanie-2019.mdx
BUILT_HTML: dist/cestovani-tanzanie-2019/index.html
============================================================

Tanzánie 2019
Fotografie, texty
Tato prezentace je shrnutím různých subjektivních postřehů a poznatků, které jsem nasbíral během mého krátkodobého pobytu v Tanzánii. Tyto postřehy a pocity vyjadřuji fotografiemi i textem.
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-1.jpg [/images/cestovani-tanzanie-2019-obr-1.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-2.jpg [/images/cestovani-tanzanie-2019-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-3.jpg [/images/cestovani-tanzanie-2019-obr-3.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-4.jpg [/images/cestovani-tanzanie-2019-obr-4.jpg]
Místním obyvatelům se snažím svojí tvorbou pomoci, rozšířit povědomí o jejich problémech tím i vymýtit určité rasové předsudky. Také se domnívám, že by si Evropa měla brát z této země v mnoha věcech příklad.
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-5.jpg [/images/cestovani-tanzanie-2019-obr-5.jpg]

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-6.jpg

V Tanzánii jsou dvě hlavní náboženské skupiny - islám a křesťanství. Ačkoliv soužití těchto dvou skupin může být pro průměrného evropana z 21. století těžko představitelné, místní muslimové a křesťané zde žijí v míru a navzájem se respektují.
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-7.jpg [/images/cestovani-tanzanie-2019-obr-7.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-8.jpg [/images/cestovani-tanzanie-2019-obr-8.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-9.jpg [/images/cestovani-tanzanie-2019-obr-9.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-10.jpg [/images/cestovani-tanzanie-2019-obr-10.jpg]
Osobně nemám rád lidi v uniformách (policisty, vojáky, ochranku...). Tedy alespoň ne v České republice. Domnívám se totiž, že pravomocemi, které jim byly svěřeny roste i jejich arogance. Ovšem tento můj odpor k uniformám nebyl v Tanzánii zcela opodstatněný.Lidé v uniformách tam na mě působili mile a vždy mi vyšli vstříc.

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-11.jpg

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-12.jpg [/images/cestovani-tanzanie-2019-obr-12.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-13.jpg [/images/cestovani-tanzanie-2019-obr-13.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-14.jpg [/images/cestovani-tanzanie-2019-obr-14.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-15.jpg [/images/cestovani-tanzanie-2019-obr-15.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-16.jpg [/images/cestovani-tanzanie-2019-obr-16.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-17.jpg [/images/cestovani-tanzanie-2019-obr-17.jpg]

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-18.jpg

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-19.jpg [/images/cestovani-tanzanie-2019-obr-19.jpg]
Místní obyvatelé na mě působí velmi přívětivě a přátelsky a to i mimo turistické oblasti. Pokud jsem zavítal do místní vesnice, lidé mě přivítali pozdravem „Jambo!“ (V překladu „Ahoj!“). Mnoho z nich se se mnou i dalo do řeči.
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-20.jpg [/images/cestovani-tanzanie-2019-obr-20.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-21.jpg [/images/cestovani-tanzanie-2019-obr-21.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-22.jpg [/images/cestovani-tanzanie-2019-obr-22.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-23.jpg [/images/cestovani-tanzanie-2019-obr-23.jpg]

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-24.jpg

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-25.jpg [/images/cestovani-tanzanie-2019-obr-25.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-26.jpg [/images/cestovani-tanzanie-2019-obr-26.jpg]
„Tihleti lidi z tich teplých oblastí mi přijdou víc s úsměvem než my“
(útržek rozhovoru několika cestujících, který jsem zaslechl v letadle při návratu do ČR)

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-27.jpg

Díky globalizaci vzniká na Zanzibaru i turistický ruch, který přináší spoustu výhod, ale i nevýhod. Hlavní výhodami je hospodářský růst a rostoucí úroveň vzdělanosti. Další výhodou je zvětšení povědomí o této zemi ve světě, ale bohužel tuto výhodu mnohdy negují mohutné zdi hotelových komplexů, které mnoho turistů nikdy nepřekročí. Za nevýhodu považuji ničení místní kultury. Příkladem této problematiky je migrace mnoho Masajů z pevninské Tanzánie (především z oblasti kolem Kilimandžára) do oblastí s vysokou koncentrací turistů (na pláže Zanzibaru). Tito Masajové zde prodávají cetky a jsou jen turistickou atrakcí. Masajové věří, že pokud je někdo vyfotografuje, ukradne jim tím duši. V turistických oblastech se ovšem za pár centů klidně nechají vyfotografovat.

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-28.jpg


============================================================
TITLE: Tanzánie 2019
SLUG: cestovani-tanzanie-2019
URL: https://vojtamaur.cz/en/cestovani-tanzanie-2019/
LANGUAGE: en
SECTION: cestovani
DATE: 2019-01-01
SOURCE: src/content/posts/cestovani-tanzanie-2019.mdx
BUILT_HTML: dist/en/cestovani-tanzanie-2019/index.html
============================================================

Tanzania 2019
Photos, Texts
This presentation is a summary of various subjective observations and insights I gathered during my short stay in Tanzania. I express these observations and feelings through both photographs and text.
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-1.jpg [/images/cestovani-tanzanie-2019-obr-1.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-2.jpg [/images/cestovani-tanzanie-2019-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-3.jpg [/images/cestovani-tanzanie-2019-obr-3.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-4.jpg [/images/cestovani-tanzanie-2019-obr-4.jpg]
Through my work, I strive to help the local population, raise awareness of their issues, and thereby eradicate certain racial prejudices. I also believe that Europe should take a cue from this country in many respects.
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-5.jpg [/images/cestovani-tanzanie-2019-obr-5.jpg]

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-6.jpg

There are two main religious groups in Tanzania—Islam and Christianity. Although the coexistence of these two groups may be hard for the average 21st-century European to imagine, local Muslims and Christians live here in peace and respect one another.
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-7.jpg [/images/cestovani-tanzanie-2019-obr-7.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-8.jpg [/images/cestovani-tanzanie-2019-obr-8.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-9.jpg [/images/cestovani-tanzanie-2019-obr-9.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-10.jpg [/images/cestovani-tanzanie-2019-obr-10.jpg]
Personally, I don’t like people in uniforms (police, soldiers, security guards...). At least not in the Czech Republic. I believe that the authority entrusted to them breeds arrogance. However, my aversion to uniforms was not entirely justified in Tanzania.People in uniforms there seemed kind to me and were always accommodating.

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-11.jpg

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-12.jpg [/images/cestovani-tanzanie-2019-obr-12.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-13.jpg [/images/cestovani-tanzanie-2019-obr-13.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-14.jpg [/images/cestovani-tanzanie-2019-obr-14.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-15.jpg [/images/cestovani-tanzanie-2019-obr-15.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-16.jpg [/images/cestovani-tanzanie-2019-obr-16.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-17.jpg [/images/cestovani-tanzanie-2019-obr-17.jpg]

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-18.jpg

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-19.jpg [/images/cestovani-tanzanie-2019-obr-19.jpg]
The locals strike me as very welcoming and friendly, even outside of tourist areas. Whenever I visited a local village, people greeted me with “Jambo!” (which translates to “Hello!”). Many of them even struck up a conversation with me.
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-20.jpg [/images/cestovani-tanzanie-2019-obr-20.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-21.jpg [/images/cestovani-tanzanie-2019-obr-21.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-22.jpg [/images/cestovani-tanzanie-2019-obr-22.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-23.jpg [/images/cestovani-tanzanie-2019-obr-23.jpg]

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-24.jpg

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-25.jpg [/images/cestovani-tanzanie-2019-obr-25.jpg]
[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-26.jpg [/images/cestovani-tanzanie-2019-obr-26.jpg]
“These people from those warm regions seem to smile more than we do”
(a snippet of a conversation among several passengers that I overheard on the plane on my return to the Czech Republic)

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-27.jpg

Thanks to globalization, tourism is also emerging in Zanzibar, bringing many advantages but also disadvantages. The main advantages are economic growth and rising educational levels. Another advantage is increased global awareness of this country, but unfortunately, this benefit is often negated by the massive walls of hotel complexes that many tourists never step beyond. I consider the destruction of local culture to be a disadvantage. An example of this issue is the migration of many Maasai from mainland Tanzania (primarily from the area around Kilimanjaro) to areas with a high concentration of tourists (the beaches of Zanzibar). These Maasai sell trinkets there and are merely a tourist attraction. The Maasai believe that if someone takes their picture, they are stealing their soul. In tourist areas, however, they’ll happily let you take their picture for a few cents.

[MEDIA: image]
FILE: /images/cestovani-tanzanie-2019-obr-28.jpg


============================================================
TITLE: Portrét osobnosti
SLUG: portret-osobnosti
URL: https://vojtamaur.cz/portret-osobnosti/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2018-12-02
SOURCE: src/content/posts/portret-osobnosti.mdx
BUILT_HTML: dist/portret-osobnosti/index.html
============================================================

Portrét osobnosti
prosinec 2018
Projekt vznikl jako školní práce pro předmět Fotografie na Střední odborné škole obchodu, užitého umění a designu v Plzni (Nerudova 33).
Cílem bylo experimentálně propojit portrétní fotografii, psychologické typy osobnosti, obrazovou projekci, animaci a zvuk. Výsledná podoba fotografií a videí vycházela z Eysenckova osobnostního testu a z rozdělení temperamentů podle Galénovy čtveřice.

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-1.jpg
ALT: Úvod, Eysneckův test

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-2.jpg
ALT: Přiřazení obrazce k typům osobnosti

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-3.jpg
ALT: Barevnost projekce

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-4.jpg
ALT: Fotografie

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-5.jpg
ALT: Fotografie

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-6.jpg
ALT: Animace obrazců

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-7.jpg
ALT: Video

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-8.jpg
ALT: Zvuk


============================================================
TITLE: Portrét osobnosti
SLUG: portret-osobnosti
URL: https://vojtamaur.cz/en/portret-osobnosti/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2018-12-02
SOURCE: src/content/posts/portret-osobnosti.mdx
BUILT_HTML: dist/en/portret-osobnosti/index.html
============================================================

Personality Profile
December 2018
This project was created as a school assignment for the Photography course at the Secondary Vocational School of Commerce, Applied Arts, and Design in Pilsen (Nerudova 33).
The goal was to experimentally combine portrait photography, psychological personality types, visual projection, animation, and sound. The final form of the photographs and videos was based on Eysenck’s personality test and the classification of temperaments according to Galen’s four temperaments.

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-1.jpg
ALT: Úvod, Eysneckův test

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-2.jpg
ALT: Přiřazení obrazce k typům osobnosti

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-3.jpg
ALT: Barevnost projekce

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-4.jpg
ALT: Fotografie

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-5.jpg
ALT: Fotografie

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-6.jpg
ALT: Animace obrazců

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-7.jpg
ALT: Video

[MEDIA: image]
FILE: /images/portret-osobnosti-obr-8.jpg
ALT: Zvuk


============================================================
TITLE: Šachovnicový rastr
SLUG: sachovnicovy-rastr
URL: https://vojtamaur.cz/sachovnicovy-rastr/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2018-12-01
SOURCE: src/content/posts/sachovnicovy-rastr.mdx
BUILT_HTML: dist/sachovnicovy-rastr/index.html
============================================================

Šachovnicový rastr
prosinec 2018

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/lD_PCIbCvlk
NOTE: Embedded or binary content is not represented in this plain-text export.

Na ukázkovou fotografii jsem aplikoval šachovnicový rastr, pro který platí, že jedno šachovnicové pole má velikost jednoho pixelu fotografie. Bílé plochy šachovnicového pole jsou po aplikaci tohoto rastru původní pixely fotografie a černé plochy jsou barevně i světlostně inverzní. Fotografie v plné velikosti tak vypadá jako šedá jednobarevná plocha, ale až po digitálním přiblížení se zobrazí originální fotografie.
Pro správné zobrazení na Full HD monitoru musí mít fotografie přibližně 2000 px na výšku. K nesprávnému zobrazení může dojít při otevření fotografie v prohlížeči, který bikubicky převzorkuje mřížku pixelů. Ověřeným prohlížečem je např. Windows Photo Viewer.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/wehAxodpQGg
NOTE: Embedded or binary content is not represented in this plain-text export.

Jako další ukázku využití tohoto principu jsou vytvořil fotografii, která obsahuje kontrast barevný i významový.


============================================================
TITLE: Šachovnicový rastr
SLUG: sachovnicovy-rastr
URL: https://vojtamaur.cz/en/sachovnicovy-rastr/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2018-12-01
SOURCE: src/content/posts/sachovnicovy-rastr.mdx
BUILT_HTML: dist/en/sachovnicovy-rastr/index.html
============================================================

Checkerboard Grid
December 2018

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/lD_PCIbCvlk
NOTE: Embedded or binary content is not represented in this plain-text export.

I applied a checkerboard grid to the sample photo, where each checkerboard square corresponds to one pixel of the photo. After applying this grid, the white areas of the checkerboard squares are the original photo pixels, and the black areas are inverted in both color and brightness. The full-size photo thus appears as a gray monochrome area, but the original photo is displayed only after digital zooming.
For correct display on a Full HD monitor, the photo must be approximately 2000 px in height. Incorrect display may occur when opening the photo in a browser that bicubically resamples the pixel grid. A verified browser is, for example, Windows Photo Viewer.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/wehAxodpQGg
NOTE: Embedded or binary content is not represented in this plain-text export.

As another example of this principle in action, I created a photograph that features both color and semantic contrast.


============================================================
TITLE: Norsko - Lofoty 2018
SLUG: cestovani-norsko-lofoty-2018
URL: https://vojtamaur.cz/cestovani-norsko-lofoty-2018/
LANGUAGE: cs
SECTION: cestovani
DATE: 2018-09-01
SOURCE: src/content/posts/cestovani-norsko-lofoty-2018.mdx
BUILT_HTML: dist/cestovani-norsko-lofoty-2018/index.html
============================================================

Norsko - Lofoty 2018
Fotografie

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-1.jpg

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-2.jpg [/images/cestovani-norsko-lofoty-2018-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-3.jpg [/images/cestovani-norsko-lofoty-2018-obr-3.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-4.jpg [/images/cestovani-norsko-lofoty-2018-obr-4.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-5.jpg [/images/cestovani-norsko-lofoty-2018-obr-5.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-6.jpg [/images/cestovani-norsko-lofoty-2018-obr-6.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-7.jpg [/images/cestovani-norsko-lofoty-2018-obr-7.jpg]

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-8.jpg

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-9.jpg [/images/cestovani-norsko-lofoty-2018-obr-9.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-10.jpg [/images/cestovani-norsko-lofoty-2018-obr-10.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-11.jpg [/images/cestovani-norsko-lofoty-2018-obr-11.jpg]

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-12.jpg

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-13.jpg

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-14.jpg [/images/cestovani-norsko-lofoty-2018-obr-14.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-15.jpg [/images/cestovani-norsko-lofoty-2018-obr-15.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-16.jpg [/images/cestovani-norsko-lofoty-2018-obr-16.jpg]

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-17.jpg


============================================================
TITLE: Norsko - Lofoty 2018
SLUG: cestovani-norsko-lofoty-2018
URL: https://vojtamaur.cz/en/cestovani-norsko-lofoty-2018/
LANGUAGE: en
SECTION: cestovani
DATE: 2018-09-01
SOURCE: src/content/posts/cestovani-norsko-lofoty-2018.mdx
BUILT_HTML: dist/en/cestovani-norsko-lofoty-2018/index.html
============================================================

Norway - Lofoten 2018
Photos

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-1.jpg

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-2.jpg [/images/cestovani-norsko-lofoty-2018-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-3.jpg [/images/cestovani-norsko-lofoty-2018-obr-3.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-4.jpg [/images/cestovani-norsko-lofoty-2018-obr-4.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-5.jpg [/images/cestovani-norsko-lofoty-2018-obr-5.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-6.jpg [/images/cestovani-norsko-lofoty-2018-obr-6.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-7.jpg [/images/cestovani-norsko-lofoty-2018-obr-7.jpg]

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-8.jpg

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-9.jpg [/images/cestovani-norsko-lofoty-2018-obr-9.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-10.jpg [/images/cestovani-norsko-lofoty-2018-obr-10.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-11.jpg [/images/cestovani-norsko-lofoty-2018-obr-11.jpg]

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-12.jpg

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-13.jpg

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-14.jpg [/images/cestovani-norsko-lofoty-2018-obr-14.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-15.jpg [/images/cestovani-norsko-lofoty-2018-obr-15.jpg]
[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-16.jpg [/images/cestovani-norsko-lofoty-2018-obr-16.jpg]

[MEDIA: image]
FILE: /images/cestovani-norsko-lofoty-2018-obr-17.jpg


============================================================
TITLE: Pokřivení informace
SLUG: pokriveni-informace
URL: https://vojtamaur.cz/pokriveni-informace/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2018-08-01
SOURCE: src/content/posts/pokriveni-informace.mdx
BUILT_HTML: dist/pokriveni-informace/index.html
============================================================

Pokřivení informace
srpen 2018
Přes kolik zprostředkovatelů se k nám dostane článek, který vidíme na internetu? Je jeho pravdivost věrohodná? Jak moc jiný je svět, který vidíme skrze naše obrazovky mobilů, počítačů a televizí?
Každou informaci, kterou vidíme je důležité si ověřovat z více zdrojů a nepočítat s její pravdivostí.
Toto dílo vzniklo pořízením jedné fotografie a následným opakovaným fotografováním té samé fotografie z monitoru počítače.
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-1.jpg [/images/pokriveni-informace-obr-1.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-2.jpg [/images/pokriveni-informace-obr-2.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-3.jpg [/images/pokriveni-informace-obr-3.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-4.jpg [/images/pokriveni-informace-obr-4.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-5.jpg [/images/pokriveni-informace-obr-5.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-6.jpg [/images/pokriveni-informace-obr-6.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-7.jpg [/images/pokriveni-informace-obr-7.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-8.jpg [/images/pokriveni-informace-obr-8.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-9.jpg [/images/pokriveni-informace-obr-9.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-10.jpg [/images/pokriveni-informace-obr-10.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-11.jpg [/images/pokriveni-informace-obr-11.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-12.jpg [/images/pokriveni-informace-obr-12.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-13.jpg [/images/pokriveni-informace-obr-13.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-14.jpg [/images/pokriveni-informace-obr-14.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-15.jpg [/images/pokriveni-informace-obr-15.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-16.jpg [/images/pokriveni-informace-obr-16.jpg]

[MEDIA: image]
FILE: /images/pokriveni-informace-obr-17.gif
ALT: animace složená z obrázků výše


============================================================
TITLE: Pokřivení informace
SLUG: pokriveni-informace
URL: https://vojtamaur.cz/en/pokriveni-informace/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2018-08-01
SOURCE: src/content/posts/pokriveni-informace.mdx
BUILT_HTML: dist/en/pokriveni-informace/index.html
============================================================

Distortion of Information
August 2018
How many intermediaries does an article we see on the internet pass through before it reaches us? Can we trust its accuracy? How different is the world we see through our cell phone, computer, and TV screens?
It’s important to verify every piece of information we see from multiple sources and not take its accuracy for granted.
This work was created by taking a single photograph and then repeatedly photographing that same image from a computer monitor.
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-1.jpg [/images/pokriveni-informace-obr-1.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-2.jpg [/images/pokriveni-informace-obr-2.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-3.jpg [/images/pokriveni-informace-obr-3.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-4.jpg [/images/pokriveni-informace-obr-4.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-5.jpg [/images/pokriveni-informace-obr-5.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-6.jpg [/images/pokriveni-informace-obr-6.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-7.jpg [/images/pokriveni-informace-obr-7.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-8.jpg [/images/pokriveni-informace-obr-8.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-9.jpg [/images/pokriveni-informace-obr-9.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-10.jpg [/images/pokriveni-informace-obr-10.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-11.jpg [/images/pokriveni-informace-obr-11.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-12.jpg [/images/pokriveni-informace-obr-12.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-13.jpg [/images/pokriveni-informace-obr-13.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-14.jpg [/images/pokriveni-informace-obr-14.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-15.jpg [/images/pokriveni-informace-obr-15.jpg]
[MEDIA: image]
FILE: /images/pokriveni-informace-obr-16.jpg [/images/pokriveni-informace-obr-16.jpg]

[MEDIA: image]
FILE: /images/pokriveni-informace-obr-17.gif
ALT: animace složená z obrázků výše


============================================================
TITLE: Mexiko 2018
SLUG: cestovani-mexiko-2018
URL: https://vojtamaur.cz/cestovani-mexiko-2018/
LANGUAGE: cs
SECTION: cestovani
DATE: 2018-06-01
SOURCE: src/content/posts/cestovani-mexiko-2018.mdx
BUILT_HTML: dist/cestovani-mexiko-2018/index.html
============================================================

Mexiko 2018
Video, fotografie

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-1.jpg

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/P8HuF8GOC9E?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-2.jpg [/images/cestovani-mexiko-2018-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-3.jpg [/images/cestovani-mexiko-2018-obr-3.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-4.jpg [/images/cestovani-mexiko-2018-obr-4.jpg]

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-5.jpg

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-6.jpg [/images/cestovani-mexiko-2018-obr-6.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-7.jpg [/images/cestovani-mexiko-2018-obr-7.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-8.jpg [/images/cestovani-mexiko-2018-obr-8.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-9.jpg [/images/cestovani-mexiko-2018-obr-9.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-10.jpg [/images/cestovani-mexiko-2018-obr-10.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-11.jpg [/images/cestovani-mexiko-2018-obr-11.jpg]

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-12.jpg

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-13.jpg [/images/cestovani-mexiko-2018-obr-13.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-14.jpg [/images/cestovani-mexiko-2018-obr-14.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-15.jpg [/images/cestovani-mexiko-2018-obr-15.jpg]

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-16.jpg

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-17.jpg [/images/cestovani-mexiko-2018-obr-17.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-18.jpg [/images/cestovani-mexiko-2018-obr-18.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-19.jpg [/images/cestovani-mexiko-2018-obr-19.jpg]

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-20.jpg

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-21.jpg [/images/cestovani-mexiko-2018-obr-21.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-22.jpg [/images/cestovani-mexiko-2018-obr-22.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-23.jpg [/images/cestovani-mexiko-2018-obr-23.jpg]

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-24.jpg


============================================================
TITLE: Mexiko 2018
SLUG: cestovani-mexiko-2018
URL: https://vojtamaur.cz/en/cestovani-mexiko-2018/
LANGUAGE: en
SECTION: cestovani
DATE: 2018-06-01
SOURCE: src/content/posts/cestovani-mexiko-2018.mdx
BUILT_HTML: dist/en/cestovani-mexiko-2018/index.html
============================================================

Mexico 2018
Video, photos

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-1.jpg

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/P8HuF8GOC9E?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-2.jpg [/images/cestovani-mexiko-2018-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-3.jpg [/images/cestovani-mexiko-2018-obr-3.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-4.jpg [/images/cestovani-mexiko-2018-obr-4.jpg]

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-5.jpg

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-6.jpg [/images/cestovani-mexiko-2018-obr-6.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-7.jpg [/images/cestovani-mexiko-2018-obr-7.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-8.jpg [/images/cestovani-mexiko-2018-obr-8.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-9.jpg [/images/cestovani-mexiko-2018-obr-9.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-10.jpg [/images/cestovani-mexiko-2018-obr-10.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-11.jpg [/images/cestovani-mexiko-2018-obr-11.jpg]

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-12.jpg

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-13.jpg [/images/cestovani-mexiko-2018-obr-13.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-14.jpg [/images/cestovani-mexiko-2018-obr-14.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-15.jpg [/images/cestovani-mexiko-2018-obr-15.jpg]

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-16.jpg

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-17.jpg [/images/cestovani-mexiko-2018-obr-17.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-18.jpg [/images/cestovani-mexiko-2018-obr-18.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-19.jpg [/images/cestovani-mexiko-2018-obr-19.jpg]

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-20.jpg

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-21.jpg [/images/cestovani-mexiko-2018-obr-21.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-22.jpg [/images/cestovani-mexiko-2018-obr-22.jpg]
[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-23.jpg [/images/cestovani-mexiko-2018-obr-23.jpg]

[MEDIA: image]
FILE: /images/cestovani-mexiko-2018-obr-24.jpg


============================================================
TITLE: Kostky cukru
SLUG: vystavy-kostky-cukru
URL: https://vojtamaur.cz/vystavy-kostky-cukru/
LANGUAGE: cs
SECTION: vystavy
DATE: 2018-04-30
SOURCE: src/content/posts/vystavy-kostky-cukru.mdx
BUILT_HTML: dist/vystavy-kostky-cukru/index.html
============================================================

Kostky cukru
21. 3. 2018 - 30. 4. 2018, Plzeň
DEPO2015: ART3

[MEDIA: image]
FILE: /images/vystavy-kostky-cukru-obr-2.jpg

[MEDIA: image]
FILE: /images/vystavy-kostky-cukru-obr-3.jpg

[MEDIA: image]
FILE: /images/vystavy-kostky-cukru-obr-1.jpg

Informace o výstavě na stránkách DEPO2015 (archiv):
https://web.archive.org/web/20210925193536/https://www.depo2015.cz/program-depo-ag14/art-a2209


============================================================
TITLE: Kostky cukru
SLUG: vystavy-kostky-cukru
URL: https://vojtamaur.cz/en/vystavy-kostky-cukru/
LANGUAGE: en
SECTION: vystavy
DATE: 2018-04-30
SOURCE: src/content/posts/vystavy-kostky-cukru.mdx
BUILT_HTML: dist/en/vystavy-kostky-cukru/index.html
============================================================

Sugar Cubes
March 21, 2018 – April 30, 2018, Pilsen
DEPO2015: ART3

[MEDIA: image]
FILE: /images/vystavy-kostky-cukru-obr-2.jpg

[MEDIA: image]
FILE: /images/vystavy-kostky-cukru-obr-3.jpg

[MEDIA: image]
FILE: /images/vystavy-kostky-cukru-obr-1.jpg

Exhibition information on the DEPO2015 website (archive):
https://web.archive.org/web/20210925193536/https://www.depo2015.cz/program-depo-ag14/art-a2209


============================================================
TITLE: Dva rytmy
SLUG: dva-rytmy
URL: https://vojtamaur.cz/dva-rytmy/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2018-04-01
SOURCE: src/content/posts/dva-rytmy.mdx
BUILT_HTML: dist/dva-rytmy/index.html
============================================================

Dva rytmy
duben 2018
První video se skládá ze dvou rytmů: vizuální blikání a akustické cvakání. Tyto dva rytmy mají nepatrně odlišnou dobu trvání. Touto drobnou odchylkou dosáhne video v určité části silného zneklidnění.
V druhém videu jsem k tomuto základnímu konceptu přidal obrazový materiál zaměřený na protiválečnou tématiku.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/X9ms8pp89Pg?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/dva-rytmy-obr-1.jpg
ALT: základní koncept
CAPTION: Dva rytmy 1 - černá x bílá, základní koncept

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/MQIDzwTYjoA?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/dva-rytmy-obr-2.jpg
ALT: uplatnění základního konceptu
CAPTION: Dva rytmy 2 - uplatnění základního konceptu na obrazovém materiálu


============================================================
TITLE: Dva rytmy
SLUG: dva-rytmy
URL: https://vojtamaur.cz/en/dva-rytmy/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2018-04-01
SOURCE: src/content/posts/dva-rytmy.mdx
BUILT_HTML: dist/en/dva-rytmy/index.html
============================================================

Two Rhythms
April 2018
The first video consists of two rhythms: visual flickering and acoustic clicking. These two rhythms have slightly different durations. Through this slight deviation, the video achieves a strong sense of unease in certain sections.
In the second video, I added visual material focused on anti-war themes to this basic concept.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/X9ms8pp89Pg?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/dva-rytmy-obr-1.jpg
ALT: základní koncept
CAPTION: Two Rhythms 1 - Black x White, Basic Concept

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/MQIDzwTYjoA?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/dva-rytmy-obr-2.jpg
ALT: uplatnění základního konceptu
CAPTION: Two Rhythms 2 – Application of the Basic Concept to Visual Material


============================================================
TITLE: Náhodná čísla zvolená člověkem
SLUG: nahodna-cisla-zvolena-clovekem
URL: https://vojtamaur.cz/nahodna-cisla-zvolena-clovekem/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2018-04-01
SOURCE: src/content/posts/nahodna-cisla-zvolena-clovekem.mdx
BUILT_HTML: dist/nahodna-cisla-zvolena-clovekem/index.html
============================================================

Náhodná čísla zvolená člověkem
duben 2018
V tomto díle byl rozdán několika osobám dotazník. Do tohoto dotazníku napsali testované osoby sto náhodných čísel v rozsahu 1-100, které je napadla. Poté jsem tyto data převedl do počítače a vytvořil z každého dotazníku jeden graf. Horizontální osa x určuje pořadí jednotlivých čísel a vertikální osa y určuje hodnotu zvolených čísel. Graf modré barvy je vytvořen počítačem, tedy generátorem náhodných čísel. Při celkovém srovnání všech grafů si lze všimnout, že každá testovaná osoba má unikátní graf s vlastním způsobem zadávání čísel. Také lze zpozorovat, že v mnoha grafech se opakují určité téměř identické cykly (většinou ve formě postupného zvyšování a snižování čísel).
ČÍSLA ZVOLENÁ GENERÁTOREM NÁHODNÝCH ČÍSEL
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-1.jpg
ALT: Graf náhodných čísel zvolených počítačem [/images/nahodna-cisla-zvolena-clovekem-obr-1.jpg]
ČÍSLA ZVOLENÁ LIDMI
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-2.jpg
ALT: Graf náhodných čísel zvolených člověkem, Hana Antolová (71 let) [/images/nahodna-cisla-zvolena-clovekem-obr-2.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-3.jpg
ALT: Graf náhodných čísel zvolených člověkem, Lukáš Plescher (18 let) [/images/nahodna-cisla-zvolena-clovekem-obr-3.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-4.jpg
ALT: Graf náhodných čísel zvolených člověkem, Natálie Bártková (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-4.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-5.jpg
ALT: Graf náhodných čísel zvolených člověkem, Michaela Jedličková (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-5.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-6.jpg
ALT: Graf náhodných čísel zvolených člověkem, Alena Maurová (53 let) [/images/nahodna-cisla-zvolena-clovekem-obr-6.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-7.jpg
ALT: Graf náhodných čísel zvolených člověkem, Daniel Šírek (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-7.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-8.jpg
ALT: Graf náhodných čísel zvolených člověkem, Pavel Burda (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-8.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-9.jpg
ALT: Graf náhodných čísel zvolených člověkem, Jáchym Štěpka (15 let) [/images/nahodna-cisla-zvolena-clovekem-obr-9.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-10.jpg
ALT: Graf náhodných čísel zvolených člověkem, Filip Drábek (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-10.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-11.jpg
ALT: Graf náhodných čísel zvolených člověkem, Jiří Rampouch (15 let) [/images/nahodna-cisla-zvolena-clovekem-obr-11.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-12.jpg
ALT: Graf náhodných čísel zvolených člověkem, Petr Kubíček (43 let) [/images/nahodna-cisla-zvolena-clovekem-obr-12.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-13.jpg
ALT: Graf náhodných čísel zvolených člověkem, Jan Kubíček (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-13.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-14.jpg
ALT: Graf náhodných čísel zvolených člověkem, Ivana Martínková (15 let) [/images/nahodna-cisla-zvolena-clovekem-obr-14.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-15.jpg
ALT: Graf náhodných čísel zvolených člověkem, Tereza Bartovská (15 let) [/images/nahodna-cisla-zvolena-clovekem-obr-15.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-16.jpg
ALT: Graf náhodných čísel zvolených člověkem, Michaela Balázsová (17 let) [/images/nahodna-cisla-zvolena-clovekem-obr-16.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-17.jpg
ALT: Graf náhodných čísel zvolených člověkem, Kateřina Příplatová (15 let) [/images/nahodna-cisla-zvolena-clovekem-obr-17.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-18.jpg
ALT: Graf náhodných čísel zvolených člověkem, Denisa Holubová (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-18.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-19.jpg
ALT: Graf náhodných čísel zvolených člověkem, Klára Holubová (10 let) [/images/nahodna-cisla-zvolena-clovekem-obr-19.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-20.jpg
ALT: Graf náhodných čísel zvolených člověkem, Andrea Nečekalová (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-20.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-21.jpg
ALT: Graf náhodných čísel zvolených člověkem, Kateřina Benešová (84 let) [/images/nahodna-cisla-zvolena-clovekem-obr-21.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-22.jpg
ALT: Graf náhodných čísel zvolených člověkem, Klára Zachardová (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-22.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-23.jpg
ALT: Graf náhodných čísel zvolených člověkem, Tereza Lukášová (15 let) [/images/nahodna-cisla-zvolena-clovekem-obr-23.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-24.jpg
ALT: Graf náhodných čísel zvolených člověkem, Eva Kloubová (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-24.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-25.jpg
ALT: Graf náhodných čísel zvolených člověkem, Nicole Pichlerová (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-25.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-26.jpg
ALT: Graf náhodných čísel zvolených člověkem, Michaela Šprynarová (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-26.jpg]
VYPLNĚNÝ UKÁZKOVÝ DOTAZNÍK
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-27.jpg
ALT: Sken vyplněného dotazníku [/images/nahodna-cisla-zvolena-clovekem-obr-27.jpg]


============================================================
TITLE: Náhodná čísla zvolená člověkem
SLUG: nahodna-cisla-zvolena-clovekem
URL: https://vojtamaur.cz/en/nahodna-cisla-zvolena-clovekem/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2018-04-01
SOURCE: src/content/posts/nahodna-cisla-zvolena-clovekem.mdx
BUILT_HTML: dist/en/nahodna-cisla-zvolena-clovekem/index.html
============================================================

Human-Selected Random Numbers
April 2018
In this project, a questionnaire was distributed to several people. The participants wrote down 100 random numbers between 1 and 100 that came to mind. I then entered this data into a computer and created one graph for each questionnaire. The horizontal x-axis represents the order of the individual numbers, and the vertical y-axis represents the values of the selected numbers. The blue graph was generated by a computer, specifically a random number generator. When comparing all the graphs as a whole, it is evident that each test subject has a unique graph with their own pattern of number selection. It can also be observed that certain nearly identical cycles recur in many graphs (mostly in the form of a gradual increase and decrease in numbers).
NUMBERS SELECTED BY THE RANDOM NUMBER GENERATOR
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-1.jpg
ALT: Graf náhodných čísel zvolených počítačem [/images/nahodna-cisla-zvolena-clovekem-obr-1.jpg]
NUMBERS CHOSEN BY PEOPLE
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-2.jpg
ALT: Graf náhodných čísel zvolených člověkem, Hana Antolová (71 let) [/images/nahodna-cisla-zvolena-clovekem-obr-2.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-3.jpg
ALT: Graf náhodných čísel zvolených člověkem, Lukáš Plescher (18 let) [/images/nahodna-cisla-zvolena-clovekem-obr-3.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-4.jpg
ALT: Graf náhodných čísel zvolených člověkem, Natálie Bártková (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-4.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-5.jpg
ALT: Graf náhodných čísel zvolených člověkem, Michaela Jedličková (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-5.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-6.jpg
ALT: Graf náhodných čísel zvolených člověkem, Alena Maurová (53 let) [/images/nahodna-cisla-zvolena-clovekem-obr-6.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-7.jpg
ALT: Graf náhodných čísel zvolených člověkem, Daniel Šírek (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-7.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-8.jpg
ALT: Graf náhodných čísel zvolených člověkem, Pavel Burda (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-8.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-9.jpg
ALT: Graf náhodných čísel zvolených člověkem, Jáchym Štěpka (15 let) [/images/nahodna-cisla-zvolena-clovekem-obr-9.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-10.jpg
ALT: Graf náhodných čísel zvolených člověkem, Filip Drábek (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-10.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-11.jpg
ALT: Graf náhodných čísel zvolených člověkem, Jiří Rampouch (15 let) [/images/nahodna-cisla-zvolena-clovekem-obr-11.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-12.jpg
ALT: Graf náhodných čísel zvolených člověkem, Petr Kubíček (43 let) [/images/nahodna-cisla-zvolena-clovekem-obr-12.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-13.jpg
ALT: Graf náhodných čísel zvolených člověkem, Jan Kubíček (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-13.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-14.jpg
ALT: Graf náhodných čísel zvolených člověkem, Ivana Martínková (15 let) [/images/nahodna-cisla-zvolena-clovekem-obr-14.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-15.jpg
ALT: Graf náhodných čísel zvolených člověkem, Tereza Bartovská (15 let) [/images/nahodna-cisla-zvolena-clovekem-obr-15.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-16.jpg
ALT: Graf náhodných čísel zvolených člověkem, Michaela Balázsová (17 let) [/images/nahodna-cisla-zvolena-clovekem-obr-16.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-17.jpg
ALT: Graf náhodných čísel zvolených člověkem, Kateřina Příplatová (15 let) [/images/nahodna-cisla-zvolena-clovekem-obr-17.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-18.jpg
ALT: Graf náhodných čísel zvolených člověkem, Denisa Holubová (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-18.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-19.jpg
ALT: Graf náhodných čísel zvolených člověkem, Klára Holubová (10 let) [/images/nahodna-cisla-zvolena-clovekem-obr-19.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-20.jpg
ALT: Graf náhodných čísel zvolených člověkem, Andrea Nečekalová (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-20.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-21.jpg
ALT: Graf náhodných čísel zvolených člověkem, Kateřina Benešová (84 let) [/images/nahodna-cisla-zvolena-clovekem-obr-21.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-22.jpg
ALT: Graf náhodných čísel zvolených člověkem, Klára Zachardová (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-22.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-23.jpg
ALT: Graf náhodných čísel zvolených člověkem, Tereza Lukášová (15 let) [/images/nahodna-cisla-zvolena-clovekem-obr-23.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-24.jpg
ALT: Graf náhodných čísel zvolených člověkem, Eva Kloubová (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-24.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-25.jpg
ALT: Graf náhodných čísel zvolených člověkem, Nicole Pichlerová (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-25.jpg]
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-26.jpg
ALT: Graf náhodných čísel zvolených člověkem, Michaela Šprynarová (16 let) [/images/nahodna-cisla-zvolena-clovekem-obr-26.jpg]
COMPLETED SAMPLE QUESTIONNAIRE
[MEDIA: image]
FILE: /images/nahodna-cisla-zvolena-clovekem-obr-27.jpg
ALT: Sken vyplněného dotazníku [/images/nahodna-cisla-zvolena-clovekem-obr-27.jpg]


============================================================
TITLE: Nepravidelný dech
SLUG: nepravidelny-dech
URL: https://vojtamaur.cz/nepravidelny-dech/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2018-03-01
SOURCE: src/content/posts/nepravidelny-dech.mdx
BUILT_HTML: dist/nepravidelny-dech/index.html
============================================================

Nepravidelný dech
březen 2018

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/khCWjid0QeU?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

V této čtyřminutové zvukové stopě se nachází záznam umírajícího kocoura. V nahrávce jsou slyšet dva hlavní zvuky: nepravidelný dech a méně nápadný zvuk tlukotu srdce.


============================================================
TITLE: Nepravidelný dech
SLUG: nepravidelny-dech
URL: https://vojtamaur.cz/en/nepravidelny-dech/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2018-03-01
SOURCE: src/content/posts/nepravidelny-dech.mdx
BUILT_HTML: dist/en/nepravidelny-dech/index.html
============================================================

Irregular Breathing
March 2018

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/khCWjid0QeU?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

This four-minute audio track features a recording of a dying cat. Two main sounds can be heard in the recording: irregular breathing and the less noticeable sound of a heartbeat.


============================================================
TITLE: Z pohledu mušle
SLUG: z-pohledu-musle
URL: https://vojtamaur.cz/z-pohledu-musle/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2018-03-01
SOURCE: src/content/posts/z-pohledu-musle.mdx
BUILT_HTML: dist/z-pohledu-musle/index.html
============================================================

Z pohledu mušle
březen 2018
Tyto videa se zaměřují na vnímání mušle co cítí a prožívá? Její pohled na svět není méně důležitý, než pohled lidský!
V prvním videu lze spatřit původní nahrávka moře.
V druhém videu se na levé straně obrazovky promítá průměrná barva jednotlivých snímků původní nahrávky.
V pravé části obrazovky se nachází RGB graf definující tuto barvu.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/mxfAcE8KYaQ?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/lZknZa20ilY?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Z pohledu mušle
SLUG: z-pohledu-musle
URL: https://vojtamaur.cz/en/z-pohledu-musle/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2018-03-01
SOURCE: src/content/posts/z-pohledu-musle.mdx
BUILT_HTML: dist/en/z-pohledu-musle/index.html
============================================================

From the Perspective of a Shell
March 2018
These videos focus on the perception of a shell—what does it feel and experience? Its view of the world is no less important than the human perspective!
In the first video, you can see the original recording of the sea.
In the second video, the average color of the individual frames of the original recording is displayed on the left side of the screen.
On the right side of the screen is an RGB graph defining this color.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/mxfAcE8KYaQ?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/lZknZa20ilY?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Omán 2018
SLUG: cestovani-oman-2018
URL: https://vojtamaur.cz/cestovani-oman-2018/
LANGUAGE: cs
SECTION: cestovani
DATE: 2018-01-01
SOURCE: src/content/posts/cestovani-oman-2018.mdx
BUILT_HTML: dist/cestovani-oman-2018/index.html
============================================================

Omán 2018
Video, fotografie

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/wfHLdFqXR9w?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-1.jpg [/images/cestovani-oman-2018-obr-1.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-2.jpg [/images/cestovani-oman-2018-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-3.jpg [/images/cestovani-oman-2018-obr-3.jpg]

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-4.jpg

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-5.jpg [/images/cestovani-oman-2018-obr-5.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-6.jpg [/images/cestovani-oman-2018-obr-6.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-8.jpg [/images/cestovani-oman-2018-obr-8.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-9.jpg [/images/cestovani-oman-2018-obr-9.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-10.jpg [/images/cestovani-oman-2018-obr-10.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-11.jpg [/images/cestovani-oman-2018-obr-11.jpg]

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-12.jpg

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-13.jpg [/images/cestovani-oman-2018-obr-13.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-14.jpg [/images/cestovani-oman-2018-obr-14.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-15.jpg [/images/cestovani-oman-2018-obr-15.jpg]

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-16.jpg

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-17.jpg [/images/cestovani-oman-2018-obr-17.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-18.jpg [/images/cestovani-oman-2018-obr-18.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-19.jpg [/images/cestovani-oman-2018-obr-19.jpg]

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-20.jpg

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-21.jpg [/images/cestovani-oman-2018-obr-21.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-22.jpg [/images/cestovani-oman-2018-obr-22.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-23.jpg [/images/cestovani-oman-2018-obr-23.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-24.jpg [/images/cestovani-oman-2018-obr-24.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-25.jpg [/images/cestovani-oman-2018-obr-25.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-26.jpg [/images/cestovani-oman-2018-obr-26.jpg]

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-27.jpg

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-28.jpg [/images/cestovani-oman-2018-obr-28.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-29.jpg [/images/cestovani-oman-2018-obr-29.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-30.jpg [/images/cestovani-oman-2018-obr-30.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-31.jpg [/images/cestovani-oman-2018-obr-31.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-32.jpg [/images/cestovani-oman-2018-obr-32.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-33.jpg [/images/cestovani-oman-2018-obr-33.jpg]

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-34.jpg


============================================================
TITLE: Omán 2018
SLUG: cestovani-oman-2018
URL: https://vojtamaur.cz/en/cestovani-oman-2018/
LANGUAGE: en
SECTION: cestovani
DATE: 2018-01-01
SOURCE: src/content/posts/cestovani-oman-2018.mdx
BUILT_HTML: dist/en/cestovani-oman-2018/index.html
============================================================

Oman 2018
Video, photos

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/wfHLdFqXR9w?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-1.jpg [/images/cestovani-oman-2018-obr-1.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-2.jpg [/images/cestovani-oman-2018-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-3.jpg [/images/cestovani-oman-2018-obr-3.jpg]

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-4.jpg

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-5.jpg [/images/cestovani-oman-2018-obr-5.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-6.jpg [/images/cestovani-oman-2018-obr-6.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-8.jpg [/images/cestovani-oman-2018-obr-8.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-9.jpg [/images/cestovani-oman-2018-obr-9.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-10.jpg [/images/cestovani-oman-2018-obr-10.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-11.jpg [/images/cestovani-oman-2018-obr-11.jpg]

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-12.jpg

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-13.jpg [/images/cestovani-oman-2018-obr-13.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-14.jpg [/images/cestovani-oman-2018-obr-14.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-15.jpg [/images/cestovani-oman-2018-obr-15.jpg]

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-16.jpg

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-17.jpg [/images/cestovani-oman-2018-obr-17.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-18.jpg [/images/cestovani-oman-2018-obr-18.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-19.jpg [/images/cestovani-oman-2018-obr-19.jpg]

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-20.jpg

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-21.jpg [/images/cestovani-oman-2018-obr-21.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-22.jpg [/images/cestovani-oman-2018-obr-22.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-23.jpg [/images/cestovani-oman-2018-obr-23.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-24.jpg [/images/cestovani-oman-2018-obr-24.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-25.jpg [/images/cestovani-oman-2018-obr-25.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-26.jpg [/images/cestovani-oman-2018-obr-26.jpg]

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-27.jpg

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-28.jpg [/images/cestovani-oman-2018-obr-28.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-29.jpg [/images/cestovani-oman-2018-obr-29.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-30.jpg [/images/cestovani-oman-2018-obr-30.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-31.jpg [/images/cestovani-oman-2018-obr-31.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-32.jpg [/images/cestovani-oman-2018-obr-32.jpg]
[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-33.jpg [/images/cestovani-oman-2018-obr-33.jpg]

[MEDIA: image]
FILE: /images/cestovani-oman-2018-obr-34.jpg


============================================================
TITLE: Plíseň
SLUG: plisen
URL: https://vojtamaur.cz/plisen/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2017-11-01
SOURCE: src/content/posts/plisen.mdx
BUILT_HTML: dist/plisen/index.html
============================================================

Plíseň
listopad 2017
Tento cyklus fotografií dokumentuje plíseň v mé učebnici německého jazyka. Fotografie jsou seřazeny v pořadí tak, jak jdou strany učebnice po sobě. Do každé fotografie se tím dostanou náhodné, zajímavé a experimentální kompozice.
[MEDIA: image]
FILE: /images/plisen-obr-1.jpg [/images/plisen-obr-1.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-2.jpg [/images/plisen-obr-2.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-3.jpg [/images/plisen-obr-3.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-4.jpg [/images/plisen-obr-4.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-5.jpg [/images/plisen-obr-5.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-6.jpg [/images/plisen-obr-6.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-7.jpg [/images/plisen-obr-7.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-8.jpg [/images/plisen-obr-8.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-9.jpg [/images/plisen-obr-9.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-10.jpg [/images/plisen-obr-10.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-11.jpg [/images/plisen-obr-11.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-12.jpg [/images/plisen-obr-12.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-13.jpg [/images/plisen-obr-13.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-14.jpg [/images/plisen-obr-14.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-15.jpg [/images/plisen-obr-15.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-16.jpg [/images/plisen-obr-16.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-17.jpg [/images/plisen-obr-17.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-18.jpg [/images/plisen-obr-18.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-19.jpg [/images/plisen-obr-19.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-20.jpg [/images/plisen-obr-20.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-21.jpg [/images/plisen-obr-21.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-22.jpg [/images/plisen-obr-22.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-23.jpg [/images/plisen-obr-23.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-24.jpg [/images/plisen-obr-24.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-25.jpg [/images/plisen-obr-25.jpg]

[MEDIA: image]
FILE: /images/plisen-obr-26.gif
ALT: animace složená z obrázků výše


============================================================
TITLE: Plíseň
SLUG: plisen
URL: https://vojtamaur.cz/en/plisen/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2017-11-01
SOURCE: src/content/posts/plisen.mdx
BUILT_HTML: dist/en/plisen/index.html
============================================================

Mold
November 2017
This series of photographs documents the mold in my German textbook. The photographs are arranged in the order in which the pages of the textbook follow one another. This results in random, interesting, and experimental compositions in each photograph.
[MEDIA: image]
FILE: /images/plisen-obr-1.jpg [/images/plisen-obr-1.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-2.jpg [/images/plisen-obr-2.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-3.jpg [/images/plisen-obr-3.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-4.jpg [/images/plisen-obr-4.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-5.jpg [/images/plisen-obr-5.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-6.jpg [/images/plisen-obr-6.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-7.jpg [/images/plisen-obr-7.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-8.jpg [/images/plisen-obr-8.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-9.jpg [/images/plisen-obr-9.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-10.jpg [/images/plisen-obr-10.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-11.jpg [/images/plisen-obr-11.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-12.jpg [/images/plisen-obr-12.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-13.jpg [/images/plisen-obr-13.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-14.jpg [/images/plisen-obr-14.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-15.jpg [/images/plisen-obr-15.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-16.jpg [/images/plisen-obr-16.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-17.jpg [/images/plisen-obr-17.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-18.jpg [/images/plisen-obr-18.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-19.jpg [/images/plisen-obr-19.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-20.jpg [/images/plisen-obr-20.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-21.jpg [/images/plisen-obr-21.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-22.jpg [/images/plisen-obr-22.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-23.jpg [/images/plisen-obr-23.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-24.jpg [/images/plisen-obr-24.jpg]
[MEDIA: image]
FILE: /images/plisen-obr-25.jpg [/images/plisen-obr-25.jpg]

[MEDIA: image]
FILE: /images/plisen-obr-26.gif
ALT: animace složená z obrázků výše


============================================================
TITLE: Narušení pravidelného rastru
SLUG: naruseni-pravidelneho-rastru
URL: https://vojtamaur.cz/naruseni-pravidelneho-rastru/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2017-10-01
SOURCE: src/content/posts/naruseni-pravidelneho-rastru.mdx
BUILT_HTML: dist/naruseni-pravidelneho-rastru/index.html
============================================================

Narušení pravidelného rastru
říjen 2017
V této práci jsem se snažil vytvořit sérii abstraktních děl. Dokument jsem rozdělil do čtyř částí. V první části jsem vytvořil základní pravidelný rastr, v druhé části jsem z tohoto rastru dále vycházel a začal jsem ho nepatrně narušovat a tím způsoboval zneklidnění. V třetí části jsem tento pravidelný geometrický rastr narušil nepravidelnými kontrastními organickými tvary. A v poslední čtvrté části jsem tyto organické tvary zanimoval.
Část první:
ZÁKLADNÍ RASTR
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-1.jpg
ALT: Abstrakce 1.0 - pravidelný rastr [/images/naruseni-pravidelneho-rastru-obr-1.jpg]
Část druhá:
NARUŠENÍ RASTRU DROBNOU ODCHYLKOU
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-2.jpg
ALT: Abstrakce 2.0.0 - pravidelný rastr narušený jedním natočeným pruhem [/images/naruseni-pravidelneho-rastru-obr-2.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-3.jpg
ALT: Abstrakce 2.0.1 - pravidelný rastr narušený dvěma natočenými pruhy [/images/naruseni-pravidelneho-rastru-obr-3.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-4.jpg
ALT: Abstrakce 2.0.2 - pravidelný rastr narušený třemi natočenými pruhy [/images/naruseni-pravidelneho-rastru-obr-4.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-5.jpg
ALT: Abstrakce 2.1.0 - pravidelný rastr narušený jedním nepravidelným pruhem [/images/naruseni-pravidelneho-rastru-obr-5.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-6.jpg
ALT: Abstrakce 2.1.1 - pravidelný rastr narušený dvěma nepravidelnými pruhy [/images/naruseni-pravidelneho-rastru-obr-6.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-7.jpg
ALT: Abstrakce 2.1.2 - pravidelný rastr narušený třemi nepravidelnými pruhy [/images/naruseni-pravidelneho-rastru-obr-7.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-8.jpg
ALT: Abstrakce 2.2.0 - pravidelný rastr narušený jedním nepravidelným pruhem [/images/naruseni-pravidelneho-rastru-obr-8.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-9.jpg
ALT: Abstrakce 2.2.1 - pravidelný rastr narušený dvěma nepravidelnými pruhy [/images/naruseni-pravidelneho-rastru-obr-9.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-10.jpg
ALT: Abstrakce 2.2.2 - pravidelný rastr narušený třemi nepravidelnými pruhy [/images/naruseni-pravidelneho-rastru-obr-10.jpg]
Část třetí:
NARUŠENÍ RASTRU ORGANICKÝMI TVARY
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-11.jpg
ALT: Abstrakce 3.0.0 - pravidelný rastr narušený jedním organickým tvarem [/images/naruseni-pravidelneho-rastru-obr-11.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-12.jpg
ALT: Abstrakce 3.0.1 - pravidelný rastr narušený dvěma organickými tvary [/images/naruseni-pravidelneho-rastru-obr-12.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-13.jpg
ALT: Abstrakce 3.0.2 - pravidelný rastr narušený třemi organickými tvary [/images/naruseni-pravidelneho-rastru-obr-13.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-14.jpg
ALT: Abstrakce 3.1.0 - pravidelný rastr narušený jedním organickým tvarem [/images/naruseni-pravidelneho-rastru-obr-14.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-15.jpg
ALT: Abstrakce 3.1.1 - pravidelný rastr narušený dvěma organickými tvary [/images/naruseni-pravidelneho-rastru-obr-15.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-16.jpg
ALT: Abstrakce 3.1.2 - pravidelný rastr narušený třemi organickými tvary [/images/naruseni-pravidelneho-rastru-obr-16.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-17.jpg
ALT: Abstrakce 3.2.0 - pravidelný rastr narušený jedním organickým tvarem [/images/naruseni-pravidelneho-rastru-obr-17.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-18.jpg
ALT: Abstrakce 3.2.1 - pravidelný rastr narušený dvěma organickými tvary [/images/naruseni-pravidelneho-rastru-obr-18.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-19.jpg
ALT: Abstrakce 3.2.2 - pravidelný rastr narušený třemi organickými tvary [/images/naruseni-pravidelneho-rastru-obr-19.jpg]
Část čtvrtá:
NARUŠENÍ RASTRU ANIMOVANÝMI ORGANICKÝMI TVARY

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/Gz2IRKKnkno?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Narušení pravidelného rastru
SLUG: naruseni-pravidelneho-rastru
URL: https://vojtamaur.cz/en/naruseni-pravidelneho-rastru/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2017-10-01
SOURCE: src/content/posts/naruseni-pravidelneho-rastru.mdx
BUILT_HTML: dist/en/naruseni-pravidelneho-rastru/index.html
============================================================

Disruption of the Regular Grid
October 2017
In this work, I sought to create a series of abstract pieces. I divided the project into four parts. In the first part, I created a basic regular grid; in the second part, I built upon this grid and began to slightly disrupt it, thereby creating a sense of unease. In the third part, I disrupted this regular geometric grid with irregular, contrasting organic shapes. And in the final, fourth part, I animated these organic shapes.
Part One:
BASIC GRID
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-1.jpg
ALT: Abstrakce 1.0 - pravidelný rastr [/images/naruseni-pravidelneho-rastru-obr-1.jpg]
Part Two:
DISRUPTION OF THE GRID BY A SLIGHT DEVIATION
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-2.jpg
ALT: Abstrakce 2.0.0 - pravidelný rastr narušený jedním natočeným pruhem [/images/naruseni-pravidelneho-rastru-obr-2.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-3.jpg
ALT: Abstrakce 2.0.1 - pravidelný rastr narušený dvěma natočenými pruhy [/images/naruseni-pravidelneho-rastru-obr-3.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-4.jpg
ALT: Abstrakce 2.0.2 - pravidelný rastr narušený třemi natočenými pruhy [/images/naruseni-pravidelneho-rastru-obr-4.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-5.jpg
ALT: Abstrakce 2.1.0 - pravidelný rastr narušený jedním nepravidelným pruhem [/images/naruseni-pravidelneho-rastru-obr-5.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-6.jpg
ALT: Abstrakce 2.1.1 - pravidelný rastr narušený dvěma nepravidelnými pruhy [/images/naruseni-pravidelneho-rastru-obr-6.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-7.jpg
ALT: Abstrakce 2.1.2 - pravidelný rastr narušený třemi nepravidelnými pruhy [/images/naruseni-pravidelneho-rastru-obr-7.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-8.jpg
ALT: Abstrakce 2.2.0 - pravidelný rastr narušený jedním nepravidelným pruhem [/images/naruseni-pravidelneho-rastru-obr-8.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-9.jpg
ALT: Abstrakce 2.2.1 - pravidelný rastr narušený dvěma nepravidelnými pruhy [/images/naruseni-pravidelneho-rastru-obr-9.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-10.jpg
ALT: Abstrakce 2.2.2 - pravidelný rastr narušený třemi nepravidelnými pruhy [/images/naruseni-pravidelneho-rastru-obr-10.jpg]
Part Three:
DISRUPTION OF THE GRID WITH ORGANIC SHAPES
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-11.jpg
ALT: Abstrakce 3.0.0 - pravidelný rastr narušený jedním organickým tvarem [/images/naruseni-pravidelneho-rastru-obr-11.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-12.jpg
ALT: Abstrakce 3.0.1 - pravidelný rastr narušený dvěma organickými tvary [/images/naruseni-pravidelneho-rastru-obr-12.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-13.jpg
ALT: Abstrakce 3.0.2 - pravidelný rastr narušený třemi organickými tvary [/images/naruseni-pravidelneho-rastru-obr-13.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-14.jpg
ALT: Abstrakce 3.1.0 - pravidelný rastr narušený jedním organickým tvarem [/images/naruseni-pravidelneho-rastru-obr-14.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-15.jpg
ALT: Abstrakce 3.1.1 - pravidelný rastr narušený dvěma organickými tvary [/images/naruseni-pravidelneho-rastru-obr-15.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-16.jpg
ALT: Abstrakce 3.1.2 - pravidelný rastr narušený třemi organickými tvary [/images/naruseni-pravidelneho-rastru-obr-16.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-17.jpg
ALT: Abstrakce 3.2.0 - pravidelný rastr narušený jedním organickým tvarem [/images/naruseni-pravidelneho-rastru-obr-17.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-18.jpg
ALT: Abstrakce 3.2.1 - pravidelný rastr narušený dvěma organickými tvary [/images/naruseni-pravidelneho-rastru-obr-18.jpg]
[MEDIA: image]
FILE: /images/naruseni-pravidelneho-rastru-obr-19.jpg
ALT: Abstrakce 3.2.2 - pravidelný rastr narušený třemi organickými tvary [/images/naruseni-pravidelneho-rastru-obr-19.jpg]
Part Four:
DISRUPTION OF THE GRID BY ANIMATED ORGANIC SHAPES

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/Gz2IRKKnkno?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Čína 2017
SLUG: cestovani-cina-2017
URL: https://vojtamaur.cz/cestovani-cina-2017/
LANGUAGE: cs
SECTION: cestovani
DATE: 2017-07-01
SOURCE: src/content/posts/cestovani-cina-2017.mdx
BUILT_HTML: dist/cestovani-cina-2017/index.html
============================================================

Čína 2017
Video, fotografie

[VIDEO EMBED]
SOURCE: https://www.youtube.com/embed/_bNP2rulSeA?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-1.jpg [/images/cestovani-cina-2017-obr-1.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-2.jpg [/images/cestovani-cina-2017-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-3.jpg [/images/cestovani-cina-2017-obr-3.jpg]

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-4.jpg

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-5.jpg [/images/cestovani-cina-2017-obr-5.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-6.jpg [/images/cestovani-cina-2017-obr-6.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-7.jpg [/images/cestovani-cina-2017-obr-7.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-8.jpg [/images/cestovani-cina-2017-obr-8.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-9.jpg [/images/cestovani-cina-2017-obr-9.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-10.jpg [/images/cestovani-cina-2017-obr-10.jpg]

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-11.jpg

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-12.jpg [/images/cestovani-cina-2017-obr-12.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-13.jpg [/images/cestovani-cina-2017-obr-13.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-14.jpg [/images/cestovani-cina-2017-obr-14.jpg]

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-15.jpg

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-16.jpg [/images/cestovani-cina-2017-obr-16.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-17.jpg [/images/cestovani-cina-2017-obr-17.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-18.jpg [/images/cestovani-cina-2017-obr-18.jpg]

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-19.jpg

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-20.jpg [/images/cestovani-cina-2017-obr-20.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-21.jpg [/images/cestovani-cina-2017-obr-21.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-22.jpg [/images/cestovani-cina-2017-obr-22.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-23.jpg [/images/cestovani-cina-2017-obr-23.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-24.jpg [/images/cestovani-cina-2017-obr-24.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-25.jpg [/images/cestovani-cina-2017-obr-25.jpg]

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-26.jpg

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-27.jpg [/images/cestovani-cina-2017-obr-27.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-28.jpg [/images/cestovani-cina-2017-obr-28.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-29.jpg [/images/cestovani-cina-2017-obr-29.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-30.jpg [/images/cestovani-cina-2017-obr-30.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-31.jpg [/images/cestovani-cina-2017-obr-31.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-32.jpg [/images/cestovani-cina-2017-obr-32.jpg]


============================================================
TITLE: Čína 2017
SLUG: cestovani-cina-2017
URL: https://vojtamaur.cz/en/cestovani-cina-2017/
LANGUAGE: en
SECTION: cestovani
DATE: 2017-07-01
SOURCE: src/content/posts/cestovani-cina-2017.mdx
BUILT_HTML: dist/en/cestovani-cina-2017/index.html
============================================================

China 2017
Video, photos

[VIDEO EMBED]
SOURCE: https://www.youtube.com/embed/_bNP2rulSeA?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-1.jpg [/images/cestovani-cina-2017-obr-1.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-2.jpg [/images/cestovani-cina-2017-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-3.jpg [/images/cestovani-cina-2017-obr-3.jpg]

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-4.jpg

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-5.jpg [/images/cestovani-cina-2017-obr-5.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-6.jpg [/images/cestovani-cina-2017-obr-6.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-7.jpg [/images/cestovani-cina-2017-obr-7.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-8.jpg [/images/cestovani-cina-2017-obr-8.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-9.jpg [/images/cestovani-cina-2017-obr-9.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-10.jpg [/images/cestovani-cina-2017-obr-10.jpg]

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-11.jpg

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-12.jpg [/images/cestovani-cina-2017-obr-12.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-13.jpg [/images/cestovani-cina-2017-obr-13.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-14.jpg [/images/cestovani-cina-2017-obr-14.jpg]

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-15.jpg

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-16.jpg [/images/cestovani-cina-2017-obr-16.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-17.jpg [/images/cestovani-cina-2017-obr-17.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-18.jpg [/images/cestovani-cina-2017-obr-18.jpg]

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-19.jpg

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-20.jpg [/images/cestovani-cina-2017-obr-20.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-21.jpg [/images/cestovani-cina-2017-obr-21.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-22.jpg [/images/cestovani-cina-2017-obr-22.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-23.jpg [/images/cestovani-cina-2017-obr-23.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-24.jpg [/images/cestovani-cina-2017-obr-24.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-25.jpg [/images/cestovani-cina-2017-obr-25.jpg]

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-26.jpg

[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-27.jpg [/images/cestovani-cina-2017-obr-27.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-28.jpg [/images/cestovani-cina-2017-obr-28.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-29.jpg [/images/cestovani-cina-2017-obr-29.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-30.jpg [/images/cestovani-cina-2017-obr-30.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-31.jpg [/images/cestovani-cina-2017-obr-31.jpg]
[MEDIA: image]
FILE: /images/cestovani-cina-2017-obr-32.jpg [/images/cestovani-cina-2017-obr-32.jpg]


============================================================
TITLE: Generátor náhodných čísel
SLUG: vystavy-generator-nahodnych-cisel
URL: https://vojtamaur.cz/vystavy-generator-nahodnych-cisel/
LANGUAGE: cs
SECTION: vystavy
DATE: 2017-06-18
SOURCE: src/content/posts/vystavy-generator-nahodnych-cisel.mdx
BUILT_HTML: dist/vystavy-generator-nahodnych-cisel/index.html
============================================================

Generátor náhodných čísel
3. 5. 2017 - 18. 6. 2017, Domažlice
Galerie bratří Špillarů: KONKRET 2017
[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-obr-1.jpg [/images/vystavy-generator-nahodnych-cisel-obr-1.jpg]
[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-obr-2.jpg [/images/vystavy-generator-nahodnych-cisel-obr-2.jpg]
[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-obr-3.jpg [/images/vystavy-generator-nahodnych-cisel-obr-3.jpg]
[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-obr-4.jpg [/images/vystavy-generator-nahodnych-cisel-obr-4.jpg]
[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-obr-5.jpg [/images/vystavy-generator-nahodnych-cisel-obr-5.jpg]
[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-obr-6.jpg [/images/vystavy-generator-nahodnych-cisel-obr-6.jpg]

[PDF EMBED]
SOURCE: /files/vystavy-generator-nahodnych-cisel-dokument.pdf
NOTE: Embedded or binary content is not represented in this plain-text export.

Jak jsem se k náhodě dostal aneb od města až po náhodu:
http://vojtamaur.cz/od-mesta-az-po-nahodu/


============================================================
TITLE: Generátor náhodných čísel
SLUG: vystavy-generator-nahodnych-cisel
URL: https://vojtamaur.cz/en/vystavy-generator-nahodnych-cisel/
LANGUAGE: en
SECTION: vystavy
DATE: 2017-06-18
SOURCE: src/content/posts/vystavy-generator-nahodnych-cisel.mdx
BUILT_HTML: dist/en/vystavy-generator-nahodnych-cisel/index.html
============================================================

Random Number Generator
May 3, 2017 – June 18, 2017, Domažlice
The Špillar Brothers Gallery: KONKRET 2017
[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-obr-1.jpg [/images/vystavy-generator-nahodnych-cisel-obr-1.jpg]
[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-obr-2.jpg [/images/vystavy-generator-nahodnych-cisel-obr-2.jpg]
[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-obr-3.jpg [/images/vystavy-generator-nahodnych-cisel-obr-3.jpg]
[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-obr-4.jpg [/images/vystavy-generator-nahodnych-cisel-obr-4.jpg]
[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-obr-5.jpg [/images/vystavy-generator-nahodnych-cisel-obr-5.jpg]
[MEDIA: image]
FILE: /images/vystavy-generator-nahodnych-cisel-obr-6.jpg [/images/vystavy-generator-nahodnych-cisel-obr-6.jpg]

[PDF EMBED]
SOURCE: /files/vystavy-generator-nahodnych-cisel-dokument.pdf
NOTE: Embedded or binary content is not represented in this plain-text export.

How I Came to Chance, or From the City to Randomness:
http://vojtamaur.cz/od-mesta-az-po-nahodu/


============================================================
TITLE: Anglie 2013, 2015, 2017
SLUG: cestovani-anglie-2013-2015-2017
URL: https://vojtamaur.cz/cestovani-anglie-2013-2015-2017/
LANGUAGE: cs
SECTION: cestovani
DATE: 2017-06-01
SOURCE: src/content/posts/cestovani-ekvador-galapagy-2017.mdx
BUILT_HTML: dist/cestovani-anglie-2013-2015-2017/index.html
============================================================

Anglie 2013, 2015, 2017
Video, fotografie

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/t3g4mSYj7lc?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-1.jpg [/images/cestovani-anglie-2013-2015-2017-obr-1.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-2.jpg [/images/cestovani-anglie-2013-2015-2017-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-3.jpg [/images/cestovani-anglie-2013-2015-2017-obr-3.jpg]

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-4.jpg

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-5.jpg [/images/cestovani-anglie-2013-2015-2017-obr-5.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-6.jpg [/images/cestovani-anglie-2013-2015-2017-obr-6.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-7.jpg [/images/cestovani-anglie-2013-2015-2017-obr-7.jpg]

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-8.jpg

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-9.jpg [/images/cestovani-anglie-2013-2015-2017-obr-9.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-10.jpg [/images/cestovani-anglie-2013-2015-2017-obr-10.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-11.jpg [/images/cestovani-anglie-2013-2015-2017-obr-11.jpg]

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-12.jpg

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-13.jpg [/images/cestovani-anglie-2013-2015-2017-obr-13.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-14.jpg [/images/cestovani-anglie-2013-2015-2017-obr-14.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-15.jpg [/images/cestovani-anglie-2013-2015-2017-obr-15.jpg]


============================================================
TITLE: Anglie 2013, 2015, 2017
SLUG: cestovani-anglie-2013-2015-2017
URL: https://vojtamaur.cz/en/cestovani-anglie-2013-2015-2017/
LANGUAGE: en
SECTION: cestovani
DATE: 2017-06-01
SOURCE: src/content/posts/cestovani-ekvador-galapagy-2017.mdx
BUILT_HTML: dist/en/cestovani-anglie-2013-2015-2017/index.html
============================================================

England 2013, 2015, 2017
Video, photos

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/t3g4mSYj7lc?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-1.jpg [/images/cestovani-anglie-2013-2015-2017-obr-1.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-2.jpg [/images/cestovani-anglie-2013-2015-2017-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-3.jpg [/images/cestovani-anglie-2013-2015-2017-obr-3.jpg]

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-4.jpg

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-5.jpg [/images/cestovani-anglie-2013-2015-2017-obr-5.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-6.jpg [/images/cestovani-anglie-2013-2015-2017-obr-6.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-7.jpg [/images/cestovani-anglie-2013-2015-2017-obr-7.jpg]

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-8.jpg

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-9.jpg [/images/cestovani-anglie-2013-2015-2017-obr-9.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-10.jpg [/images/cestovani-anglie-2013-2015-2017-obr-10.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-11.jpg [/images/cestovani-anglie-2013-2015-2017-obr-11.jpg]

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-12.jpg

[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-13.jpg [/images/cestovani-anglie-2013-2015-2017-obr-13.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-14.jpg [/images/cestovani-anglie-2013-2015-2017-obr-14.jpg]
[MEDIA: image]
FILE: /images/cestovani-anglie-2013-2015-2017-obr-15.jpg [/images/cestovani-anglie-2013-2015-2017-obr-15.jpg]


============================================================
TITLE: Zmrtvýchvstání
SLUG: zmrtvychvstani
URL: https://vojtamaur.cz/zmrtvychvstani/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2017-04-02
SOURCE: src/content/posts/zmrtvychvstani.mdx
BUILT_HTML: dist/zmrtvychvstani/index.html
============================================================

Zmrtvýchvstání
duben 2017
[MEDIA: image]
FILE: /images/zmrtvychvstani-obr-1.jpg
ALT: původní nezměněná fotografie [/images/zmrtvychvstani-obr-1.jpg]
[MEDIA: image]
FILE: /images/zmrtvychvstani-obr-2.jpg
ALT: fotografie po úpravě ANSI [/images/zmrtvychvstani-obr-2.jpg]
V květnu 2016 jsem v Maroku vyfotil místní hřbitov. V ANSI kódu fotografie jsem změnil všechny křížky (†) na hvězdičky (*). Takto pozměněnou fotografii jsem znovu uložil.


============================================================
TITLE: Zmrtvýchvstání
SLUG: zmrtvychvstani
URL: https://vojtamaur.cz/en/zmrtvychvstani/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2017-04-02
SOURCE: src/content/posts/zmrtvychvstani.mdx
BUILT_HTML: dist/en/zmrtvychvstani/index.html
============================================================

Resurrection
April 2017
[MEDIA: image]
FILE: /images/zmrtvychvstani-obr-1.jpg
ALT: původní nezměněná fotografie [/images/zmrtvychvstani-obr-1.jpg]
[MEDIA: image]
FILE: /images/zmrtvychvstani-obr-2.jpg
ALT: fotografie po úpravě ANSI [/images/zmrtvychvstani-obr-2.jpg]
In May 2016, I took a photo of a local cemetery in Morocco. In the ANSI code of the photo, I replaced all the crosses (†) with asterisks (*). I then saved the modified photo.


============================================================
TITLE: Barevný průměr
SLUG: barevny-prumer
URL: https://vojtamaur.cz/barevny-prumer/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2017-04-01
SOURCE: src/content/posts/barevny-prumer.mdx
BUILT_HTML: dist/barevny-prumer/index.html
============================================================

Barevný průměr
duben 2017
V levé části obrazu je umístěno 1156 fotografií v rastru 34x34 px. Každý barevný pixel reprezentuje průměrnou barvu jednotlivé fotografie z daného státu.
Na pravé části obrazu je průměrná barva všech pixelů z levé části, tedy průměrná barva všech fotografií z daného státu.

[MEDIA: image]
FILE: /images/barevny-prumer-obr-1.png
ALT: Česká republika
CAPTION: Česká republika

[MEDIA: image]
FILE: /images/barevny-prumer-obr-2.jpg
ALT: Čína
CAPTION: Čína

[MEDIA: image]
FILE: /images/barevny-prumer-obr-3.jpg
ALT: Ekvádor
CAPTION: Ekvádor

[MEDIA: image]
FILE: /images/barevny-prumer-obr-4.jpg
ALT: Kenya
CAPTION: Kenya

[MEDIA: image]
FILE: /images/barevny-prumer-obr-5.jpg
ALT: Mexiko
CAPTION: Mexiko


============================================================
TITLE: Barevný průměr
SLUG: barevny-prumer
URL: https://vojtamaur.cz/en/barevny-prumer/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2017-04-01
SOURCE: src/content/posts/barevny-prumer.mdx
BUILT_HTML: dist/en/barevny-prumer/index.html
============================================================

Color Average
April 2017
The left side of the image contains 1,156 photographs arranged in a 34x34-pixel grid. Each colored pixel represents the average color of a single photograph from a given country.
On the right side of the image is the average color of all pixels from the left side—that is, the average color of all photographs from a given country.

[MEDIA: image]
FILE: /images/barevny-prumer-obr-1.png
ALT: Česká republika
CAPTION: Czech Republic

[MEDIA: image]
FILE: /images/barevny-prumer-obr-2.jpg
ALT: Čína
CAPTION: China

[MEDIA: image]
FILE: /images/barevny-prumer-obr-3.jpg
ALT: Ekvádor
CAPTION: Ecuador

[MEDIA: image]
FILE: /images/barevny-prumer-obr-4.jpg
ALT: Kenya
CAPTION: Kenya

[MEDIA: image]
FILE: /images/barevny-prumer-obr-5.jpg
ALT: Mexiko
CAPTION: Mexico


============================================================
TITLE: Tank
SLUG: tank
URL: https://vojtamaur.cz/tank/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2017-04-01
SOURCE: src/content/posts/tank.mdx
BUILT_HTML: dist/tank/index.html
============================================================

Tank
duben 2017
[MEDIA: image]
FILE: /images/tank-obr-1.jpg
ALT: původní nezměněná fotografie [/images/tank-obr-1.jpg]
[MEDIA: image]
FILE: /images/tank-obr-2.jpg
ALT: fotografie po úpravě ANSI [/images/tank-obr-2.jpg]

[PDF EMBED]
SOURCE: /files/tank-dokument.pdf
NOTE: Embedded or binary content is not represented in this plain-text export.

V prosinci 2012 jsem v Izraeli v Negevské poušti vyfotil bojový tank. V ANSI kódu fotografie jsem změnil všechny hvězdičky (*) na křížky (†). Takto pozměněnou fotografii jsem znovu uložil.


============================================================
TITLE: Tank
SLUG: tank
URL: https://vojtamaur.cz/en/tank/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2017-04-01
SOURCE: src/content/posts/tank.mdx
BUILT_HTML: dist/en/tank/index.html
============================================================

Tank
April 2017
[MEDIA: image]
FILE: /images/tank-obr-1.jpg
ALT: původní nezměněná fotografie [/images/tank-obr-1.jpg]
[MEDIA: image]
FILE: /images/tank-obr-2.jpg
ALT: fotografie po úpravě ANSI [/images/tank-obr-2.jpg]

[PDF EMBED]
SOURCE: /files/tank-dokument.pdf
NOTE: Embedded or binary content is not represented in this plain-text export.

In December 2012, I photographed a battle tank in the Negev Desert in Israel. In the ANSI code of the photo, I replaced all asterisks (*) with crosses (†). I then saved the modified photo.


============================================================
TITLE: Kostky cukru
SLUG: kostky-cukru
URL: https://vojtamaur.cz/kostky-cukru/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2017-03-01
SOURCE: src/content/posts/kostky-cukru.mdx
BUILT_HTML: dist/kostky-cukru/index.html
============================================================

Kostky cukru
březen 2017
Série fotografií vznikla během talentových zkoušek na Střední odborné škole obchodu, užitého umění a designu v Plzni (Nerudova 33).
Pro fotografickou část zkoušek jsme si mohli přinést vlastní objekty, ale jejich počet i velikost byly omezené. Přinesl jsem si krabičku kostek cukru, které jsem skládal na talíř do pravidelného rastru a následně je zalil vodou. Kostky se postupně rozpouštěly, bortily a náhodně padaly.
[MEDIA: image]
FILE: /images/kostky-cukru-obr-1.jpg [/images/kostky-cukru-obr-1.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-2.jpg [/images/kostky-cukru-obr-2.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-3.jpg [/images/kostky-cukru-obr-3.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-4.jpg [/images/kostky-cukru-obr-4.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-5.jpg [/images/kostky-cukru-obr-5.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-6.jpg [/images/kostky-cukru-obr-6.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-7.jpg [/images/kostky-cukru-obr-7.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-8.jpg [/images/kostky-cukru-obr-8.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-9.jpg [/images/kostky-cukru-obr-9.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-10.jpg [/images/kostky-cukru-obr-10.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-11.jpg [/images/kostky-cukru-obr-11.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-12.jpg [/images/kostky-cukru-obr-12.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-13.jpg [/images/kostky-cukru-obr-13.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-14.jpg [/images/kostky-cukru-obr-14.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-15.jpg [/images/kostky-cukru-obr-15.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-16.jpg [/images/kostky-cukru-obr-16.jpg]


============================================================
TITLE: Kostky cukru
SLUG: kostky-cukru
URL: https://vojtamaur.cz/en/kostky-cukru/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2017-03-01
SOURCE: src/content/posts/kostky-cukru.mdx
BUILT_HTML: dist/en/kostky-cukru/index.html
============================================================

Sugar Cubes
March 2017
This series of photographs was created during talent auditions at the Secondary Vocational School of Commerce, Applied Arts, and Design in Pilsen (Nerudova 33).
For the photography portion of the auditions, we were allowed to bring our own objects, but their number and size were limited. I brought a box of sugar cubes, which I arranged on a plate in a regular grid and then poured water over them. The sugar cubes gradually dissolved, crumbled, and fell randomly.
[MEDIA: image]
FILE: /images/kostky-cukru-obr-1.jpg [/images/kostky-cukru-obr-1.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-2.jpg [/images/kostky-cukru-obr-2.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-3.jpg [/images/kostky-cukru-obr-3.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-4.jpg [/images/kostky-cukru-obr-4.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-5.jpg [/images/kostky-cukru-obr-5.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-6.jpg [/images/kostky-cukru-obr-6.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-7.jpg [/images/kostky-cukru-obr-7.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-8.jpg [/images/kostky-cukru-obr-8.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-9.jpg [/images/kostky-cukru-obr-9.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-10.jpg [/images/kostky-cukru-obr-10.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-11.jpg [/images/kostky-cukru-obr-11.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-12.jpg [/images/kostky-cukru-obr-12.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-13.jpg [/images/kostky-cukru-obr-13.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-14.jpg [/images/kostky-cukru-obr-14.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-15.jpg [/images/kostky-cukru-obr-15.jpg]
[MEDIA: image]
FILE: /images/kostky-cukru-obr-16.jpg [/images/kostky-cukru-obr-16.jpg]


============================================================
TITLE: Street art knihovna
SLUG: street-art-knihovna
URL: https://vojtamaur.cz/street-art-knihovna/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2017-03-01
SOURCE: src/content/posts/street-art-knihovna.mdx
BUILT_HTML: dist/street-art-knihovna/index.html
============================================================

Street art knihovna
březen 2017
Všude kolem nás je spousta zajímavých street artových děl od malých samolepek, pokreslených zdí až po různé druhy 3D objektů. Vzhledem k tomu, že autoři těchto výtvorů musí kvůli rozporu se zákonem zůstat v anonymitě, je tento svět street artu naprosto nezištný a oddělený od světa komerce. Street arty, které můžeme spatřit snad všude po městě se většinou udržují velmi aktuální. Nové street arty totiž překrývají ty staré, barva se loupe společně s omítkou, 3D objekty podléhají vandalismu a samolepky se vlivem prostředí po čase odloupnou a nebo vyblednou. Je to přirozený proces, aspekt času, ovšem domnívám se, že nějaké street arty si zaslouží prodloužit životnost.
A proto jsem se ty nejzajímavější díla rozhodl dokumentovat. Pro tento účel jsem v roce 2017 založil facebookovou stránku s názvem Street art knihovna, na kterou příspěvky přidávám až doposud. Kvůli oslovení více lidí jsem poté založil stejnojmennou stránku na instagramu.
Na tyto stránky se snažím přidávat hlavně díla, která nesou určitou myšlenku a estetickou část díla vnímám jako vedlejší.
Street art knihovna (Facebook):
www.facebook.com/streetartknihovna [https://www.facebook.com/streetartknihovna]
Street art knihovna (Instagram):
www.instagram.com/streetartknihovna [https://www.instagram.com/streetartknihovna]

[MEDIA: image]
FILE: /images/street-art-knihovna-obr-1.jpg
ALT: Screenshot Facebookové stránky

[MEDIA: image]
FILE: /images/street-art-knihovna-obr-2.jpg
ALT: Screenshot Instagramové stránky


============================================================
TITLE: Street art knihovna
SLUG: street-art-knihovna
URL: https://vojtamaur.cz/en/street-art-knihovna/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2017-03-01
SOURCE: src/content/posts/street-art-knihovna.mdx
BUILT_HTML: dist/en/street-art-knihovna/index.html
============================================================

Street Art Library
March 2017
All around us, there are plenty of interesting street art pieces, ranging from small stickers and graffiti-covered walls to various types of 3D objects. Since the creators of these works must remain anonymous due to legal restrictions, the world of street art is completely altruistic and separate from the commercial world. The street art we see almost everywhere in the city usually stays very current. New street art pieces cover up the old ones; paint peels away along with the plaster; 3D objects fall victim to vandalism; and stickers eventually peel off or fade due to environmental factors. It’s a natural process, a matter of time, but I believe that some street art deserves to have its lifespan extended.
That’s why I decided to document the most interesting works. To that end, in 2017 I created a Facebook page called “Street Art Library,” to which I’ve been adding posts ever since. To reach a wider audience, I later created an Instagram page with the same name.
On these pages, I try to feature mainly works that convey a specific idea, while I view the aesthetic aspect of the work as secondary.
Street Art Library (Facebook):
www.facebook.com/streetartknihovna [https://www.facebook.com/streetartknihovna]
Street Art Library (Instagram):
www.instagram.com/streetartknihovna [https://www.instagram.com/streetartknihovna]

[MEDIA: image]
FILE: /images/street-art-knihovna-obr-1.jpg
ALT: Screenshot Facebookové stránky

[MEDIA: image]
FILE: /images/street-art-knihovna-obr-2.jpg
ALT: Screenshot Instagramové stránky


============================================================
TITLE: Aplikace Google
SLUG: aplikace-google
URL: https://vojtamaur.cz/aplikace-google/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2016-11-01
SOURCE: src/content/posts/aplikace-google.mdx
BUILT_HTML: dist/aplikace-google/index.html
============================================================

Aplikace Google
listopad 2016
Toto krátké video je reference na nesmyslné oprávnění mobilní aplikace Google (aplikace je předinstalovaná nejen v telefonech Samsung a dokonce tato aplikace nejde odinstalovat). Přehled oprávnění lze najít v telefonu vybaveném operačním systémem Android v Nastavení/Správce aplikací/STAŽENÉ/Aplikace Google.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/UOvJLnj2McU?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Aplikace Google
SLUG: aplikace-google
URL: https://vojtamaur.cz/en/aplikace-google/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2016-11-01
SOURCE: src/content/posts/aplikace-google.mdx
BUILT_HTML: dist/en/aplikace-google/index.html
============================================================

Google App
November 2016
This short video highlights the nonsensical permissions of the Google App (the app comes preinstalled not only on Samsung phones, and it cannot even be uninstalled). An overview of permissions can be found on Android phones at Nastavení/Správce aplikací/STAŽENÉ/Aplikace Google.

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/UOvJLnj2McU?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.


============================================================
TITLE: Nezáleží, z jakého kraje jsi přišel...
SLUG: vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2
URL: https://vojtamaur.cz/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2/
LANGUAGE: cs
SECTION: vystavy
DATE: 2016-08-14
SOURCE: src/content/posts/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2.mdx
BUILT_HTML: dist/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2/index.html
============================================================

Nezáleží, z jakého kraje jsi přišel...
11. 7. 2016 - 14. 8. 2016, Plzeň
DJKT (Nová scéna): Plzeňský salón 2016
[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2-obr-1.jpg [/images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2-obr-1.jpg]
[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2-obr-2.jpg [/images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2-obr-2.jpg]
[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2-obr-3.jpg [/images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2-obr-3.jpg]
28. prosince 2014 jsem v Mombase vyfotil starou popsanou zeď.
Pak jsem se snažil rozluštit text na ní. Jednu jeho čitelnou část jsem zadal do internetového vyhledávače a tak objevil následující fotografii.
It doesn't matter which religion you claim you're.
It doesn't matter which country you're coming from.
It doesn't matter whether you
're poor or rich.
It doesn't matter if you're black or white.
We are all the same in the eyes of God.
Nezáleží, jakého jsi vyznání.
Nezáleží, z jaké země pocházíš.
Nezáleží, jestli jsi chudý nebo bohatý.
Nezáleží, jestli jsi černoch nebo běloch.
Všichni jsme si rovni v očích Boha.
Reportáž od Plzeň TV:
https://www.youtube.com/watch?v=jxg-6iVPPmk


============================================================
TITLE: Nezáleží, z jakého kraje jsi přišel...
SLUG: vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2
URL: https://vojtamaur.cz/en/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2/
LANGUAGE: en
SECTION: vystavy
DATE: 2016-08-14
SOURCE: src/content/posts/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2.mdx
BUILT_HTML: dist/en/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2/index.html
============================================================

It Doesn’t Matter Where You’re From...
July 11, 2016 – August 14, 2016, Pilsen
DJKT (New Stage): Pilsen Salon 2016
[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2-obr-1.jpg [/images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2-obr-1.jpg]
[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2-obr-2.jpg [/images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2-obr-2.jpg]
[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2-obr-3.jpg [/images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-2-obr-3.jpg]
On December 28, 2014, I took a photo of an old, graffiti-covered wall in Mombasa.
Then I tried to decipher the text on it. I entered one legible part of it into an internet search engine and discovered the following photograph.
It doesn't matter which religion you claim you're.
It doesn't matter which country you're coming from.
It doesn't matter whether you
're poor or rich.
It doesn't matter if you're black or white.
We are all the same in the eyes of God.
Nezáleží, jakého jsi vyznání.
Nezáleží, z jaké země pocházíš.
Nezáleží, jestli jsi chudý nebo bohatý.
Nezáleží, jestli jsi černoch nebo běloch.
Všichni jsme si rovni v očích Boha.
Report by Plzeň TV:
https://www.youtube.com/watch?v=jxg-6iVPPmk


============================================================
TITLE: Itálie 2016
SLUG: cestovani-italie-2016
URL: https://vojtamaur.cz/cestovani-italie-2016/
LANGUAGE: cs
SECTION: cestovani
DATE: 2016-07-01
SOURCE: src/content/posts/cestovani-italie-2016.mdx
BUILT_HTML: dist/cestovani-italie-2016/index.html
============================================================

Itálie 2016
Video, fotografie

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/jFueqe5Gn60?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-1.jpg [/images/cestovani-italie-2016-obr-1.jpg]
[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-2.jpg [/images/cestovani-italie-2016-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-3.jpg [/images/cestovani-italie-2016-obr-3.jpg]

[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-4.jpg

[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-5.jpg [/images/cestovani-italie-2016-obr-5.jpg]
[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-6.jpg [/images/cestovani-italie-2016-obr-6.jpg]
[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-7.jpg [/images/cestovani-italie-2016-obr-7.jpg]


============================================================
TITLE: Itálie 2016
SLUG: cestovani-italie-2016
URL: https://vojtamaur.cz/en/cestovani-italie-2016/
LANGUAGE: en
SECTION: cestovani
DATE: 2016-07-01
SOURCE: src/content/posts/cestovani-italie-2016.mdx
BUILT_HTML: dist/en/cestovani-italie-2016/index.html
============================================================

Italy 2016
Video, photos

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/jFueqe5Gn60?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-1.jpg [/images/cestovani-italie-2016-obr-1.jpg]
[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-2.jpg [/images/cestovani-italie-2016-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-3.jpg [/images/cestovani-italie-2016-obr-3.jpg]

[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-4.jpg

[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-5.jpg [/images/cestovani-italie-2016-obr-5.jpg]
[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-6.jpg [/images/cestovani-italie-2016-obr-6.jpg]
[MEDIA: image]
FILE: /images/cestovani-italie-2016-obr-7.jpg [/images/cestovani-italie-2016-obr-7.jpg]


============================================================
TITLE: Hladina
SLUG: vystava-hladina
URL: https://vojtamaur.cz/vystava-hladina/
LANGUAGE: cs
SECTION: vystavy
DATE: 2016-04-04
SOURCE: src/content/posts/vystava-hladina.mdx
BUILT_HTML: dist/vystava-hladina/index.html
============================================================

Hladina
4. 2. 2016 - 3. 4. 2016, Plzeň
Galerie města Plzně: PŘEDTÍM, TEĎ, POTOM

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/GALBEnzekBw?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

O kolik je jiný náš život na síti a v reálném životě? Proč chodit ven, když si všechno můžeme najít na Googlu? Informace z internetu jsou zdeformované a s realitou mají málo společného.
Jsou odrazem toho, co chceme vidět.
Slunce se odráží v hladině, promítá se na zeď a odráží v zrcadle… Skutečně se k nám dostalo nezměněné?
Sestřih z výstavy:
https://www.youtube.com/watch?v=SmsbQt0g9nc
Více o výstavě na stránkách Galerie města Plzně:
http://galerie-plzen.cz/vystavy/vystavy-2016/predtim-ted-potom


============================================================
TITLE: Hladina
SLUG: vystava-hladina
URL: https://vojtamaur.cz/en/vystava-hladina/
LANGUAGE: en
SECTION: vystavy
DATE: 2016-04-04
SOURCE: src/content/posts/vystava-hladina.mdx
BUILT_HTML: dist/en/vystava-hladina/index.html
============================================================

Water Level
February 4, 2016 – April 3, 2016, Pilsen
Pilsen City Gallery: BEFORE, NOW, AFTER

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/GALBEnzekBw?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

How different is our life online compared to real life? Why go out when we can find everything on Google? Information from the internet is distorted and has little to do with reality.
It is a reflection of what we want to see.
The sun reflects on the water’s surface, is projected onto a wall, and reflects in a mirror… Has it truly reached us unchanged?
Exhibition highlights:
https://www.youtube.com/watch?v=SmsbQt0g9nc
More about the exhibition on the Pilsen City Gallery website:
http://galerie-plzen.cz/vystavy/vystavy-2016/predtim-ted-potom


============================================================
TITLE: Maroko 2016
SLUG: cestovani-maroko-2016
URL: https://vojtamaur.cz/cestovani-maroko-2016/
LANGUAGE: cs
SECTION: cestovani
DATE: 2016-01-01
SOURCE: src/content/posts/cestovani-maroko-2016.mdx
BUILT_HTML: dist/cestovani-maroko-2016/index.html
============================================================

Maroko 2016
Video, fotografie

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/tZA1g0BR_Us?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-1.png [/images/cestovani-maroko-2016-obr-1.png]
[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-2.png [/images/cestovani-maroko-2016-obr-2.png]
[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-3.png [/images/cestovani-maroko-2016-obr-3.png]

[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-4.jpg

[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-5.png [/images/cestovani-maroko-2016-obr-5.png]
[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-6.png [/images/cestovani-maroko-2016-obr-6.png]
[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-7.png [/images/cestovani-maroko-2016-obr-7.png]

[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-8.png


============================================================
TITLE: Maroko 2016
SLUG: cestovani-maroko-2016
URL: https://vojtamaur.cz/en/cestovani-maroko-2016/
LANGUAGE: en
SECTION: cestovani
DATE: 2016-01-01
SOURCE: src/content/posts/cestovani-maroko-2016.mdx
BUILT_HTML: dist/en/cestovani-maroko-2016/index.html
============================================================

Morocco 2016
Video, photos

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/tZA1g0BR_Us?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-1.png [/images/cestovani-maroko-2016-obr-1.png]
[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-2.png [/images/cestovani-maroko-2016-obr-2.png]
[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-3.png [/images/cestovani-maroko-2016-obr-3.png]

[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-4.jpg

[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-5.png [/images/cestovani-maroko-2016-obr-5.png]
[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-6.png [/images/cestovani-maroko-2016-obr-6.png]
[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-7.png [/images/cestovani-maroko-2016-obr-7.png]

[MEDIA: image]
FILE: /images/cestovani-maroko-2016-obr-8.png


============================================================
TITLE: Od města až po náhodu
SLUG: od-mesta-az-po-nahodu
URL: https://vojtamaur.cz/od-mesta-az-po-nahodu/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2016-01-01
SOURCE: src/content/posts/od-mesta-az-po-nahodu.mdx
BUILT_HTML: dist/od-mesta-az-po-nahodu/index.html
============================================================

Od města až po náhodu
leden 2016
V roce 2016 jsem dostal v rámci přípravy na střední uměleckou školu v ZUŠ Plzeň, Jagellonská 14 za úkol vypracovat grafickou stylizaci města.
Zajímalo mě, kam až tato stylizace může zajít, a proto jsem na tomto úkolu pracoval následující roky až po současnost (rok 2019).
Od jednoduché stylizace města jsem se dostal po narušení pravidelných rastrů, které z výtvarného hlediska způsobovalo pozoruhodné napětí.
Dále jsem se pokusil v tomto úkolu využít náhody, ale nic jako skutečnou náhodu bez žádné příčiny jsem nedokázal objevit. Vždy mi bránil determinismus, a proto jsem využíval pouze pseudonáhody (lze určit příčina, ale výsledek se jen těžko predikuje a proto se jeví náhodná).
Některé cesty mě zavedly do slepé uličky a proto jsem musel vyhledat jiný pohled a jiné graficeké řešení např. programování vizuálního výstupu, moaré efekt, Fibonacciho posloupnost atd.
Série obrázků níže je souhrn těchto prací.

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-1.jpg
ALT: Mombasa: autorova fotografie a skici

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-2.jpg
ALT: Stylizace města: dělení ploch

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-3.jpg
ALT: Stylizace města: narušení pravidelného rastru

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-4.jpg
ALT: Stylizace města: narušení pravidelného geometrického tvaru

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-5.jpg
ALT: Stylizace města: narušení pravidelného rastru náhodnou rotací

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-6.jpg
ALT: Stylizace města: náhodný tvar v poli souřadnic

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-7.jpg
ALT: Stylizace města: jednoduché tvary a náhodná procházka

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-8.jpg
ALT: Stylizace města: generátor náhodných pixelů

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-9.jpg
ALT: Stylizace města: generátor náhodných RGB pixelů, moaré efekt

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-10.jpg
ALT: Stylizace města: moaré efekt

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-11.jpg
ALT: Stylizace města: generátor náhodných RGB pixelů v kombinaci s moaré efektem

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-12.jpg
ALT: Fotografie instalace stylizace města v Galerii bratří Špillarů

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-13.jpg
ALT: Prototyp letáku na akci v Papírně: generátor náhodných RGB pixelů v kombinaci s moaré efektem

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-14.jpg
ALT: Pixel art obrázek města a výpočet jeho pravděpodobnosti vzniku náhodným generováním

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-15.jpg
ALT: Kruhy náhodné velikosti a jejich JS kód

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-16.jpg
ALT: Linie náhodné délky a jejich JS kód

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-17.jpg
ALT: Linie náhodné délky, jejich textový výstup a JS kód

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-18.jpg
ALT: Mombasa: autorova fotografie iterativně převzorkovaná

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-19.jpg
ALT: Mombasa: autorova fotografie iterativně převzorkovaná

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-20.jpg
ALT: Stylizace města: abeceda z fotografií (klauzurní zkoušky 2019)


============================================================
TITLE: Od města až po náhodu
SLUG: od-mesta-az-po-nahodu
URL: https://vojtamaur.cz/en/od-mesta-az-po-nahodu/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2016-01-01
SOURCE: src/content/posts/od-mesta-az-po-nahodu.mdx
BUILT_HTML: dist/en/od-mesta-az-po-nahodu/index.html
============================================================

From the City to Randomness
January 2016
In 2016, as part of my preparation for art high school at ZUŠ Plzeň, Jagellonská 14, I was assigned the task of creating a graphic stylization of the city.
I was curious to see just how far this stylization could go, so I continued working on this project over the following years up to the present (2019).
Starting with a simple stylization of the city, I moved on to disrupting regular grids, which created remarkable tension from an artistic perspective.
I then attempted to incorporate chance into this project, but I was unable to discover anything resembling true chance—something without any cause. Determinism always stood in my way, so I relied solely on pseudo-randomness (where the cause can be determined, but the result is difficult to predict and therefore appears random).
Some paths led me to a dead end, so I had to seek a different perspective and other graphic solutions, such as programming the visual output, the moiré effect, the Fibonacci sequence, etc.
The series of images below is a summary of these works.

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-1.jpg
ALT: Mombasa: autorova fotografie a skici

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-2.jpg
ALT: Stylizace města: dělení ploch

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-3.jpg
ALT: Stylizace města: narušení pravidelného rastru

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-4.jpg
ALT: Stylizace města: narušení pravidelného geometrického tvaru

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-5.jpg
ALT: Stylizace města: narušení pravidelného rastru náhodnou rotací

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-6.jpg
ALT: Stylizace města: náhodný tvar v poli souřadnic

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-7.jpg
ALT: Stylizace města: jednoduché tvary a náhodná procházka

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-8.jpg
ALT: Stylizace města: generátor náhodných pixelů

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-9.jpg
ALT: Stylizace města: generátor náhodných RGB pixelů, moaré efekt

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-10.jpg
ALT: Stylizace města: moaré efekt

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-11.jpg
ALT: Stylizace města: generátor náhodných RGB pixelů v kombinaci s moaré efektem

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-12.jpg
ALT: Fotografie instalace stylizace města v Galerii bratří Špillarů

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-13.jpg
ALT: Prototyp letáku na akci v Papírně: generátor náhodných RGB pixelů v kombinaci s moaré efektem

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-14.jpg
ALT: Pixel art obrázek města a výpočet jeho pravděpodobnosti vzniku náhodným generováním

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-15.jpg
ALT: Kruhy náhodné velikosti a jejich JS kód

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-16.jpg
ALT: Linie náhodné délky a jejich JS kód

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-17.jpg
ALT: Linie náhodné délky, jejich textový výstup a JS kód

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-18.jpg
ALT: Mombasa: autorova fotografie iterativně převzorkovaná

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-19.jpg
ALT: Mombasa: autorova fotografie iterativně převzorkovaná

[MEDIA: image]
FILE: /images/od-mesta-az-po-nahodu-obr-20.jpg
ALT: Stylizace města: abeceda z fotografií (klauzurní zkoušky 2019)


============================================================
TITLE: Nezáleží, z jakého kraje jsi přišel...
SLUG: vystava-nezalezi-z-jakeho-kraje-jsi-prisel
URL: https://vojtamaur.cz/vystava-nezalezi-z-jakeho-kraje-jsi-prisel/
LANGUAGE: cs
SECTION: vystavy
DATE: 2015-10-10
SOURCE: src/content/posts/vystava-nezalezi-z-jakeho-kraje-jsi-prisel.mdx
BUILT_HTML: dist/vystava-nezalezi-z-jakeho-kraje-jsi-prisel/index.html
============================================================

Nezáleží, z jakého kraje jsi přišel...
10. 10. 2015 - 11. 10. 2015, Plzeň
DEPO2015: ART SAFARI 30

[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-obr-1.png

[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-obr-2.png

[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-obr-3.png

[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-obr-4.png

[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-obr-5.png


============================================================
TITLE: Nezáleží, z jakého kraje jsi přišel...
SLUG: vystava-nezalezi-z-jakeho-kraje-jsi-prisel
URL: https://vojtamaur.cz/en/vystava-nezalezi-z-jakeho-kraje-jsi-prisel/
LANGUAGE: en
SECTION: vystavy
DATE: 2015-10-10
SOURCE: src/content/posts/vystava-nezalezi-z-jakeho-kraje-jsi-prisel.mdx
BUILT_HTML: dist/en/vystava-nezalezi-z-jakeho-kraje-jsi-prisel/index.html
============================================================

It doesn't matter where you're from...
October 10, 2015 – October 11, 2015, Pilsen
DEPO2015: ART SAFARI 30

[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-obr-1.png

[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-obr-2.png

[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-obr-3.png

[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-obr-4.png

[MEDIA: image]
FILE: /images/vystava-nezalezi-z-jakeho-kraje-jsi-prisel-obr-5.png


============================================================
TITLE: Nezáleží, z jakého kraje jsi přišel...
SLUG: nezalezi-z-jakeho-kraje-jsi-prisel
URL: https://vojtamaur.cz/nezalezi-z-jakeho-kraje-jsi-prisel/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2015-10-01
SOURCE: src/content/posts/nezalezi-z-jakeho-kraje-jsi-prisel.mdx
BUILT_HTML: dist/nezalezi-z-jakeho-kraje-jsi-prisel/index.html
============================================================

Nezáleží, z jakého kraje jsi přišel...
říjen 2015

[MEDIA: image]
FILE: /images/nezalezi-z-jakeho-kraje-jsi-prisel-obr-1.jpg
ALT: Fotografie Vojty Maura pořízená v Mombase, 2014

[MEDIA: image]
FILE: /images/nezalezi-z-jakeho-kraje-jsi-prisel-obr-2.jpg
ALT: 28. prosince 2014 jsem v Mombase vyfotil starou popsanou zeď. Pak jsem se snažil rozluštit text na ní. Jednu jeho čitelnou část jsem zadal do internetového vyhledávače a tak objevil následující fotografii.

[MEDIA: image]
FILE: /images/nezalezi-z-jakeho-kraje-jsi-prisel-obr-3.jpg
ALT: Fotografie nalezená pomocí internetového vyhledávače

[MEDIA: image]
FILE: /images/nezalezi-z-jakeho-kraje-jsi-prisel-obr-4.jpg
ALT: Nezáleží, jakého jsi vyznání. Nezáleží, z jaké země pocházíš. Nezáleží, jestli jsi chudý nebo bohatý. Nezáleží, jestli jsi černoch nebo běloch. Všichni jsme si rovni v očích Boha.


============================================================
TITLE: Nezáleží, z jakého kraje jsi přišel...
SLUG: nezalezi-z-jakeho-kraje-jsi-prisel
URL: https://vojtamaur.cz/en/nezalezi-z-jakeho-kraje-jsi-prisel/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2015-10-01
SOURCE: src/content/posts/nezalezi-z-jakeho-kraje-jsi-prisel.mdx
BUILT_HTML: dist/en/nezalezi-z-jakeho-kraje-jsi-prisel/index.html
============================================================

It doesn't matter which region you're from...
October 2015

[MEDIA: image]
FILE: /images/nezalezi-z-jakeho-kraje-jsi-prisel-obr-1.jpg
ALT: Fotografie Vojty Maura pořízená v Mombase, 2014

[MEDIA: image]
FILE: /images/nezalezi-z-jakeho-kraje-jsi-prisel-obr-2.jpg
ALT: 28. prosince 2014 jsem v Mombase vyfotil starou popsanou zeď. Pak jsem se snažil rozluštit text na ní. Jednu jeho čitelnou část jsem zadal do internetového vyhledávače a tak objevil následující fotografii.

[MEDIA: image]
FILE: /images/nezalezi-z-jakeho-kraje-jsi-prisel-obr-3.jpg
ALT: Fotografie nalezená pomocí internetového vyhledávače

[MEDIA: image]
FILE: /images/nezalezi-z-jakeho-kraje-jsi-prisel-obr-4.jpg
ALT: Nezáleží, jakého jsi vyznání. Nezáleží, z jaké země pocházíš. Nezáleží, jestli jsi chudý nebo bohatý. Nezáleží, jestli jsi černoch nebo běloch. Všichni jsme si rovni v očích Boha.


============================================================
TITLE: Kenya 2012-2015
SLUG: cestovani-kenya-2012-2015
URL: https://vojtamaur.cz/cestovani-kenya-2012-2015/
LANGUAGE: cs
SECTION: cestovani
DATE: 2015-01-01
SOURCE: src/content/posts/cestovani-kenya-2012-2015.mdx
BUILT_HTML: dist/cestovani-kenya-2012-2015/index.html
============================================================

Kenya 2012-2015
Video, fotografie

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/wo4F1jfPcY8?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-1.png [/images/cestovani-kenya-2012-2015-obr-1.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-2.png [/images/cestovani-kenya-2012-2015-obr-2.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-3.png [/images/cestovani-kenya-2012-2015-obr-3.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-4.png [/images/cestovani-kenya-2012-2015-obr-4.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-5.png [/images/cestovani-kenya-2012-2015-obr-5.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-6.png [/images/cestovani-kenya-2012-2015-obr-6.png]

[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-7.jpg

[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-8.png [/images/cestovani-kenya-2012-2015-obr-8.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-9.png [/images/cestovani-kenya-2012-2015-obr-9.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-10.png [/images/cestovani-kenya-2012-2015-obr-10.png]

[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-11.png


============================================================
TITLE: Kenya 2012-2015
SLUG: cestovani-kenya-2012-2015
URL: https://vojtamaur.cz/en/cestovani-kenya-2012-2015/
LANGUAGE: en
SECTION: cestovani
DATE: 2015-01-01
SOURCE: src/content/posts/cestovani-kenya-2012-2015.mdx
BUILT_HTML: dist/en/cestovani-kenya-2012-2015/index.html
============================================================

Kenya 2012–2015
Video, photos

[VIDEO EMBED]
SOURCE: https://www.youtube-nocookie.com/embed/wo4F1jfPcY8?rel=0&showinfo=0
NOTE: Embedded or binary content is not represented in this plain-text export.

[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-1.png [/images/cestovani-kenya-2012-2015-obr-1.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-2.png [/images/cestovani-kenya-2012-2015-obr-2.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-3.png [/images/cestovani-kenya-2012-2015-obr-3.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-4.png [/images/cestovani-kenya-2012-2015-obr-4.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-5.png [/images/cestovani-kenya-2012-2015-obr-5.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-6.png [/images/cestovani-kenya-2012-2015-obr-6.png]

[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-7.jpg

[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-8.png [/images/cestovani-kenya-2012-2015-obr-8.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-9.png [/images/cestovani-kenya-2012-2015-obr-9.png]
[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-10.png [/images/cestovani-kenya-2012-2015-obr-10.png]

[MEDIA: image]
FILE: /images/cestovani-kenya-2012-2015-obr-11.png


============================================================
TITLE: Portugalsko 2014
SLUG: cestovani-portugalsko-2014
URL: https://vojtamaur.cz/cestovani-portugalsko-2014/
LANGUAGE: cs
SECTION: cestovani
DATE: 2014-01-01
SOURCE: src/content/posts/cestovani-portugalsko-2014.mdx
BUILT_HTML: dist/cestovani-portugalsko-2014/index.html
============================================================

Portugalsko 2014
Fotografie

[MEDIA: image]
FILE: /images/cestovani-portugalsko-2014-obr-1.png

[MEDIA: image]
FILE: /images/cestovani-portugalsko-2014-obr-2.png [/images/cestovani-portugalsko-2014-obr-2.png]
[MEDIA: image]
FILE: /images/cestovani-portugalsko-2014-obr-3.png [/images/cestovani-portugalsko-2014-obr-3.png]
[MEDIA: image]
FILE: /images/cestovani-portugalsko-2014-obr-4.png [/images/cestovani-portugalsko-2014-obr-4.png]


============================================================
TITLE: Portugalsko 2014
SLUG: cestovani-portugalsko-2014
URL: https://vojtamaur.cz/en/cestovani-portugalsko-2014/
LANGUAGE: en
SECTION: cestovani
DATE: 2014-01-01
SOURCE: src/content/posts/cestovani-portugalsko-2014.mdx
BUILT_HTML: dist/en/cestovani-portugalsko-2014/index.html
============================================================

Portugal 2014
Photos

[MEDIA: image]
FILE: /images/cestovani-portugalsko-2014-obr-1.png

[MEDIA: image]
FILE: /images/cestovani-portugalsko-2014-obr-2.png [/images/cestovani-portugalsko-2014-obr-2.png]
[MEDIA: image]
FILE: /images/cestovani-portugalsko-2014-obr-3.png [/images/cestovani-portugalsko-2014-obr-3.png]
[MEDIA: image]
FILE: /images/cestovani-portugalsko-2014-obr-4.png [/images/cestovani-portugalsko-2014-obr-4.png]


============================================================
TITLE: Izrael 2012
SLUG: cestovani-izrael-2012
URL: https://vojtamaur.cz/cestovani-izrael-2012/
LANGUAGE: cs
SECTION: cestovani
DATE: 2012-01-03
SOURCE: src/content/posts/cestovani-izrael-2012.mdx
BUILT_HTML: dist/cestovani-izrael-2012/index.html
============================================================

Izrael 2012
Fotografie

[MEDIA: image]
FILE: /images/cestovani-izrael-2012-obr-1.jpg

[MEDIA: image]
FILE: /images/cestovani-izrael-2012-obr-2.jpg [/images/cestovani-izrael-2012-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-izrael-2012-obr-3.jpg [/images/cestovani-izrael-2012-obr-3.jpg]
[MEDIA: image]
FILE: /images/cestovani-izrael-2012-obr-4.jpg [/images/cestovani-izrael-2012-obr-4.jpg]

[MEDIA: image]
FILE: /images/cestovani-izrael-2012-obr-5.jpg


============================================================
TITLE: Izrael 2012
SLUG: cestovani-izrael-2012
URL: https://vojtamaur.cz/en/cestovani-izrael-2012/
LANGUAGE: en
SECTION: cestovani
DATE: 2012-01-03
SOURCE: src/content/posts/cestovani-izrael-2012.mdx
BUILT_HTML: dist/en/cestovani-izrael-2012/index.html
============================================================

Israel 2012
Photos

[MEDIA: image]
FILE: /images/cestovani-izrael-2012-obr-1.jpg

[MEDIA: image]
FILE: /images/cestovani-izrael-2012-obr-2.jpg [/images/cestovani-izrael-2012-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-izrael-2012-obr-3.jpg [/images/cestovani-izrael-2012-obr-3.jpg]
[MEDIA: image]
FILE: /images/cestovani-izrael-2012-obr-4.jpg [/images/cestovani-izrael-2012-obr-4.jpg]

[MEDIA: image]
FILE: /images/cestovani-izrael-2012-obr-5.jpg


============================================================
TITLE: Kanárské ostrovy 2012
SLUG: cestovani-kanarske-ostrovy-2012
URL: https://vojtamaur.cz/cestovani-kanarske-ostrovy-2012/
LANGUAGE: cs
SECTION: cestovani
DATE: 2012-01-02
SOURCE: src/content/posts/cestovani-kanarske-ostrovy-2012.mdx
BUILT_HTML: dist/cestovani-kanarske-ostrovy-2012/index.html
============================================================

Kanárské ostrovy 2012
Fotografie

[MEDIA: image]
FILE: /images/cestovani-kanarske-ostrovy-2012-obr-1.jpg

[MEDIA: image]
FILE: /images/cestovani-kanarske-ostrovy-2012-obr-2.jpg [/images/cestovani-kanarske-ostrovy-2012-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-kanarske-ostrovy-2012-obr-3.jpg [/images/cestovani-kanarske-ostrovy-2012-obr-3.jpg]
[MEDIA: image]
FILE: /images/cestovani-kanarske-ostrovy-2012-obr-4.jpg [/images/cestovani-kanarske-ostrovy-2012-obr-4.jpg]


============================================================
TITLE: Kanárské ostrovy 2012
SLUG: cestovani-kanarske-ostrovy-2012
URL: https://vojtamaur.cz/en/cestovani-kanarske-ostrovy-2012/
LANGUAGE: en
SECTION: cestovani
DATE: 2012-01-02
SOURCE: src/content/posts/cestovani-kanarske-ostrovy-2012.mdx
BUILT_HTML: dist/en/cestovani-kanarske-ostrovy-2012/index.html
============================================================

Canary Islands 2012
Photos

[MEDIA: image]
FILE: /images/cestovani-kanarske-ostrovy-2012-obr-1.jpg

[MEDIA: image]
FILE: /images/cestovani-kanarske-ostrovy-2012-obr-2.jpg [/images/cestovani-kanarske-ostrovy-2012-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-kanarske-ostrovy-2012-obr-3.jpg [/images/cestovani-kanarske-ostrovy-2012-obr-3.jpg]
[MEDIA: image]
FILE: /images/cestovani-kanarske-ostrovy-2012-obr-4.jpg [/images/cestovani-kanarske-ostrovy-2012-obr-4.jpg]


============================================================
TITLE: Egypt 2012
SLUG: cestovani-egypt-2012
URL: https://vojtamaur.cz/cestovani-egypt-2012/
LANGUAGE: cs
SECTION: cestovani
DATE: 2012-01-01
SOURCE: src/content/posts/cestovani-egypt-2012.mdx
BUILT_HTML: dist/cestovani-egypt-2012/index.html
============================================================

Egypt 2012
Fotografie

[MEDIA: image]
FILE: /images/cestovani-egypt-2012-obr-1.jpg

[MEDIA: image]
FILE: /images/cestovani-egypt-2012-obr-2.jpg [/images/cestovani-egypt-2012-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-egypt-2012-obr-3.jpg [/images/cestovani-egypt-2012-obr-3.jpg]
[MEDIA: image]
FILE: /images/cestovani-egypt-2012-obr-4.jpg [/images/cestovani-egypt-2012-obr-4.jpg]


============================================================
TITLE: Egypt 2012
SLUG: cestovani-egypt-2012
URL: https://vojtamaur.cz/en/cestovani-egypt-2012/
LANGUAGE: en
SECTION: cestovani
DATE: 2012-01-01
SOURCE: src/content/posts/cestovani-egypt-2012.mdx
BUILT_HTML: dist/en/cestovani-egypt-2012/index.html
============================================================

Egypt 2012
Photos

[MEDIA: image]
FILE: /images/cestovani-egypt-2012-obr-1.jpg

[MEDIA: image]
FILE: /images/cestovani-egypt-2012-obr-2.jpg [/images/cestovani-egypt-2012-obr-2.jpg]
[MEDIA: image]
FILE: /images/cestovani-egypt-2012-obr-3.jpg [/images/cestovani-egypt-2012-obr-3.jpg]
[MEDIA: image]
FILE: /images/cestovani-egypt-2012-obr-4.jpg [/images/cestovani-egypt-2012-obr-4.jpg]


============================================================
TITLE: Plevel
SLUG: plevel
URL: https://vojtamaur.cz/plevel/
LANGUAGE: cs
SECTION: volna-tvorba
DATE: 2008-05-01
SOURCE: src/content/posts/plevel.mdx
BUILT_HTML: dist/plevel/index.html
============================================================

Plevel
květen 2008
Práce z mateřské školky.
Zadání bylo vystřihovat z barevného papíru kvetoucí květiny a složit z nich obrázek.
Místo květin jsem vytvořil plevel.

[MEDIA: image]
FILE: /images/plevel-obr-1.jpg
ALT: plevel


============================================================
TITLE: Plevel
SLUG: plevel
URL: https://vojtamaur.cz/en/plevel/
LANGUAGE: en
SECTION: volna-tvorba
DATE: 2008-05-01
SOURCE: src/content/posts/plevel.mdx
BUILT_HTML: dist/en/plevel/index.html
============================================================

Weeds
May 2008
A project from preschool.
The assignment was to cut out blooming flowers from colored paper and assemble them into a picture.
Instead of flowers, I created weeds.

[MEDIA: image]
FILE: /images/plevel-obr-1.jpg
ALT: plevel

