Inktober 08: Match

Inktobra reditā ir daudz jo daudz lielisku ilustrāciju!

Inktober 07: Trip

Inktobra reditā ir daudz jo daudz lielisku ilustrāciju!

Inktober 06: Bouquet

Inktobra reditā ir daudz jo daudz lielisku ilustrāciju!

Inktober 05: Flame

Lai deg.

Inktobra reditā ir daudz jo daudz lielisku ilustrāciju!

Inktober 04: Scallop

Jūras ķemmītēm vieta ir pasaules šķībākajā miskastes grozā.

Inktobra reditā ir daudz jo daudz lielisku ilustrāciju!

Inktober 03: Bat

Sikspārnis kā jau sikspārnis.

Rīt — “scallop”, kaut kāds ēdams jūras mošķis, ar kuru pilnīgi neesmu pazīstams.

Inktobra reditā ir daudz jo daudz lielisku ilustrāciju!

Inktober 02: Scurry

Spriņģo šodien peles no kuģa. Reditā ir daudz peļu, es arī neesmu diži oriģināls.

Rīt — “bat”, sikspārnis, vai beisbola nūja, vai kas tamlīdzīgs.

Inktobra reditā ir daudz jo daudz lielisku ilustrāciju!

Inktober 01: Gargoyle

Nu, aiziet inktobris, pirmā diena. Kaut kāda vārdnīca saka, ka “gargoyle” latviski ir “gargula”. Paši viņi ir gargulas.

Rīt — scurry, jeb spriņģošana.

Inktobra reditā ir daudz jo daudz lielisku ilustrāciju!

Inktobris 2022

Parīt, pirmajā oktobrī, sākas ikgadējais mēnesi ilgais zīmēšanas maratons “Inktober”. Pasākuma organizētāji jau laicīgi ir publicējuši tēmas, un katrs, kurš piedalās, apņēmīgi cenšas ik dienu uzzīmēt bildīti, nu un iepostēt to savā soctīklā.

Bildītes iecerēts, ka tiek zīmētas ar tinti (tušu, flomāsteriem), bet materiāls nav tik nozīmīgs kā pats process un saistītā sistemātiskā sava laika izbrīvēšana.

Šogad viss sāksies ar gargūlām

Tēmas latviski tulkot, šķiet, nav vērts — angļu valodas vārdi ir lieliski ar savām daudzajām nozīmēm — “match” var būt gan sakritība, gan sporta mačs, gan sērkociņš, un mēdz būt aizrautīgi vēlāk skatīties, kā attiecīgās dienas vārdu ir interpretējuši citi mākslinieki.

Kā jau var nojaust, šogad ķeršos klāt atkal — ideālajā sapņu pasaulē esmu cilvēks, kurš stāsta stāstus un pasakas ar zīmējumiem, un inktobris ik gadu uzjundī šo dzirksti gruzdošajos noguruma pelnos.

Neskatoties uz dzirkstīm, pagājušā gada izklaidi es izlaidu pilnībā, un vēl gadu pirms tam es izturēju trīs nedēļas, noraudamies no spriedzes katru dienu actually veltīt pusotru stundu sēžot, domājot, un radot mazu, dumju, bet pabeigtu zīmējumu, kurš nemaz neatbilst lepnajām fantāzijām manā galvā. Tas nekas, ka maniem zīmējumiem laiski pieklājības pēc sekoja vien pāris tuvējie draugi un kolēģi — strugļi, tie jau ir internāli un tikai savā paša galvā iekšā.

Ja tev šis pasākums šķiet interesants un tu arī domā piedalīties — varbūt iebukņī man tviterī vai epastā? Labprāt sekošu līdzi, un varēsim abpusēji viens otru motivēt.

Tiekamies jau sestdien, un, yeah, pa vidu zīmēšanai, neaizmirsti aiziet nobalsot!

Programmētāju sacensības: ICFP-2022

Nesen beidzās ikgadējās ICFP sacensības — ikgadējs onlaina pasākums, kurā katru gadu vienu nedēļas nogali savā starpā sacenšas ap simts programmētāju grupiņām, risinot kādu viltīgu uzdevumu, un es tajās piedalos ik gadu jau kopš 2010. gada.

Atkarībā no tā gada organizētāju jaudas un uzņēmības, uzdevumi un tos apvijošie stāsti mēdz būt visdažādākie. Pāris gadus atpakaļ organizētāji bija īpaši pacentušies, un mums bija jāuzraksta realizācija no tālas planētas saņemtas ziņas, kuras saturēja specifikāciju īpatnējiem mašīnkodiem, kurus realizējot, radās iespēja iedarbināt citplanētiešu atsūtītu kodu, izveidojot pat galaktisko datora termināli, kuru, pienācīgi izpētot, varēja mesties, ak, kosmiskās kuģu cīņās pret citām komandām.

Šīgada uzdevums nebija tik piņķerīgs, un es varu te pat nodoties nelielām vizualizācijām.

Tātad, uzdevums. Tev tiek iedots 400x400px balts dēlītis un aprakstītas iespējamās darbības, itin vienkāršas, piemēram —

  1. salauzt bloku divos mazākos taisnstūra blokos, laužot to pa vertikāli vai horizontāli,
  2. salauzt bloku četros mazākos taisnstūra blokos,
  3. apvienot divus blakus stāvošus taisnstūra klucīšus,
  4. izkrāsot bloku kādā vienā krāsā.

un uzdevums ir ar šīs darbības uzrakstīt nelielu skriptu, kurš, laužot un krāsojot, izveidos attēlu, iespējami līdzīgu uzdotiem piemēriem.

Daži no uzdevumiem

Problēmas sāls ir tajā, ka katra darbība maksā kādu punktu skaitu, un izmaksas ir atkarīgas no tā, cik mazs ir bloks — jo mazāks bloks, jo proporcionāli dārgāk ir to nokrāsot vai sadalīt mazākos.

Jo mazāku krāso vai salauž, jo grandiozi dārgāk tas maksā: oriģinālā 400x400 bloka nokrāsošana vienā krāsā maksā 7 punktus, kamēr niecīga 1x1px bloka krāsošana izmaksā jau virs miljona.

Neiedziļinoties punktu skaitīšanas detaļās (to var izlasīt uzdevuma aprakstā), miljoni uz pikseļu krāsošanu ir nepieņemami, tāpēc uzdevums ir attēlu ģenerēšana, kuri nav pārāk dārgi izveidē, bet ir pietiekami līdzīgi oriģināliem.

Trīs dienas intensīva kopdarba, un mūsu risinātājs darbojās kaut kā šādi:

Mūsu risinājums Vermēra meitenei ar pērļu kaklarotu. Ar klikšķi aizies animācija

Not good, not terrible, un 29. vieta kopvērtējumā.

Salīdzinājumam, šādi darbojās uzvarētāju algoritms:

Sacensību līderu — Unagi komandas — risinājums šim pašam uzdevumam

Var novērot, kā attēls tiek veidots šaurās strēmelītēs no vienas malas, visu laiku krāsojot maksimāli lielu dēli. Velni!

Kaut kādi atzinumi:

  • Rust ir brīnišķīga valoda, un “cargo doc”, kurš uzģenerē bibliotēku aprakstu, iekļaujot visādus dzīva koda testu piemērus, kļūst par teicamu kopdarbošanās pieredzi, pat strādājot pie viena un tā paša projekta pie blakus galdiem,
  • bugi līdīs tieši tajās vietās un tajās funkcijās, kurās tu neuzrakstīsi testu (doh!),
  • turnīra tabula, kuru regulāri refrešot, ir tāāāāāāds dopamīna avots, no kura ir grūti atrauties sacensību laikā,
  • divdesmit devītā vieta nerulz.

Izmēģini arī tu, sacensības ir baigais kaifs, un varbūt tiekamies nākamgad!