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

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!

Mājas internetā

Lai regulāri rakstītu, tomēr vajag ērtu vietu, kur viegli ierakstīt savu tekstu, nevis jebatoriju ar mārkdauna failiem un Hugo-šmugo, un skriptiem, un ko tik vēl ne, tapēc izmēģināju kaut kādus ārējos servisus. Regulāri rakstīts sūds vordpresā esot vērtīgāks, nekā reizi gadā apdeitota figņa, un viss šitas. Paraustīju teletaipu, paraustiju write.as, nekas nepatīk, visur kaut kas ne tas — vai nu komentāru sistēma bezjēdzīga, vai raksta krievi un bez maksas — nē paldies, neliešu ūdeni uz viņu vējdzirnavām.

Nu i pie velna.

Adhd

Es nezinu, vai man pa īstam ir uzmanības deficīta sindroms — pēc dažādām pazīmēm, un kā vēl ir, bet tas viss ir pašdiagnostika un paša manīti bagi ar smadzeņu izpildfunkcijas moduli. Jebkurā gadījumā, padomi, kas darbojas īstiem ADHD cietējiem, izrādās krietni noderīgi un strādājoši arī man.

Lasīšana

No raptitudes bloga es paņēm padomu lasīt apzināti un lēni, ļoti lēni un ļoti apzināti, totāli iedziļinoties un izmaļot sevī katru teikumu, un tas manu lasīšanu pēkšņi ir padarījis par ārkārtīgi kaifīgu nodarbi. Tu, visdrīzāk, ka to jau tāpat zini, bet man bija jaunums, cik ļoti teikumos ir rakstītas daudz un dažādas nozīmīgas lietas! Tas, kas man bija līdz šim “lasīšana”, šķiet, vairāk ir bijusi pavirša slīdēšana pa uzrakstītā nospiedumu manā prātā, cik nu es to spēju ātrumā uztvert.

Burbuļpasaule

Es lasīju Cišina Liu, ķīniešu fantastikas autora, krājumu “The Wandering Earth“. Viņš ir savdabīgs scifi autors, kuram diezgan pajāt darbos notiekošo drāmu, bet viņš vairāk fokusējas uz setingiem un idejām, un neiespringst uz ticamiem dialogiem vai tamlīdzīgu literāru estētiku. Var jau būt, ka viņi Ķīnā visi tā uzvedas, anyway, mani iepriecināja stāsts “Mountain” ar tajā apdomāto citplanētīešu pasauli — evolucionējuši metāla un elektronikas robotorganismi, kuri izcēlušies kādas planētas tukšajā vidū, klinšu ieskautā pazemē, tumsā un bezsvarā. Ģeoloģiskā situācija raisa robotu vidū kosmosa teoriju par to, ka viss visums sastāv no blīva akmens, kurā atrodas burbuļi ar dzīvību, un roboti eventuāli tiecas šo pasauli izpētīt.

Lai veiktu izpēti, strauji attīstās akmeņrakšanas tehnika, bet izpēti skarbi ierobežo tas, ka vietas daudzums robokurmju tā jau nelielajā pasaulē ir limitēts — tuneļa racēji darbojas, izgrebtos akmeņus no priekšas novietojot sev aizmugurē, kā tādi caur klintīm peldoši burbulīši, bet, kādai iekārtai ejot bojā, tās tilpums uz mūžīgiem laikiem ir izšķērdēts, un robotiem dzīvei pieejamā pasaule samazinājusies.

Stāsts apskata šīs civilizācijas tieksmi pētīt, un vēlāk — šo izpēti apvaldīt, kad pie hipotēzēm par to, ka akmens slānim ir atrodams gals, krietni jau attīstītie kurmji sāk neprātīgi rakt, radot kaudzes atlūzu, atkritumu un bīstami samazināt dzīvei pieejamo, klaustrofobisko platību.

Lai sasniegtu akmens robežu, robotiem jāiemācās par gravitācijas esamību, un pat akmens robežas sasniegšana tiem nedod acumirkšķīgu gandarījumu, jo sasniegts tiek okeāns ar līdz šim neredzētu, robotiem nāvējošo vielu — ūdeni.

Pilnīgi brīnišķīgs stāsts, ļoti iesaku, turklāt šis man iepatikušais settings tajā ir tikai blakus-stāsts, tā ka nav pat baigais spoileris.

Tulkotāji

Es lasu papīra grāmatu iegāzies savā lasāmajā krēslā, tikai bez pleda un tējas krūzes. Lai varētu turpināt lasīt uz planšetes pirms gulētiešanas, biju novilcis digitālo versiju un, ticis līdz nākamajam stāstam, apmulsu un noskumu, un štrunts ar tulkojumos nesakrītošajiem personvārdiem, paskat, paskat,

Epub no interneta bibliotēkas

Īsta grāmata

Aaargh.

Dealings in Dungeons

«Dealings in Dungeons» is a single-player dungeon-crawling role-playing printable-cuttable card game made by Sophie Houlden. I recommend it, it’s fun!

This post is mostly an extended twitter reply to Sophia with the scattered thoughts about the game.

Rogue’s adventure

The adventure started with Cursed Statue as the very first object to pick up. It gives a -2 to all attack rolls! so it’s a hard mode switch turned on at the very beginning. After surviving the first two fights with such an obstruction we had to decide what to do.

It didn’t occur that you can probably just drop it on the ground anywhere :) It didn’t felt right to retrofix the problem by pretending that it wasn’t picked up in the first place — so the poor rogue was on the quest to find a shopkeeper naive enough to buy it off from him. Many shortcuts were avoided until finally, close to the endgame a shopkeeper in the level 3 agreed to buy the cursed figurine off our hands. Real-life cheering ensued! Many shortcuts were avoided to improve the chance of encountering the shopkeeper.

Rogue got some fairy early on as an ally — but they soon left, disgusted by rogues actions at some dead adventurer’s grave.

Soon another ally was encountered — a greedy merc named Macy, who asked outrageous two gold for each fight, or she’d leave. Although she was sleeping through many of her attacks, she was well worth the price and was with the rogue till the end.

Another ally, a weird doctor with a suitcase full of saws, was very welcome as well, and, like Macy, helped to win the final boss.

DM-ing

Even though the game is solo, having another player to DM the events vastly improves the experience:

  • The player doesn’t get to know the results of their actions beforehand. Will they rest until healed and risk some guaranteed, but unknown danger?
  • The player only needs to care about their stats, I took care of the enemy HP, effects and rolls. We used a bunch of dice to remember the hitpoints of player/allies/enemies and effects (e.g rogue’s evade that works three times was tracked by a dice turned to “3”).
  • As a DM I get to read the monsters flavor text when they appear and creatively explain their action rolls :)
  • The rule “DM has the final word” allows DM to overrule event results, e.g when it is already late, but the player decides that, despite the warnings, he really needs to enter some magical-looking door with loads of illuminated wirings in it.

Notes

  • The level progression was excellent. It was a great choice to have each level their own card sets, and overarching dragon breath quest was a terrific touch (our rogue didn’t manage to find both crystals, though).
  • A clarification of “Turn N” action used in many actions would be welcome. Probably rewording “Turn 4” -> “Skip 3” would help.
  • It wasn’t immediately obvious to us that on enemy cards two rolls may match a single action. After noticing that, it does look obvious in retrospect though and hard to understand how to miss that.
  • I printed the cards on a generic A4 printer paper by using the stock linux option of printing 4x4 pages. This approach got me small white borders around each of the card so cutting that out with xacto+ruler / scissors was twice the work than it would be on a page with no borders between the cards. Even though the playing is comfortable, the the size feels too small as the flavour texts turn a bit too tiny.
  • Magic and Wisdom as the name of the same stat are used interchangeably — it’d probably be better to stick to one.
  • A certain boss action asks to shuffle all of the enemy cards together. I used only the rare enemy set, and it worked great.
  • Rogues evasion trait feels kinda off. There are no downsides in using it as a first combat action, and it was used as the first action always, no exceptions. It backfired insignificantly only once, when the some goblin thief stole a single gold piece and ran away.

Vēl mazliet klusās dabas

Bundža ar indijas riekstiem, citrons, mandarīns un pāris valrieksta drumslas.

Klusā daba

No mācībām, uzdevums klusajā dabā. Pasniedzējs mazliet piepisās kompozīcijai, bet tas nemazina manu ekstātismu par avokado tekstūru.

Lauraissa jaunā planšete un ARV bildītes

Savā pēdējā video senspēļu estēts Lauraiss rāda savu jauniegādāto Silverball spēļu iekārtu, kas reiz izklaidējusi kāda kazino mazāk prasīgos viesus:

Kastē iekšā ir windows 95 un kaudze ar nelielām spēlītēm, kas atgādina par laikiem, kad katram tualetē bija tetris.

Mani visvairāk ieinteresēja Lauraissa izvilktais arhīvs ar spēlīšu izmantotajiem failiem — saiti viņš atstājis video aprakstā, kur to var atrast arī tagad, ja vien iekārtas autori vēl nav to uzgājuši.

Katrai spēlei savā mapītē tipiski ir atrodams pats spēles palaižamais Game.exe fails, skaņas WAV faili un — pats interesantākais — jf.arv fails, kurā atrodami visi attiecīgās spēles attēli.

«Vai tev patīk zābaki gultā?», vaicā teksts iekš latvian/strip.txt

Īsa paburšanās ar failu hex-editorā parādīja, ka ARV failu formāts ir pavisam tipisks “samest kaudzīti failu čupiņā” formāts, tajā stāv visi ilustrāciju faili vienā strīpā bez šifrēšanas, un faila galā ir mazliet sistēmas informācijas ar failu nosaukumiem un garumiem.

Tehniski

Ir pieņemts, ka pirmie faila baiti, tipiski četri, identificē faila formātu. Tā tas ir realizēts visiem populārākajiem arhīviem, attēliem un videofailiem. ARV formāts nav izņēmums, un sākas ar baitiem “1 1 0 0”. Pēc tā nāk četri baiti, kas norāda sapakoto failu skaitu, un pēc tā nākamie četri baiti — pozīciju kaut kur faila beigās, kurā glabājas saraksts ar failu nosaukumiem. Eku, es iekrāsoju:

Failā ir 10 (0x0A) faili, kuru apraksts atrodas, sākot no 258502 baita (0x0003F1C6) . Pēc tam uzreiz aiziet paši attēli

Failu apraksts ir saraksts ar fiksēta izmēra ierakstiem, kur lauvastiesu aizņem faila nosaukumam rezervēta vieta, bet beigās ir atrodams galvenais — atrašanās vieta failā (12, jeb 0xc) un garums (0x7e2d):

No ZWERGE līdz ZAMBIA viss ir faila apraksts

Tiem seko vēl kāda draza — visdrīzāk, kādi faila izveidošanas datums un tamlīdzīgas muļķības, bet tā nav svarīga.

Attēlu rādītājs

Informācijas ir pietiekoši, lai uzrakstītu attēlu atpakotāju un parādītāju. To es arī izdarīju, un tas ir atrodams saitē https://spicausis.lv/arv/

Kodu, tīru javaskriptu, var palasīt githabā, tur nav daudz.

Īstam kaifam nepieciešams lielais silver.zip arhīvs ar visiem attēlu failiņiem, bet lapa uzreiz ielādē arī nelielu attēlu arhīvu, lai nav nu pavisam garlaicīgi.