Tagad — arī ar iespēju komentēt!

Par mācībām

Ja tev ir noklīdis izglītības dokuments — vidusskolas beigšanas atestāts vai kas tamlīdzīgs — un to savajagas, tad tev jāveido dublikāts, un tā ir cimperlīga birokrātija. Redz, dublikāts NAV vienkārša, jauka kopija, nē-nē, tas ir jauns dokuments ar jaunu numuru un, sliktākais, jaunu datumu. Iepriekšējais dokuments pasludināms par nederīgu Latvijas Vēstnesī — man interesanti, kādas varētu būt nelaimes, ko varētu iesākt ar iepriekšējo dokumentu —

tomēr tas, ka šis ir jauns dokuments ar jaunu datumu, tas nāk līdzi ar negaidītām, nevajadzīgām niansēm. Iespējams, es esmu vienīgais, kurš tikko ar to saskārās, tikko dodoties studēt, bet es skolu beidzu sen, 1997. gadā — tas bija pirmais gads, kad tikai sāka parādīties termins “centralizētais eksāmens” — kamēr dublikātā, kuru man sataisīja nesen, ir rakstīts tā izsniegšanas datums — šī gada aprīlis.

Līdz ar to, piesakoties studijām, visas elektroniskās sistēmas sāk bargi bubināt — cienītais, jums taču ir 2023. gada atestāts, un KUR TAD IR VISI CENTRALIZĒTĀ EKSĀMENA REZULTĀTI KO?

Uzņemšanas komisija ar to kaut kā tika galā, kaut arī es būtu teorētiski gatavs, ja nepieciešams, to eksāmenu nolikt kaut rīt (bet tā nevar, un arī nevajag). Ja providencei kāja nepaslīdēs, tad nu es studēšu Cēsīs RTU un pēc kādiem četriem gadiem būšu īsts elektroinženieris! Varēšu likt lietā savu oscilogrāfu, kurš skapī mazliet jau apputējis un rādīt saviem bērniem priekšzīmi, citādi jau dzirdēju viņu runas, ka augstākā izglītība ir meh, ja jau tēvam savos četrdesmit-cik-tur nav, un neko, redz kāds viņš, veiksmīgs un omulīgs.

[TODO: gladiolu-pušķis.jpg]

Stay tuned.

ICFP — jau šai vīkendā!

Berzēju plaukstas no tā, ka jau šopiektdien (arheologiem: 2023. gada septītajā jūlijā) sākas mans gada gaidītākais pasākums: ikgadējās ICFP programmētāju sacensības. Zini dziesmusvētkus? Nu nemaz nav līdzīgi!

Atkal mūsu mazais, draudzīgais koderu bariņš savāksies pie kāda mājās, sasēdīsies pie datoriem un ķersies klāt kāda maģiska, viltīga un neparasta uzdevumu risināšanai, velkot deķīti katrs savas mīļākās valodas virzienā, aģitējot par LISP vai Rust, vai Clojure, vai C#.

Eku, mans ieraksts par pagājušā gada sacensībām, kurās ieguvām 29. vietu.

Šogad galvenais organizators ir kriptogrāfs Eimeriks Fromhercs no Francijas Inria institūta, uhh redzēs, ko viņš šogad būs sagatavojis!

Par jūniju

Jūnijs ir mentālās veselības mēnesis, vasara ir mentālās veselības gadalaiks, un ir pāris lietas, ar kurām es pēdējo laiku pus-regulāri daros, kuras man palīdz apvaldīt trauksmes velniņus — orientēšanās un meditēšanās (roll-eyes-emoji.png) un laikā, kad ārā spīd saule, to izdarīt ir tik daudz vienkāršāk, nekā drēgnā miskastes laikā.

Orientēšanās

Ik nedēļu es dodos uz Cēsu Meridiāna organizētajām sacensībām — un ar karti un kompasu rokās meklēju ceļu cauri lielākiem un mazākiem brikšņiem, mēģinot nesaplēst kārtējo kreklu, un meklējot oranžus karodziņus.

Atšķirībā no visādām baru-mīlošu ektsravertu-sārtvaidžu sacensībām, orientēšanās ir brīnišķīga ar savu individuālismu, jo mežā esmu tehniski viens: pārējie skrējēji skrien savus maršrutus savos laikos, un saskarsme ar viņiem ir minimāla.

Tāpat arī mežā pavadītais laiks ir diezgan mazsvarīgs — un ko gan es vēl varētu teikt, ja reiz es skrienu divas stundas maršrutu, kuru brašākie veic stundā.

Kartes maģija palēnām kļūst skaidrāka, apvidi sāk arvien vairāk izskatīties tā, kā es esmu iztēlojies, un kontrolpunkti arī sāk atrasties arvien precīzāk tur, kur tiem, manuprāt, būtu jābūt.

Waking up

Ar meditēšanos man palīdz Sems Hariss ar Waking Up aplikāciju, reiz piesaistījis manu uzmanību ar savu tāda paša nosaukuma Waking Up grāmatu.

Tās apakšvirsraksts, A guide to spirituality without religion, mani uzrunā, viņa mērķis atdalīt praktisko sevī-ieklausīšanās pusi no ezotēriskajām un mitoloģiskajām pojeboķinām rezonē ar mani un šķiet pilnīgi atbalstāms: reliģija var iet dirst, I’m here for the good stuff.

Bez itin jauka ievada meditēšanā, man aplikācijā ārkārtīgi patīk fīča, kur randomā pa dienu tiek atsūtīts maziņš, uzrunājošs tekstiņš. Piemēram, pirms pāris dienām Sems man ieteica, ka par to uzmācīgo, bet nepieciešamo lietu, kuru es atlieku un izvairos, un kura mani šobrīd biš kaitina — izvairīšanās vietā es varētu piefiksēt šo sajūtu, atpazīt, un mesties tai pretī kā lolotai un aizmirstai izjūtai, pārvērst to par skaidrāko šīsdienas pieredzi, un iedot tai visnedalītāko uzmanību.

Yeeah, bez konteksta, uzrakstīts latviski, izklausās biš pēc drazas, bet dienas vidū šitie tekstiņi no zila gaisa man strādā izcili.

Pagātnes nav, nākotnes nav — viss, kas ir, ir tikai šis mirklis, un tā eksperienci veido tava apziņa, tapēc ir vērts ar tās darbību sapazīties tuvāk, ne tikai laist pašplūsmā, un tā.

Tā nu šie abi divi — patīkams sports un ieklausīšanās sevī omulīgas balss pavadībā — man šobrīd ir feini instrumenti rīku kastē, lai būtu jauda dīlot ar to ikdienu, kad īstas vai iedomātas drazas līmenis pārsniedz normu.

Par Linkleiteru

Karoč, jaunais ilvēk, kurš šo lasa — es te tikko noskatījos Before Sunrise, un tā man iepisa svaigu, aizmirstu (vai varbūt nekad nebijušu) emociju atblāzmu. Šīs filmas izjūtas man spilgti asociējas ar padomjlaiku pseidoreālistisko bērnu kino par gaišo komunismu, draudzību, Timuriem un viņu komandām un citām baltām un pozitīvām lietām — lasot bērnības autoru grāmatas un skatoties jeralašus un bērnu kino, varēja viegli noticēt autoru acīm, ka apkārt patiešām ir šī aprakstītā pasaule, ne padomijas realitāte.

Šī krietni senā (1995! gandrīz trīsdesmit gadi, bet es vienalga esmu uz pusi vecāks) filma ļauj tev izjust kā ir kaut kādā Austrijas vilcienā satikt burvīgu franču meiteni (vai otrādi, ja esi meitene — satikt kinda jauku puisi, kuram sirds ir pareizajā vietā), parādīt sevi no labas puses un pavadīt smeldzīgi jauku nakti, mīļi gvelžot filozofiskas lietas un satuvinoties arvien vairāk. Manā stratā nav ļaužu, kuri spētu izteikties TIK tēlainos un paplašinātos teikumos, bet tapēc tā arī ir fantāzija, kura neizbēgami beigsies no rīta — un, akdies, pavadīt Visu Nakti ārā svešā pilsētā, nē, kad man vajag astoņas stundas ērtā matracī nogulēt kā minimums. Tas nekas.

Un uhhhh, scēna skaņuplašu veikala noklausīšanās istabiņā, tā ir viena no filmu raksturojošākajām un pseidoautentiski romantiskākajām lietām, ko es esmu recently redzējis. Fak, paskaties:

Mani tā satriec sirdī. Un visu filmu šitā. Ārkārtīgi forši. Into mans zelta fonds you go.

Par Binding of Isaac uz ZX Spektruma

Karoč, es te pagāšgad fonā sāku vienu mazu retroprojektu, kurš sasprūda, tapēc šis ir terapeitisks raksts par to — ja arī rakstīšanas gaitā es neatsprūdīšu un tas tā arī paliks pusratā, vismaz paliks kāda pēdiņa manā internetā.

Īsā versija

Es netiku galā ar spraitu mirgošanu savam Binding of Isaac ZX Spektruma demeikam, kuru var pataustīt te — https://spicausis.lv/isaac/ — un bez tā atrisināšanas neredzu jēgu turpināt.

Pre

The Binding of Isaac ir lipīga datorspēle par mazulīti Īzaku, kurā es savā mūžā esmu iegāzis iespaidīgi daudz laika.

Kaut kad 2022. gada sākumā, tērzējot ar draugiem par datorspēļu demeikiem, populāru spēļu reducētām versijām, kuras fani ir izveidojuši priekš nesalīdzināmi vājākām iekārtām — senām konsolēm utml, es uzgāju “Inding of Baasic” — īzaka versiju ZX Spektrumam. Akdies, divas lietas, kuras silda manu sirdi vienā iepakojumā? Ekselenti!

The Binding of Isaac Rebirth uz PC.
Attēls no pushsquare
The Inding of Baasic uz ZX.

Eh, nē, ne pārāk. Šī spēles versija ar baigo estētiku neizceļas. Kaut arī spēles koncepcija ir lieliska — tas IR īzaks uz spektruma — to spēlēt nav kaifīgi un pats Īzaka mazulītis izskatās pēc slima citplanētieša. “ES VARĒTU LABĀK” doma riņķoja man galvā visu laiku, cik es to gāju cauri spektruma emulatorā, lādēdamies uz šāvieniem, kuri lido ne tur, kur vajag, neglītumu un citām kaitinošām lietām.

Tad nu es ķēros klāt misijai uztaisīt tik feinu Īzaku, cik nu ļaus manas prasmes to iestūķēt 48K spektrumā. Dažiem retroistabas biedriem ir īsta, dzīva iekārta, tapēc ir ekspektācija, ka kaut cik jēdzīga rezultāta gadījumā varēs to padzenāt arī uz īstas iekārtas.

Spektruma grafika

Grafika ir šis iekārtas posts. Spektrumam teorētiski ir 256x192 pikseļu ekrāns, kas atbalsta 16 krāsas taču, kas graujoši, tas ir sadalīts 8x8 pikseļu lauciņos, un katrā šādā lauciņā var būt tikai divas dažādas krāsas. Tehniski, ekrāns atmiņā sastāv no divām daļām — 256x192/8=6144 baitiem, kur attēls ir melnbaltā bitu formā, vienā baitā turot astoņus pikselīšus, un 32x24=768 baitu krāsu apraksta. Šis ir galvenais iemesls, kapēc lielākā daļa spektruma spēļu cieš no kantainības, jocīgiem krāsu pleķiem vai cenšas spēles laukumu attēlot divkrāsainu.

Par cik katrā kvadrātiņā var būt tikai divas krāsas, novērtē kā savlaik meistari ir ķimerējušies, šis ir tāds īpaši rūpīgs piemērs. Uzklikšķinot, bildītes atvērsies milzīgākas, bet šis ir 1:1 viss, ar ko šī iekārta strādā, vairāk pikseļu tolaik nebija:

Es sāku darbu grafiskajā editorā, ķēpādamies, līdz panācu kaut kādu skaidrību par to, kā varētu izskatīties dažādi spēles elementi un vispār guvu pārliecību, ka varēšu mazajā punktiņu daudzumā attēlot savas vēlmes. Grafisko ierobežojumu dēļ kurš katrs grafiskais editors neder, pat pikseļu grafikai piemērots, tapēc es biju priecīgs atrast Koloratoru, kurš rakstīts javā un tā autors lieliski saprot, kas šādam editoram nepieciešams. Lūk, unikāls behind the scenes:

Spraiti

Labām konsolēm ir spraitu procesori. Spraitu procesors ir atsevišķa mašinērija konsolē, kura ļauj spēļu autoriem iedot tiem gabaliņu grafikas un pateikt “lūdzu, šis te ir spraits, tā zīmēšana ir tavā ziņā kthx”, un pēc tam, daudz nedomājot, operēt ar šo spraitu kā abstraktu vienību, “pabīdi to pa labi, pa kreisi, utt”, un pašu zīmēšanu, to pārklāšanos uz ekrāna etc dzelži ņem savā ziņā.

Spektrumam nekā tāda nav. Spektrumam nav spraitu procesora, spektrumam ir tikai ekrānam veltīts atmiņas apgabals. Ierakstīsi atmiņas adresē 16384 skaitli “64” — un pirmajā rindā pirmie astoņi pikseļi izskatīsies šitā: “◦•◦◦◦◦◦◦” (jo 64 formātā paskatā ir 01000000), un tas ir vienīgais veids kā darboties ar ekrānu.

Netriviāli, bet ne pārāk sarežģīti ir galu galā uzrakstīt funkciju, kura paņems, teiksim, 2x24 baitu (16x24 pikseļu) spraitu un uzzīmēs to noteiktās koordinātēs. Ja rakstīt asemblerī, tā var būt pat tīri žigla.

Lai īpaši daiļi izskatītos spraiti, kuri mēdz pārklāties, tiem mēdz veidot maskas, un spraitu zīmē divos piegājienos: ar masku notīra zīmējamo vietu, un tad zīmē pašu spraitu, šādi:

Spraits un tā maska
Ja vienkārši zīmēt spraitu pa virsu akmenim, sanāk miskaste
Tapēc, pirms zīmēt spraitu, notīrām maskas vietu. Daile!

Tas viss ir daiļi un jauki. Bet, ja tu atvērsi lapu, kur pārlūka emulatorā ir svaigākā mana rezultāta versija — https://spicausis.lv/isaac/ — tu vari ievērot, ka, kaut arī ķēmiņi apkārt skraida tīri gludi, tomēr tie ļoti mirgo. Tie mirgo tik daudz, ka reizēm mošķi ekrāna augšmalā var pat pilnīgi pazust.

Problēma ir tajā, ka tad, kad ķēmiņi pārvietojas, uz ekrāna kaut kā ir “jāatliek atpakaļ” vieta, kur tie atradās. Skaitļotāja jaudas ne tuvu nepietiek, lai varētu pārzīmēt visu ekrānu no nulles un saglabāt gludu kustību, tapēc jārisina, kā lai panāk rezultātu ar iespējami maz darbībām iespējami ātrākā laikā. Ja kaut ko var nepārzīmēt, tad labāk to arī nepārzīmēt — filozofija, pilnīgi nepiemērota tādai ašai un dinamiskai spēlei, kā īzakam.

Es atjaunoju ar fona attēlu to vietu, kur stāvēja vecais spraits, un zīmēju jaunajā vietā jauno. Nav tā, ka tas būtu lēnu, bet attiecīgā ekrāna vieta var parādīties uz ekrāna tajā brīdī, kad jaunais spraits vēl nav uzzīmēts. Nu fak.

Ko tālāk

Es nez. Es redzu vairākus ceļus, kurus es negribu izvēlēties, jo tas neatbildīs manai kvalitātes vīzijai. Teiksim:

  • samazināt spraitu izmērus, padarot darbības ar tiem krietni ātrākas,
  • neļaut kustīgajiem spraitiem pārklāties ar akmeņiem u.c statisko drazu, lai fons ir pilnīgi tukšs — tas saknē atrisinātu fona atjaunošanu, bet īzaks, kurš stāv akmenim priekšā, ir ikonisks un piedod visam telpiskumu.

Vēl varētu ārkārtīgi sarežģīt spraita zīmēšanas funkciju, lai tā vienlaicīgi, līniju pa līnijai dzēstu spraitu no senās vietas un jauno spraitu zīmētu jaunajā vietā. Tas neatrisinātu problēmu pilnībā, bet panāktu to, ka nav neviena brīža, kad spraits ir pilnībā novākts no ekrāna. Velns, tas ir baigi komplicēti. Es labāk ierakstīšu šito blogā.

***

Oh, ironija par "not dead".

Pētnieciskai interesei, svaigākais eksperimentālais rezultāts pārlūkā pataustāms te: https://spicausis.lv/isaac/

Epilogs

Nu tad, eku-šeku, ar asinskāro koboldu fermotāju noslēdzies ir mans 2022. gada zīmējamais oktobris.

Šis gads bija daudz, daudz vieglāks par iepriekšējiem, pateicoties iespējai dalīties darbos ar čomiem, kuri paši arī zīmēja.

Totāli, divi-trīs cilvēki, kuri nav mamma, kas paši kaut ko uzzīmē un regulāri izsaka atbalstošus vārdus par bildītēm, un norāda lietas, kuras viņiem šķiet izdevušās un paspaida laikus — mazus, draudzīgus “ha, es redzēju, forši, turpini zīmēt” laikus, ne bargus un kritiskus — tas ir praktiski viss, kas nepieciešams, lai šo mēnesi noturētos.

Ar iekšējo motivāciju — kuras, komplektā ar disciplīnu, teorētiski vajadzētu pietikt visam — realitātē pietiek vien kādām pāris nedēļām. Čoma lūgums pēc kāda darba oriģināla ir tāāāāāds baigais būsts, un tas nemaz nav grūti, kad darbi ir nevis digitāli cipariņi, bet taustāmas kartona lapiņas.

Paldies atbalstītājiem, un lai pietiek jaudas radoši muļķoties un dauzīties arī jums!

Inktober 31: Farm


Inktober 30: Gear

Veltījums Arvim un mūsu pārgājienam pa Kullalēdenu. Ceru, ka tev viss labi, un mums vēl izdosies pavazāties — kā senos laikos.


Inktober 29: Uh-oh


Inktober 28: Camping